class Fl_Overlay_Window : public Fl_Double_Window
This window provides double buffering and also the ability to draw the
"overlay" which is another picture placed on top of the main image.
The overlay is designed to be a rapidly-changing but simple graphic
such as a mouse selection box.
This will use overlay hardware if available on your X server (look
for a SERVER_OVERLAY_VISUALS
property of the root
window). Currently this has only been tested on SGI equipment.
fl_draw_image() does not work in the overlay hardware.
If no hardware support is found the overlay is simulated by drawing
directly into the on-screen copy of the double-buffered window, and
"erased" by copying the backbuffer over it again. This means the
overlay will blink if you change the image in the window.
Fl_Overlay_Window::Fl_Overlay_Window(int W, int H, const char *l=0);
Fl_Overlay_Window::Fl_Overlay_Window(int X, int Y, int W, int H, const char *l);
Exactly the same constructors are provided as for Fl_Window.
virtual void Fl_Overlay_Window::draw_overlay() = 0;
You must subclass Fl_Overlay_Window and provide this method. It is
just like a draw() method, except it draws the overlay. The overlay
will have already been "cleared" when this is called. You can use any
of the routines described in <FL/fl_draw.H>, or X
directly (use fl_xpixel() to get X colors).
void Fl_Overlay_Window::redraw_overlay();
Call this to indicate that the overlay data has changed and needs to
be redrawn. The overlay will be clear until the first time this is
called, so if you want an initial display you must call this after
calling show().