Author: manolo
Date: 2011-08-08 03:07:03 -0700 (Mon, 08 Aug 2011)
New Revision: 8929
Log:
Fix STR #2695: to scroll menus properly, use Fl::x(),y(),w() and h() functions 
that return
the work area rather than the screen size.

Modified:
   branches/branch-1.3/src/Fl_Menu.cxx

Modified: branches/branch-1.3/src/Fl_Menu.cxx
===================================================================
--- branches/branch-1.3/src/Fl_Menu.cxx 2011-08-07 23:39:59 UTC (rev 8928)
+++ branches/branch-1.3/src/Fl_Menu.cxx 2011-08-08 10:07:03 UTC (rev 8929)
@@ -279,7 +279,10 @@
   int scr_x, scr_y, scr_w, scr_h;
   int tx = X, ty = Y;
 
-  Fl::screen_xywh(scr_x, scr_y, scr_w, scr_h);
+  scr_x = Fl::x();
+  scr_w = Fl::w();
+  scr_y = Fl::y();
+  scr_h = Fl::h();
   if (!right_edge || right_edge > scr_x+scr_w) right_edge = scr_x+scr_w;
 
   end();
@@ -410,10 +413,11 @@
 
 // scroll so item i is visible on screen
 void menuwindow::autoscroll(int n) {
-  int scr_x, scr_y, scr_w, scr_h;
+  int scr_y, scr_h;
   int Y = y()+Fl::box_dx(box())+2+n*itemheight;
 
-  Fl::screen_xywh(scr_x, scr_y, scr_w, scr_h);
+  scr_y = Fl::y();
+  scr_h = Fl::h();
   if (Y <= scr_y) Y = scr_y-Y+10;
   else {
     Y = Y+itemheight-scr_h-scr_y;

_______________________________________________
fltk-commit mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk-commit

Reply via email to