Ryan Lovelett wrote:
> Well not all is well. I'm back to my head scratching.
> [..] When I throw it over onto Windows though, back to the
> same crazy only redrawing when the mouse is moving issue.
This is a long thread, so I may have missed it, but what
mechanism is being used to break out of the FLTK Fl::run() loop?
Normally some external event like either mouse/keyboard/window event
is needed to break out of the run() loop, or via an FLTK timer,
or Fl::add_fd() [which only works on unix].
If the latter is the issue, win32 does not support select()
on file descriptors the way unix does.
Is your video thing really using 'file descriptors' under windows?
Or are they more likely CreateFile()-style 'handles', which are
not file descriptors, and not compatible with add_fd() and select().
Win32 uses a different mechanism similar to select for 'handles'..
I think *WaitForObject*() or some such. Thing is, I don't think that
can be tied into the FLTK event mechanism cleanly (or something),
so I think that's why it's not currently part of the FLTK API.
(This should maybe be investigated by the FLTK core folks; I would
think there would be a way to implement something like the add_fd()
behavior under windows for win32 handles, and somehow tying that
into the event delivery mechanism, so that 'events' on the handles
can break the event loop and invoke the 'handle' callbacks)
Meanwhile, you might consider crafting your own Fl::run() loop
where you poll for the thing you're waiting for, eg:
while ( 1 ) {
Fl::wait(0.05);
// Do your polling here -- should not block
}
_______________________________________________
fltk mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk