Am 04.06.09, 23:08 -0700 schrieb Loic:
> I'd like to know how to have a real fullscreen mode under linux...
> (I mean without the "start" bar)
There are several areas defined. Ian pointed you to the comlete display
area typically covered by the root window. In a Multi monitor setup you
might want the screen area. That should be the per device area. Following
code will supply this under Linux. It is copied from Oyranos'
oyranos_monitor.c (newBSD).
Substitute disp->display with fl_display and ignore disp otherwise.
# if HAVE_XIN
if( oyMonitor_infoSource_( disp ) == oyX11INFO_SOURCE_XINERAMA )
{
int n_scr_info = 0;
XineramaScreenInfo *scr_info = XineramaQueryScreens( disp->display,
&n_scr_info );
oyPostAllocHelper_m_(scr_info, n_scr_info, return 1 )
if( !scr_info )
{
WARNc_S(_("Xinerama request failed"))
return 1;
}
{
disp->geo[2] = scr_info[screen].x_org;
disp->geo[3] = scr_info[screen].y_org;
disp->geo[4] = scr_info[screen].width;
disp->geo[5] = scr_info[screen].height;
}
XFree( scr_info );
}
# endif /* HAVE_XIN */
if( oyMonitor_infoSource_( disp ) == oyX11INFO_SOURCE_SCREEN )
{
Screen *scr = XScreenOfDisplay( disp->display, screen );
oyPostAllocHelper_m_(scr, 1, WARNc_S(_("open X Screen failed")); return 1;)
{
disp->geo[2] = 0;
disp->geo[3] = 0;
disp->geo[4] = XWidthOfScreen( scr );
disp->geo[5] = XHeightOfScreen( scr );
disp->screen = screen;
}
}
For osX:
CGDirectDisplayID display = get_from_somwhere();
CGRect r = CGRectNull;
r = CGDisplayBounds( display );
disp->geo[2] = r.origin.x;
disp->geo[3] = r.origin.y;
disp->geo[4] = r.size.width;
disp->geo[5] = r.size.height;
kind regards
Kai-Uwe Behrmann
--
developing for colour management
www.behrmann.name + www.oyranos.org
_______________________________________________
fltk mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk