FLTK logo

STR #931

FLTK matrix user chat room
(using Element browser app)   FLTK gitter user chat room   GitHub FLTK Project   FLTK News RSS Feed  
  FLTK Apps      FLTK Library      Forums      Links     Login 
 Home  |  Articles & FAQs  |  Bugs & Features  |  Documentation  |  Download  |  Screenshots  ]
 

Return to Bugs & Features | Roadmap 1.1 | SVN ⇄ GIT ]

STR #931

Application:FLTK Library
Status:1 - Closed w/Resolution
Priority:2 - Low, e.g. a documentation error or undocumented side-effect
Scope:2 - Specific to an operating system
Subsystem:Documentation
Summary:Win32 and multiple monitor positioning
Version:1.1.6
Created By:dicuccio.comcast
Assigned To:mike
Fix Version:1.1-current (SVN: v4471)
Update Notification:

Receive EMails Don't Receive EMails

Trouble Report Files:


Name/Time/Date Filename/Size  
 
#1 dicuccio.comcast
11:29 Jul 06, 2005
flx-win32-1.1.6.patch
1k
 
     

Trouble Report Comments:


Name/Time/Date Text  
 
#1 dicuccio.comcast
11:29 Jul 06, 2005
Fl::x() / Fl::y() / Fl::w() / Fl::h() do not work well in multi-monitor setups.  Since these are used to clamp offsets for windows, this leads to a number of serious problems with hanging/detached windows when multiple monitors are used in Windows.  The attacked patch changes the implementation of these functions on Windows to use GetSystemMetrics() to return the sizes of the virtual screen.  
 
#2 matt
12:21 Jul 24, 2005
Use the function below. It returns the correct bounding box for the screen that contains mx, my

// Return the screen bounding rect for the given mouse position...
void Fl::screen_xywh(int &x, int &y, int &w, int &h, int mx, int my) {

or this one to get the rectangle of every screen:

// Return the screen bounding rect for the given screen...
void Fl::screen_xywh(int &x, int &y, int &w, int &h, int n) {
 
 
#3 matt
12:22 Jul 24, 2005
I leave this STR open because these function must still be documented, IIRC.  
 
#4 dicuccio.comcast
18:10 Jul 24, 2005
The point is not that I can't get the size of the window.  The point is that the constructor of Fl_Window will place a window in a box bounded by Fl::x(), Fl::y(), Fl::w(), and Fl::h().  I can fix this by updating the position after creating each and every window I want to create, or fix Fl_Window's constructor, or fix Fl::[x,y,w,h]().  The last option offers no side-effects to FLTK, and solves the problem for all cases.  
 
#5 mike
17:01 Aug 07, 2005
Documentation updated in Subversion repository.

FWIW, FLTK 1.1.7 uses a new screen API to handle multi-monitor configurations properly...
 
     

Return to Bugs & Features ]

 
 

Comments are owned by the poster. All other content is copyright 1998-2024 by Bill Spitzak and others. This project is hosted by The FLTK Team. Please report site problems to 'erco@seriss.com'.