I've just been upgrading my app to fltk 1.3 with cocoa... great work,
and thanks for doing this!
That said, I was getting messed up drawing, and I traced it to the
following code:
DEBUG("BEFORE " << draw_area);
fl_push_clip(draw_area.x, draw_area.y, draw_area.w, draw_area.h);
fl_clip_box(0, 0, 9999, 9999, draw_area.x, draw_area.y,
draw_area.w, draw_area.h);
DEBUG("AFTER " << draw_area);
The result is that the width and height come out one pixel less than
they went in. I also had a problem where draw_area.h == 0 wasn't
clipping at all. So I checked out Fl_cocoa.mm:MacRectRegionIntersect
and it looks like CGRectIntersection is indeed chopping off the width
and height.
I'm suspicious that fltk's idea of a rectangle is inclusive of the
right and bottom edge, while OS X's idea is exclusive. The OS X doc I
could find didn't say one way or the other.
Also, the next line:
if (!CGRectIsEmpty(test)) outr->rects[j++] = test;
Why ignore an empty rect? If I want to push a disjoint or zero sized
clip, I would expect everything to be clipped out.
_______________________________________________
fltk-dev mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk-dev