Thanks for the long and detailed mail. The errors you describe below remind me 
of an issue more than halve a year ago, which was fixed. I am very surprised 
that it reappeared, but I also know that Subversion (or its users ;-) can 
sometimes mess things up. Jenkins also show that the OS X 1.3 build fails. I 
will try to fix things in the next days.

screen_xywh is supposed to give you the screen size in pixels of each 
individual attached screen. Fl::w() and h(), x() and y() should give you the 
usable area of the main screen (so for the Mac, that would be the desktop minus 
menu bar and tool bar).

Creating and resizing of a window should not change the size (by FLTK). This is 
because the user could have multiple screens with higher resolution. As long as 
the title bar is visible, the window can still be dragged somewhere else. We do 
not interfere with whatever the window manager will do to the window. So if the 
OS X window manager reduces the image on creation, we will let it do so (I'd 
have to look into the source to verify that this is actually so).

The stroy is different with popup menus where we make sure that the window fits 
and uses only a single screen.

On 12.09.2012, at 00:38, Evan Laforge <qdun...@gmail.com> wrote:

> So in OS X one of the screens has a 22 pixel menu bar.  But due to
> reasons I haven't fully figured out, the maximum vertical size you can
> make a window before it goes off the bottom of the screen is the
> screen height - 44.  I don't have a dock at the bottom, but if I did
> it would probably subtract some more pixels.
> 
> But anyway, when I create an Fl_Window apparently there's code that
> figures how much room is available and reduces the height as
> necessary.  But that same code apparently doesn't apply to the resize
> method, since it will happily resize past the edges of the screen.  It
> seems to make it buggy too, since it can then jump about randomly when
> I drag it.
> 
> So firstly, Fl_Window::resize on the mac should probably clip to the
> screen size as it does on creation, right?
> 
> Secondly, is there a portable way to find out the usable space on a
> screen?  Fl::screen_xywh() just gives the resolution which isn't
> enough to create or maximize windows.
> 
> Thirdly, I wanted to see if the behaviour had been fixed in recent
> versions so I did an svn update, but it looks like the build is
> broken, coincidentally also with a bunch of screen-related symbols:
> 
> Compiling Fl_Native_File_Chooser_MAC.mm...
> Fl_cocoa.mm: In function ‘void -[FLDelegate
> windowDidResignKey:](FLDelegate*, objc_selector*, NSNotification*)’:
> Fl_cocoa.mm:1046: error: ‘class Fl_Window’ has no member named
> ‘fullscreen_active’
> Fl_cocoa.mm: In function ‘void -[FLDelegate
> windowDidBecomeKey:](FLDelegate*, objc_selector*, NSNotification*)’:
> Fl_cocoa.mm:1057: error: ‘class Fl_Window’ has no member named
> ‘fullscreen_active’
> Fl_cocoa.mm: At global scope:
> Fl_cocoa.mm:2039: error: no ‘void Fl_Window::fullscreen_x()’ member
> function declared in class ‘Fl_Window’
> Fl_cocoa.mm: In member function ‘void Fl_Window::fullscreen_x()’:
> Fl_cocoa.mm:2040: error: ‘_set_fullscreen’ was not declared in this scope
> Fl_cocoa.mm:2045: error: ‘FL_FULLSCREEN’ was not declared in this scope
> Fl_cocoa.mm: At global scope:
> Fl_cocoa.mm:2048: error: no ‘void Fl_Window::fullscreen_off_x(int,
> int, int, int)’ member function declared in class ‘Fl_Window’
> Fl_cocoa.mm: In member function ‘void Fl_Window::fullscreen_off_x(int,
> int, int, int)’:
> Fl_cocoa.mm:2049: error: ‘_clear_fullscreen’ was not declared in this scope
> Fl_cocoa.mm:2053: error: ‘FL_FULLSCREEN’ was not declared in this scope
> Fl_cocoa.mm: In static member function ‘static void Fl_X::make(Fl_Window*)’:
> Fl_cocoa.mm:2171: error: ‘class Fl_Window’ has no member named
> ‘fullscreen_active’
> Fl_cocoa.mm: In function ‘NSImage* imageFromText(const char*, int*, int*)’:
> Fl_cocoa.mm:3228: error: ‘create_offscreen_with_alpha’ is not a member
> of ‘Fl_Quartz_Graphics_Driver’
> Fl_cocoa.mm: In function ‘NSImage* defaultDragImage(int*, int*)’:
> Fl_cocoa.mm:3257: error: ‘create_offscreen_with_alpha’ is not a member
> of ‘Fl_Quartz_Graphics_Driver’
> 
> _______________________________________________
> fltk-dev mailing list
> fltk-dev@easysw.com
> http://lists.easysw.com/mailman/listinfo/fltk-dev

_______________________________________________
fltk-dev mailing list
fltk-dev@easysw.com
http://lists.easysw.com/mailman/listinfo/fltk-dev

Reply via email to