summaryrefslogtreecommitdiff
path: root/FL/Fl_Overlay_Window.H
diff options
context:
space:
mode:
Diffstat (limited to 'FL/Fl_Overlay_Window.H')
-rw-r--r--FL/Fl_Overlay_Window.H31
1 files changed, 31 insertions, 0 deletions
diff --git a/FL/Fl_Overlay_Window.H b/FL/Fl_Overlay_Window.H
new file mode 100644
index 000000000..76bf5bcf3
--- /dev/null
+++ b/FL/Fl_Overlay_Window.H
@@ -0,0 +1,31 @@
+// Fl_Overlay_Window.H
+
+// A window using double-buffering and able to draw an overlay
+// on top of that. Uses the hardware to draw the overlay if
+// possible, otherwise it just draws in the front buffer.
+
+#ifndef Fl_Overlay_Window_H
+#define Fl_Overlay_Window_H
+
+#include "Fl_Double_Window.H"
+
+class Fl_Overlay_Window : public Fl_Double_Window {
+ friend class _Fl_Overlay;
+ virtual void draw_overlay() = 0;
+ Fl_Window *overlay_;
+public:
+ void show();
+ void flush();
+ void hide();
+ void resize(int,int,int,int);
+ ~Fl_Overlay_Window();
+ int can_do_overlay();
+ void redraw_overlay();
+ Fl_Overlay_Window(int W, int H, const char *l=0)
+ : Fl_Double_Window(W,H,l) {overlay_ = 0;}
+ Fl_Overlay_Window(int X, int Y, int W, int H, const char *l=0)
+ : Fl_Double_Window(X,Y,W,H,l) {overlay_ = 0;}
+ void show(int a, char **b) {Fl_Double_Window::show(a,b);}
+};
+
+#endif