A lot of it was due to Forms compatibility, as it did it this way.

There was an attempt to fix this in fltk2.

On 06/10/2011 12:34 PM, Greg Ercolano wrote:
> On 06/10/11 11:54, Evan Laforge wrote:
>>> ..we probably need to go into some details in the "Drawing Things in FLTK"
>>> section about how the coordinate space works for widgets vs. windows.
>>
>> Speaking of which, why is it that way in the first place?
>
>       I think it was mainly a speed issue, to allow widget drawing
>       code to go as fast as possible, and not have to worry about
>       one widget relative to another in large hierarchies.
>
>       FLTK is basically exposing the way drawing is actually
>       handled by the base libraries (xlib, win32) where all coords
>       are relative to the corner of the window.
>
>       I believe Bill cited this in his original documentation
>       which may not have survived to the to the current incarnation
>       of the docs, not sure. (Perhaps he went into these details
>       in old forum postings, not sure)
>
>       It was, IIRC, a design issue where he wanted drawing
>       to go as fast as possible (the F in FLTK), and not get
>       caught up in having to convert offsets for all x/y coords
>       used in drawing, and having to maintain these offsets
>       throughout the widget hierarchy when widgets are moved around.
>
>       I recall he even went into details that the widget would
>       know best about how to handle drawing details esp. in the
>       context of resizes, or during resizing/repositioning of
>       widgets.
>
>       I believe he also cited the devil was in the details
>       of maintaining these offsets in the context of widget
>       resizing, and could cause the internals of the widget lib
>       to take long excursions to maintain these values.
>
>       All of this was apparently avoided by simply not trying
>       to do all that work by default, and simply expose the
>       way the window manager presented the coordinate space
>       to all widgets, where their own logic could determine
>       the best way to handle drawing.
>
>       Bill can probably put it in better words, as I recall
>       it was something he did very much on purpose in the
>       original FLTK design. Hope I'm remembering this correctly..!

_______________________________________________
fltk-dev mailing list
fltk-dev@easysw.com
http://lists.easysw.com/mailman/listinfo/fltk-dev

Reply via email to