summaryrefslogtreecommitdiff
path: root/test/overlay.cxx
diff options
context:
space:
mode:
authorMichael R Sweet <michael.r.sweet@gmail.com>1998-10-06 18:21:25 +0000
committerMichael R Sweet <michael.r.sweet@gmail.com>1998-10-06 18:21:25 +0000
commitf9039b2ae21988783feae9b362818e7923e82d14 (patch)
tree6d6fe3679d73448758f9794e7d4d4f6b22a4adad /test/overlay.cxx
parent67e89232f9ba067825a158734a09e0fa21aacbe3 (diff)
Initial revision
git-svn-id: file:///fltk/svn/fltk/trunk@2 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'test/overlay.cxx')
-rw-r--r--test/overlay.cxx57
1 files changed, 57 insertions, 0 deletions
diff --git a/test/overlay.cxx b/test/overlay.cxx
new file mode 100644
index 000000000..0fd52315e
--- /dev/null
+++ b/test/overlay.cxx
@@ -0,0 +1,57 @@
+/* Test the Fl_Overlay_Window */
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <FL/Fl.H>
+#include <FL/Fl_Window.H>
+#include <FL/Fl_Overlay_Window.H>
+#include <FL/Fl_Button.H>
+#include <FL/fl_draw.H>
+
+int width=10,height=10;
+
+class overlay : public Fl_Overlay_Window {
+public:
+ overlay(int w,int h) : Fl_Overlay_Window(w,h) {}
+ void draw_overlay();
+};
+
+void overlay::draw_overlay() {
+ fl_color(FL_RED); fl_rect((w()-width)/2,(h()-height)/2,width,height);
+}
+
+overlay *ovl;
+
+void bcb1(Fl_Widget *,void *) {width+=20; ovl->redraw_overlay();}
+void bcb2(Fl_Widget *,void *) {width-=20; ovl->redraw_overlay();}
+void bcb3(Fl_Widget *,void *) {height+=20; ovl->redraw_overlay();}
+void bcb4(Fl_Widget *,void *) {height-=20; ovl->redraw_overlay();}
+
+int arg(int, char **argv, int& i) {
+ Fl_Color n = (Fl_Color)atoi(argv[i]);
+ if (n<=0) return 0;
+ i++;
+ uchar r,g,b;
+ Fl::get_color(n,r,g,b);
+ Fl::set_color(FL_RED,r,g,b);
+ return i;
+}
+
+int main(int argc, char **argv) {
+ int i=0; Fl::args(argc,argv,i,arg);
+ ovl = new overlay(400,400);
+ Fl_Button *b;
+ b = new Fl_Button(50,50,100,100,"wider\n(a)");
+ b->callback(bcb1); b->shortcut('a');
+ b = new Fl_Button(250,50,100,100,"narrower\n(b)");
+ b->callback(bcb2); b->shortcut('b');
+ b = new Fl_Button(50,250,100,100,"taller\n(c)");
+ b->callback(bcb3); b->shortcut('c');
+ b = new Fl_Button(250,250,100,100,"shorter\n(d)");
+ b->callback(bcb4); b->shortcut('d');
+ ovl->resizable(ovl);
+ ovl->end();
+ ovl->show(argc,argv);
+ ovl->redraw_overlay();
+ return Fl::run();
+}