diff options
| author | Michael R Sweet <michael.r.sweet@gmail.com> | 1999-02-19 15:34:09 +0000 |
|---|---|---|
| committer | Michael R Sweet <michael.r.sweet@gmail.com> | 1999-02-19 15:34:09 +0000 |
| commit | 1a135b04249a6747ba023af915b6586bef4b41fb (patch) | |
| tree | bdfc95ce2fdf4f0edbdb587ec3f6fa188778821b | |
| parent | d91bdb6022ba1711ec82bce013e17ff4bddb8a2b (diff) | |
Updated Fl::x(), ::y(), ::w(), and ::h() to account for WIN32 trays.
Updated menu code to account for tray locations.
git-svn-id: file:///fltk/svn/fltk/trunk@307 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
| -rw-r--r-- | FL/Fl.H | 9 | ||||
| -rw-r--r-- | src/Fl_Menu.cxx | 8 | ||||
| -rw-r--r-- | src/Fl_win32.cxx | 36 |
3 files changed, 43 insertions, 10 deletions
@@ -1,5 +1,5 @@ // -// "$Id: Fl.H,v 1.6 1999/02/16 21:59:34 mike Exp $" +// "$Id: Fl.H,v 1.7 1999/02/19 15:34:07 mike Exp $" // // Main header file for the Fast Light Tool Kit (FLTK). // @@ -145,8 +145,13 @@ public: static FL_EXPORT void paste(Fl_Widget &receiver); // screen size: +#if defined(WIN32) || defined(__EMX__) + static FL_EXPORT int x(); + static FL_EXPORT int y(); +#else static FL_EXPORT int x() {return 0;} static FL_EXPORT int y() {return 0;} +#endif /* WIN32 || __EMX__ */ static FL_EXPORT int w(); static FL_EXPORT int h(); @@ -199,5 +204,5 @@ public: #endif // -// End of "$Id: Fl.H,v 1.6 1999/02/16 21:59:34 mike Exp $". +// End of "$Id: Fl.H,v 1.7 1999/02/19 15:34:07 mike Exp $". // diff --git a/src/Fl_Menu.cxx b/src/Fl_Menu.cxx index 58048946c..9b14afdd4 100644 --- a/src/Fl_Menu.cxx +++ b/src/Fl_Menu.cxx @@ -1,5 +1,5 @@ // -// "$Id: Fl_Menu.cxx,v 1.15 1999/01/29 07:52:21 bill Exp $" +// "$Id: Fl_Menu.cxx,v 1.16 1999/02/19 15:34:08 mike Exp $" // // Menu code for the Fast Light Tool Kit (FLTK). // @@ -272,9 +272,9 @@ void menuwindow::position(int X, int Y) { // scroll so item i is visible on screen void menuwindow::autoscroll(int i) { int Y = y()+Fl::box_dx(box())+2+i*itemheight; - if (Y <= 0) Y = -Y+10; + if (Y <= Fl::y()) Y = Fl::y()-Y+10; else { - Y = Y+itemheight-Fl::h(); + Y = Y+itemheight-Fl::h()-Fl::y(); if (Y < 0) return; Y = -Y-10; } @@ -710,5 +710,5 @@ const Fl_Menu_Item* Fl_Menu_Item::test_shortcut() const { } // -// End of "$Id: Fl_Menu.cxx,v 1.15 1999/01/29 07:52:21 bill Exp $". +// End of "$Id: Fl_Menu.cxx,v 1.16 1999/02/19 15:34:08 mike Exp $". // diff --git a/src/Fl_win32.cxx b/src/Fl_win32.cxx index f79112a4a..2d08091cb 100644 --- a/src/Fl_win32.cxx +++ b/src/Fl_win32.cxx @@ -1,5 +1,5 @@ // -// "$Id: Fl_win32.cxx,v 1.28 1999/02/16 21:59:51 mike Exp $" +// "$Id: Fl_win32.cxx,v 1.29 1999/02/19 15:34:09 mike Exp $" // // WIN32-specific code for the Fast Light Tool Kit (FLTK). // @@ -156,9 +156,37 @@ double fl_wait(int timeout_flag, double time) { //////////////////////////////////////////////////////////////// -int Fl::h() {return GetSystemMetrics(SM_CYSCREEN);} +int Fl::x() +{ + RECT r; + + SystemParametersInfo(SPI_GETWORKAREA, 0, &r, 0); + return r.left; +} + +int Fl::y() +{ + RECT r; + + SystemParametersInfo(SPI_GETWORKAREA, 0, &r, 0); + return r.top; +} -int Fl::w() {return GetSystemMetrics(SM_CXSCREEN);} +int Fl::h() +{ + RECT r; + + SystemParametersInfo(SPI_GETWORKAREA, 0, &r, 0); + return r.bottom - r.top; +} + +int Fl::w() +{ + RECT r; + + SystemParametersInfo(SPI_GETWORKAREA, 0, &r, 0); + return r.right - r.left; +} void Fl::get_mouse(int &x, int &y) { POINT p; @@ -867,5 +895,5 @@ void Fl_Window::make_current() { } // -// End of "$Id: Fl_win32.cxx,v 1.28 1999/02/16 21:59:51 mike Exp $". +// End of "$Id: Fl_win32.cxx,v 1.29 1999/02/19 15:34:09 mike Exp $". // |
