Age | Commit message (Collapse) | Author |
|
|
|
* and import standard-translation from climi
* now we can remove the :import-from for polygonalize and
polygon-points and remove the climi:: prefix from
climi::standard-translation.
|
|
* this probably still doesn't work on the beagle backend, but at
least it doesn't break for trying to use things in clim-clx.
|
|
* use the newly fixed with-clx-graphics from the outer level of the
drawing loop to try to fix various drawing problems.
* avoid using two possbily different drawable/gc pairs.
* zero out the mask prior to use
* these fixes make it so that bezier-differences can be drawn in the
listener. They still do not draw correctly in drawing-tests with
CLXv3, but they do draw properly with CLXv3 in the listener, and
now work in both drawing-tests and the listener with the CLX
backend.
|
|
|
|
|
|
* converts the curve to a polygon and uses xlib:draw-lines to draw
the bezier curve/area.
|
|
lots of tab-layout fixes
|
|
|
|
|
|
We want to fill all available space, even if there is no child panes.
|
|
Avoid one edge case with assertion and enables predictably new pages
on whole pane swap.
|
|
|
|
|
|
Fix logical typo.
|
|
Since header is one of sheet-children and is traversed anyway - don't
count it explicitly for the first time.
|
|
|
|
We have assumed, that one page is always enabled if we remove
tab-layout, but it isn't if pages were added one by one with manual
API.
Simplify code to avoid redundant roundtrips between pages and sheets.
|
|
we don't need internal-child-p method to determine if something is a
header or not.
|
|
|
|
Previously we have taken pane width as x2. Since we count from 0,
(width,17) was one more than last pixel on the pane what caused
alloc-space to make the pane bigger. i.e pane width is 5, then last
point is (4,y).
cosmetic: use accessor instead of raw slot value
|
|
|
|
|
|
* and squirrel away the result instead of calling it three times.
|
|
Fix warnings
|
|
* and replace with calls to (coerce ... 'list)
|
|
|
|
|
|
* not just lists. I think this is all done now.
* there are a few corner cases where I turn things into lists to
operate on them that could be made to work with the native
sequence, but what's here should work fine.
|
|
* before, compute-bounding-rectangle* only worked if segments were
stored in a list. Now it works with sequences (such as vectors).
|
|
bezier extension depends on clim-postscript (part of clim-core, which
is more than clim-basic) and mcclim-null.
|
|
|
|
* remove slots that are either unused or poorly used. It's not at all
clear to me that these are supposed to do anything.
|
|
* instead of making all of the points relative to the first point,
implement a more elaborate scheme where the first curve point is
specified in absolute coordinates, the first control point (I'm
making a distinction between the endpoints of the segment, which
are on the curve, and the control points, which influence the shape
of the curve but are not actually on the curve) is specifed in
coordinates relative to the first curve point, then the next
control point is specified in coordinates relative to the next
curve point, which comes next and is specified in coordinates
relative to the first curve point. This all sounds complicated, but
is, I think the simplest way to specify a complex curve in literal
coordinates.
|
|
|
|
* and export it. Takes a relative coord-seq and makes an absolute
coord-seq from it.
|
|
* we weren't taking into account the starting position of the design
and were overtranslating it
|
|
Removes fixme. We don't need epsilon comparison here, because McCLIM
coordinates are based on ratios, which provide exact comparison.
|
|
* remove in-package clim-null, mcclim-render and mcclim-postscript
forms
* modify the mcclim-bezier package definition to import-from the
symbols that we want from clim-null, mcclim-render and
mcclim-postscript.
* add bezier-draw-control-lines and bezier-draw-location-labels
keyword args to %medium-draw-bezier-design and
add *bezier-draw-control-lines* and *bezier-draw-location-labels*
variables for debugging bezier drawing
|
|
|
|
* add methods that specialize on the render-medium-mixin and call the
mcclim-render backend code to do the bezier curve drawing.
|
|
Bezier package and tests
|
|
|
|
* remove climi:: from design and transformation
* use climi-sys:defmethod*
|
|
* and throw it as an error if the opticl:read-image-file call
fails. Yes, there are other reasons this could fail, but this is
less bad than not handling that error at all.
|
|
* and make it handle line widths properly
|
|
|
|
* fix design class-name symbol in transform-region's call to
make-instance
|
|
* doesn't exactly work as advertised yet, but is much less broken now.
|
|
* in the body of the def-grecording macro, I believe we can use the
cached bounding rectangle, rather than recomputing it. This also
has the benefit of making the test case with the bezier-difference
work again.
|