From a413dd4340977f6d96c963c857ac2b0e9e2d7e3b Mon Sep 17 00:00:00 2001 From: Manolo Gouy Date: Thu, 14 Jun 2012 15:09:46 +0000 Subject: Fix STR#2856: extend the fullscreen demo to show screen and work area sizes (cont'd). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9605 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- test/fullscreen.cxx | 37 ++++++++++--------------------------- 1 file changed, 10 insertions(+), 27 deletions(-) (limited to 'test/fullscreen.cxx') diff --git a/test/fullscreen.cxx b/test/fullscreen.cxx index bfc3c296d..c9e4b2908 100644 --- a/test/fullscreen.cxx +++ b/test/fullscreen.cxx @@ -191,9 +191,8 @@ void fullscreen_cb(Fl_Widget *o, void *p) { } } -Fl_Browser *browser; - -void update_screeninfo() { +void update_screeninfo(Fl_Widget *b, void *p) { + Fl_Browser *browser = (Fl_Browser *)p; int x, y, w, h; char line[128]; browser->clear(); @@ -214,22 +213,13 @@ void update_screeninfo() { } } -int screen_changed(int event) -{ - if (event == FL_SCREEN_CONFIGURATION_CHANGED ) { - update_screeninfo(); - return 1; - } - return 0; -} - #include void exit_cb(Fl_Widget *, void *) { exit(0); } -#define NUMB 6 +#define NUMB 7 int twowindow = 0; int initfull = 0; @@ -298,27 +288,20 @@ int main(int argc, char **argv) { eb.callback(exit_cb); y+=30; - browser = new Fl_Browser(50,y,window.w()-60,100); - update_screeninfo(); + Fl_Browser *browser = new Fl_Browser(50,y,window.w()-60,100); + update_screeninfo(0, browser); y+=100; + + Fl_Button update(50,y,window.w()-60,30,"Update"); + update.callback(update_screeninfo, browser); + y+=30; if (initfull) {window.b3->set(); window.b3->do_callback();} window.end(); window.show(argc,argv); - Fl::add_handler(screen_changed); - - int xm, ym, wm, hm, X=0, Y=0; - while (Fl::first_window()) { - Fl::wait(1E10); - Fl::screen_xywh(xm, ym, wm, hm); - if (xm != X || ym != Y) { - X = xm; Y = ym; - update_screeninfo(); - } - } - return 0; + return Fl::run(); } // -- cgit v1.2.3