Polished off the say-nothing-new comments and lines-over-80-columns in
freeglut_window.c There should be no functional changes. git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@278 7f0cb862-5218-0410-a997-914c9d46530a
This commit is contained in:
parent
350de30921
commit
a92096db1a
@ -575,11 +575,8 @@ void fgCloseWindow( SFG_Window* window )
|
|||||||
*/
|
*/
|
||||||
int FGAPIENTRY glutCreateWindow( const char* title )
|
int FGAPIENTRY glutCreateWindow( const char* title )
|
||||||
{
|
{
|
||||||
/*
|
return fgCreateWindow( NULL, title, fgState.Position.X, fgState.Position.Y,
|
||||||
* Create a new window and return its unique ID number
|
fgState.Size.X, fgState.Size.Y, FALSE )->ID;
|
||||||
*/
|
|
||||||
return( fgCreateWindow( NULL, title, fgState.Position.X, fgState.Position.Y,
|
|
||||||
fgState.Size.X, fgState.Size.Y, FALSE )->ID );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -591,26 +588,10 @@ int FGAPIENTRY glutCreateSubWindow( int parentID, int x, int y, int w, int h )
|
|||||||
SFG_Window* parent = NULL;
|
SFG_Window* parent = NULL;
|
||||||
|
|
||||||
freeglut_assert_ready;
|
freeglut_assert_ready;
|
||||||
|
|
||||||
/*
|
|
||||||
* Find a parent to the newly created window...
|
|
||||||
*/
|
|
||||||
parent = fgWindowByID( parentID );
|
parent = fgWindowByID( parentID );
|
||||||
|
|
||||||
/*
|
|
||||||
* Fail if the parent has not been found
|
|
||||||
*/
|
|
||||||
freeglut_return_val_if_fail( parent != NULL, 0 );
|
freeglut_return_val_if_fail( parent != NULL, 0 );
|
||||||
|
|
||||||
/*
|
|
||||||
* Create the new window
|
|
||||||
*/
|
|
||||||
window = fgCreateWindow( parent, "", x, y, w, h, FALSE );
|
window = fgCreateWindow( parent, "", x, y, w, h, FALSE );
|
||||||
|
return window->ID;
|
||||||
/*
|
|
||||||
* Return the new window's ID
|
|
||||||
*/
|
|
||||||
return( window->ID );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -618,25 +599,13 @@ int FGAPIENTRY glutCreateSubWindow( int parentID, int x, int y, int w, int h )
|
|||||||
*/
|
*/
|
||||||
void FGAPIENTRY glutDestroyWindow( int windowID )
|
void FGAPIENTRY glutDestroyWindow( int windowID )
|
||||||
{
|
{
|
||||||
fgExecutionState ExecState = fgState.ExecState ;
|
SFG_Window* window = fgWindowByID( windowID );
|
||||||
|
freeglut_return_if_fail( window != NULL );
|
||||||
/*
|
{
|
||||||
* Grab the freeglut window pointer from the structure
|
fgExecutionState ExecState = fgState.ExecState;
|
||||||
*/
|
fgAddToWindowDestroyList( window, TRUE );
|
||||||
SFG_Window* window = fgWindowByID( windowID );
|
fgState.ExecState = ExecState;
|
||||||
freeglut_return_if_fail( window != NULL );
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* There is a function that performs all needed steps
|
|
||||||
* defined in freeglut_structure.c. Let's use it:
|
|
||||||
*/
|
|
||||||
fgAddToWindowDestroyList( window, TRUE );
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Since the "fgAddToWindowDestroyList" function could easily have set the "ExecState"
|
|
||||||
* to stop, let's set it back to what it was.
|
|
||||||
*/
|
|
||||||
fgState.ExecState = ExecState ;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -646,36 +615,19 @@ void FGAPIENTRY glutSetWindow( int ID )
|
|||||||
{
|
{
|
||||||
SFG_Window* window = NULL;
|
SFG_Window* window = NULL;
|
||||||
|
|
||||||
/*
|
|
||||||
* Make sure we don't get called too early
|
|
||||||
*/
|
|
||||||
freeglut_assert_ready;
|
freeglut_assert_ready;
|
||||||
|
|
||||||
/*
|
|
||||||
* Be wise. Be wise. Be wise. Be quick.
|
|
||||||
*/
|
|
||||||
if( fgStructure.Window != NULL )
|
if( fgStructure.Window != NULL )
|
||||||
if( fgStructure.Window->ID == ID )
|
if( fgStructure.Window->ID == ID )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/*
|
|
||||||
* Now we are sure there is sense in looking for the window
|
|
||||||
*/
|
|
||||||
window = fgWindowByID( ID );
|
window = fgWindowByID( ID );
|
||||||
|
|
||||||
/*
|
|
||||||
* In the case of an utter failure...
|
|
||||||
*/
|
|
||||||
if( window == NULL )
|
if( window == NULL )
|
||||||
{
|
{
|
||||||
/*
|
|
||||||
* ...issue a warning message and keep rolling on
|
|
||||||
*/
|
|
||||||
fgWarning( "glutSetWindow(): window ID %i not found!", ID );
|
fgWarning( "glutSetWindow(): window ID %i not found!", ID );
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
fgSetWindow ( window ) ;
|
fgSetWindow( window ) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -684,22 +636,9 @@ void FGAPIENTRY glutSetWindow( int ID )
|
|||||||
int FGAPIENTRY glutGetWindow( void )
|
int FGAPIENTRY glutGetWindow( void )
|
||||||
{
|
{
|
||||||
freeglut_assert_ready;
|
freeglut_assert_ready;
|
||||||
|
|
||||||
/*
|
|
||||||
* Do we have a current window selected?
|
|
||||||
*/
|
|
||||||
if( fgStructure.Window == NULL )
|
if( fgStructure.Window == NULL )
|
||||||
{
|
return 0;
|
||||||
/*
|
return fgStructure.Window->ID;
|
||||||
* Nope. Return zero to mark the state.
|
|
||||||
*/
|
|
||||||
return( 0 );
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Otherwise, return the ID of the current window
|
|
||||||
*/
|
|
||||||
return( fgStructure.Window->ID );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -707,28 +646,21 @@ int FGAPIENTRY glutGetWindow( void )
|
|||||||
*/
|
*/
|
||||||
void FGAPIENTRY glutShowWindow( void )
|
void FGAPIENTRY glutShowWindow( void )
|
||||||
{
|
{
|
||||||
freeglut_assert_ready; freeglut_assert_window;
|
freeglut_assert_ready;
|
||||||
|
freeglut_assert_window;
|
||||||
|
|
||||||
#if TARGET_HOST_UNIX_X11
|
#if TARGET_HOST_UNIX_X11
|
||||||
/*
|
|
||||||
* Showing the window is done via mapping under X
|
|
||||||
*/
|
|
||||||
XMapWindow( fgDisplay.Display, fgStructure.Window->Window.Handle );
|
XMapWindow( fgDisplay.Display, fgStructure.Window->Window.Handle );
|
||||||
XFlush( fgDisplay.Display );
|
XFlush( fgDisplay.Display );
|
||||||
|
|
||||||
#elif TARGET_HOST_WIN32
|
#elif TARGET_HOST_WIN32
|
||||||
/*
|
|
||||||
* Restore the window's originial position and size
|
ShowWindow( fgStructure.Window->Window.Handle, SW_SHOW );
|
||||||
*/
|
|
||||||
ShowWindow( fgStructure.Window->Window.Handle, SW_SHOW );
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
fgStructure.Window->State.Redisplay = TRUE;
|
||||||
* Since the window is visible, we need to redisplay it ...
|
|
||||||
*/
|
|
||||||
fgStructure.Window->State.Redisplay = TRUE;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -736,45 +668,25 @@ void FGAPIENTRY glutShowWindow( void )
|
|||||||
*/
|
*/
|
||||||
void FGAPIENTRY glutHideWindow( void )
|
void FGAPIENTRY glutHideWindow( void )
|
||||||
{
|
{
|
||||||
freeglut_assert_ready; freeglut_assert_window;
|
freeglut_assert_ready;
|
||||||
|
freeglut_assert_window;
|
||||||
|
|
||||||
#if TARGET_HOST_UNIX_X11
|
#if TARGET_HOST_UNIX_X11
|
||||||
/*
|
|
||||||
* The way we hide a window depends on if we're dealing
|
|
||||||
* with a top-level or children one...
|
|
||||||
*/
|
|
||||||
if( fgStructure.Window->Parent == NULL )
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
* This is a top-level window
|
|
||||||
*/
|
|
||||||
XWithdrawWindow( fgDisplay.Display, fgStructure.Window->Window.Handle, fgDisplay.Screen );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
* Nope, it's a child window
|
|
||||||
*/
|
|
||||||
XUnmapWindow( fgDisplay.Display, fgStructure.Window->Window.Handle );
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
if( fgStructure.Window->Parent == NULL )
|
||||||
* Flush the X state now
|
XWithdrawWindow( fgDisplay.Display, fgStructure.Window->Window.Handle,
|
||||||
*/
|
fgDisplay.Screen );
|
||||||
|
else
|
||||||
|
XUnmapWindow( fgDisplay.Display, fgStructure.Window->Window.Handle );
|
||||||
XFlush( fgDisplay.Display );
|
XFlush( fgDisplay.Display );
|
||||||
|
|
||||||
#elif TARGET_HOST_WIN32
|
#elif TARGET_HOST_WIN32
|
||||||
/*
|
|
||||||
* Hide the window
|
ShowWindow( fgStructure.Window->Window.Handle, SW_HIDE );
|
||||||
*/
|
|
||||||
ShowWindow( fgStructure.Window->Window.Handle, SW_HIDE );
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
fgStructure.Window->State.Redisplay = FALSE;
|
||||||
* Since the window is hidden, we don't need to redisplay it ...
|
|
||||||
*/
|
|
||||||
fgStructure.Window->State.Redisplay = FALSE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -782,28 +694,22 @@ void FGAPIENTRY glutHideWindow( void )
|
|||||||
*/
|
*/
|
||||||
void FGAPIENTRY glutIconifyWindow( void )
|
void FGAPIENTRY glutIconifyWindow( void )
|
||||||
{
|
{
|
||||||
freeglut_assert_ready; freeglut_assert_window;
|
freeglut_assert_ready;
|
||||||
|
freeglut_assert_window;
|
||||||
|
|
||||||
#if TARGET_HOST_UNIX_X11
|
#if TARGET_HOST_UNIX_X11
|
||||||
/*
|
|
||||||
* Iconify the window and flush the X state
|
XIconifyWindow( fgDisplay.Display, fgStructure.Window->Window.Handle,
|
||||||
*/
|
fgDisplay.Screen );
|
||||||
XIconifyWindow( fgDisplay.Display, fgStructure.Window->Window.Handle, fgDisplay.Screen );
|
|
||||||
XFlush( fgDisplay.Display );
|
XFlush( fgDisplay.Display );
|
||||||
|
|
||||||
#elif TARGET_HOST_WIN32
|
#elif TARGET_HOST_WIN32
|
||||||
/*
|
|
||||||
* Minimize the current window (this should be the same as X window iconifying)
|
ShowWindow( fgStructure.Window->Window.Handle, SW_MINIMIZE );
|
||||||
*/
|
|
||||||
ShowWindow( fgStructure.Window->Window.Handle, SW_MINIMIZE );
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
fgStructure.Window->State.Redisplay = FALSE;
|
||||||
* Since the window is just an icon, we don't need to redisplay it ...
|
|
||||||
*/
|
|
||||||
fgStructure.Window->State.Redisplay = FALSE;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -811,48 +717,36 @@ void FGAPIENTRY glutIconifyWindow( void )
|
|||||||
*/
|
*/
|
||||||
void FGAPIENTRY glutSetWindowTitle( const char* title )
|
void FGAPIENTRY glutSetWindowTitle( const char* title )
|
||||||
{
|
{
|
||||||
freeglut_assert_ready; freeglut_assert_window;
|
freeglut_assert_ready;
|
||||||
|
freeglut_assert_window;
|
||||||
/*
|
|
||||||
* Works only for top-level windows
|
|
||||||
*/
|
|
||||||
if( fgStructure.Window->Parent != NULL )
|
if( fgStructure.Window->Parent != NULL )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
#if TARGET_HOST_UNIX_X11
|
#if TARGET_HOST_UNIX_X11
|
||||||
{
|
|
||||||
XTextProperty text;
|
|
||||||
|
|
||||||
/*
|
{
|
||||||
* Prepare the text properties
|
XTextProperty text;
|
||||||
*/
|
|
||||||
text.value = (unsigned char *) title;
|
text.value = (unsigned char *) title;
|
||||||
text.encoding = XA_STRING;
|
text.encoding = XA_STRING;
|
||||||
text.format = 8;
|
text.format = 8;
|
||||||
text.nitems = strlen( title );
|
text.nitems = strlen( title );
|
||||||
|
|
||||||
/*
|
XSetWMName(
|
||||||
* Set the title now
|
fgDisplay.Display,
|
||||||
*/
|
fgStructure.Window->Window.Handle,
|
||||||
XSetWMName(
|
&text
|
||||||
fgDisplay.Display,
|
);
|
||||||
fgStructure.Window->Window.Handle,
|
|
||||||
&text
|
XFlush( fgDisplay.Display );
|
||||||
);
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Have the X display state flushed
|
|
||||||
*/
|
|
||||||
XFlush( fgDisplay.Display );
|
|
||||||
}
|
|
||||||
|
|
||||||
#elif TARGET_HOST_WIN32
|
#elif TARGET_HOST_WIN32
|
||||||
/*
|
|
||||||
* This seems to be a bit easier under Win32
|
SetWindowText( fgStructure.Window->Window.Handle, title );
|
||||||
*/
|
|
||||||
SetWindowText( fgStructure.Window->Window.Handle, title );
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -860,48 +754,37 @@ void FGAPIENTRY glutSetWindowTitle( const char* title )
|
|||||||
*/
|
*/
|
||||||
void FGAPIENTRY glutSetIconTitle( const char* title )
|
void FGAPIENTRY glutSetIconTitle( const char* title )
|
||||||
{
|
{
|
||||||
freeglut_assert_ready; freeglut_assert_window;
|
freeglut_assert_ready;
|
||||||
|
freeglut_assert_window;
|
||||||
|
|
||||||
/*
|
|
||||||
* Works only for top-level windows
|
|
||||||
*/
|
|
||||||
if( fgStructure.Window->Parent != NULL )
|
if( fgStructure.Window->Parent != NULL )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
#if TARGET_HOST_UNIX_X11
|
#if TARGET_HOST_UNIX_X11
|
||||||
{
|
|
||||||
XTextProperty text;
|
|
||||||
|
|
||||||
/*
|
{
|
||||||
* Prepare the text properties
|
XTextProperty text;
|
||||||
*/
|
|
||||||
text.value = (unsigned char *) title;
|
text.value = (unsigned char *) title;
|
||||||
text.encoding = XA_STRING;
|
text.encoding = XA_STRING;
|
||||||
text.format = 8;
|
text.format = 8;
|
||||||
text.nitems = strlen( title );
|
text.nitems = strlen( title );
|
||||||
|
|
||||||
/*
|
XSetWMIconName(
|
||||||
* Set the title now
|
fgDisplay.Display,
|
||||||
*/
|
fgStructure.Window->Window.Handle,
|
||||||
XSetWMIconName(
|
&text
|
||||||
fgDisplay.Display,
|
);
|
||||||
fgStructure.Window->Window.Handle,
|
|
||||||
&text
|
|
||||||
);
|
|
||||||
|
|
||||||
/*
|
XFlush( fgDisplay.Display );
|
||||||
* Have the X display state flushed
|
}
|
||||||
*/
|
|
||||||
XFlush( fgDisplay.Display );
|
|
||||||
}
|
|
||||||
|
|
||||||
#elif TARGET_HOST_WIN32
|
#elif TARGET_HOST_WIN32
|
||||||
/*
|
|
||||||
* This seems to be a bit easier under Win32
|
|
||||||
*/
|
|
||||||
SetWindowText( fgStructure.Window->Window.Handle, title );
|
SetWindowText( fgStructure.Window->Window.Handle, title );
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -909,58 +792,59 @@ void FGAPIENTRY glutSetIconTitle( const char* title )
|
|||||||
*/
|
*/
|
||||||
void FGAPIENTRY glutReshapeWindow( int width, int height )
|
void FGAPIENTRY glutReshapeWindow( int width, int height )
|
||||||
{
|
{
|
||||||
freeglut_assert_ready; freeglut_assert_window;
|
freeglut_assert_ready;
|
||||||
|
freeglut_assert_window;
|
||||||
|
|
||||||
#if TARGET_HOST_UNIX_X11
|
#if TARGET_HOST_UNIX_X11
|
||||||
/*
|
|
||||||
* Resize the window and flush the X state
|
XResizeWindow( fgDisplay.Display, fgStructure.Window->Window.Handle,
|
||||||
*/
|
width, height );
|
||||||
XResizeWindow( fgDisplay.Display, fgStructure.Window->Window.Handle, width, height );
|
|
||||||
XFlush( fgDisplay.Display );
|
XFlush( fgDisplay.Display );
|
||||||
|
|
||||||
#elif TARGET_HOST_WIN32
|
#elif TARGET_HOST_WIN32
|
||||||
{
|
|
||||||
RECT winRect;
|
|
||||||
int x, y ;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* First off, grab the current window's position
|
|
||||||
*/
|
|
||||||
GetWindowRect( fgStructure.Window->Window.Handle, &winRect );
|
|
||||||
x = winRect.left ;
|
|
||||||
y = winRect.top ;
|
|
||||||
|
|
||||||
if ( fgStructure.Window->Parent == NULL ) /* If this is not a subwindow ... */
|
|
||||||
{
|
{
|
||||||
/*
|
RECT winRect;
|
||||||
* Adjust the size of the window to allow for the size of the frame, if we are not a menu
|
int x, y;
|
||||||
*/
|
|
||||||
if ( ! fgStructure.Window->IsMenu )
|
GetWindowRect( fgStructure.Window->Window.Handle, &winRect );
|
||||||
{
|
x = winRect.left;
|
||||||
|
y = winRect.top;
|
||||||
|
|
||||||
|
if ( fgStructure.Window->Parent == NULL )
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
* Adjust the size of the window to allow for the size of the
|
||||||
|
* frame, if we are not a menu
|
||||||
|
*/
|
||||||
|
if ( ! fgStructure.Window->IsMenu )
|
||||||
|
{
|
||||||
width += GetSystemMetrics( SM_CXSIZEFRAME ) * 2;
|
width += GetSystemMetrics( SM_CXSIZEFRAME ) * 2;
|
||||||
height += GetSystemMetrics( SM_CYSIZEFRAME ) * 2 + GetSystemMetrics( SM_CYCAPTION );
|
height += GetSystemMetrics( SM_CYSIZEFRAME ) * 2 +
|
||||||
}
|
GetSystemMetrics( SM_CYCAPTION );
|
||||||
}
|
}
|
||||||
else /* This is a subwindow, get the parent window's position and subtract it off */
|
}
|
||||||
{
|
else
|
||||||
GetWindowRect ( fgStructure.Window->Parent->Window.Handle, &winRect ) ;
|
{
|
||||||
x -= winRect.left + GetSystemMetrics( SM_CXSIZEFRAME ) ;
|
GetWindowRect( fgStructure.Window->Parent->Window.Handle,
|
||||||
y -= winRect.top + GetSystemMetrics( SM_CYSIZEFRAME ) + GetSystemMetrics( SM_CYCAPTION ) ;
|
&winRect );
|
||||||
|
x -= winRect.left + GetSystemMetrics( SM_CXSIZEFRAME );
|
||||||
|
y -= winRect.top + GetSystemMetrics( SM_CYSIZEFRAME ) +
|
||||||
|
GetSystemMetrics( SM_CYCAPTION );
|
||||||
|
}
|
||||||
|
|
||||||
|
MoveWindow(
|
||||||
|
fgStructure.Window->Window.Handle,
|
||||||
|
x,
|
||||||
|
y,
|
||||||
|
width,
|
||||||
|
height,
|
||||||
|
TRUE
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Resize the window, forcing a redraw to happen
|
|
||||||
*/
|
|
||||||
MoveWindow(
|
|
||||||
fgStructure.Window->Window.Handle,
|
|
||||||
x,
|
|
||||||
y,
|
|
||||||
width,
|
|
||||||
height,
|
|
||||||
TRUE
|
|
||||||
);
|
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -968,38 +852,32 @@ void FGAPIENTRY glutReshapeWindow( int width, int height )
|
|||||||
*/
|
*/
|
||||||
void FGAPIENTRY glutPositionWindow( int x, int y )
|
void FGAPIENTRY glutPositionWindow( int x, int y )
|
||||||
{
|
{
|
||||||
freeglut_assert_ready; freeglut_assert_window;
|
freeglut_assert_ready;
|
||||||
|
freeglut_assert_window;
|
||||||
|
|
||||||
#if TARGET_HOST_UNIX_X11
|
#if TARGET_HOST_UNIX_X11
|
||||||
/*
|
|
||||||
* Reposition the window and flush the X state
|
|
||||||
*/
|
|
||||||
XMoveWindow( fgDisplay.Display, fgStructure.Window->Window.Handle, x, y );
|
XMoveWindow( fgDisplay.Display, fgStructure.Window->Window.Handle, x, y );
|
||||||
XFlush( fgDisplay.Display );
|
XFlush( fgDisplay.Display );
|
||||||
|
|
||||||
#elif TARGET_HOST_WIN32
|
#elif TARGET_HOST_WIN32
|
||||||
{
|
|
||||||
RECT winRect;
|
|
||||||
|
|
||||||
/*
|
{
|
||||||
* First off, grab the current window's position
|
RECT winRect;
|
||||||
*/
|
|
||||||
GetWindowRect( fgStructure.Window->Window.Handle, &winRect );
|
GetWindowRect( fgStructure.Window->Window.Handle, &winRect );
|
||||||
|
MoveWindow(
|
||||||
/*
|
fgStructure.Window->Window.Handle,
|
||||||
* Reposition the window, forcing a redraw to happen
|
x,
|
||||||
*/
|
y,
|
||||||
MoveWindow(
|
winRect.right - winRect.left,
|
||||||
fgStructure.Window->Window.Handle,
|
winRect.bottom - winRect.top,
|
||||||
x,
|
TRUE
|
||||||
y,
|
);
|
||||||
winRect.right - winRect.left,
|
}
|
||||||
winRect.bottom - winRect.top,
|
|
||||||
TRUE
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -1007,26 +885,24 @@ void FGAPIENTRY glutPositionWindow( int x, int y )
|
|||||||
*/
|
*/
|
||||||
void FGAPIENTRY glutPushWindow( void )
|
void FGAPIENTRY glutPushWindow( void )
|
||||||
{
|
{
|
||||||
freeglut_assert_ready; freeglut_assert_window;
|
freeglut_assert_ready;
|
||||||
|
freeglut_assert_window;
|
||||||
|
|
||||||
#if TARGET_HOST_UNIX_X11
|
#if TARGET_HOST_UNIX_X11
|
||||||
/*
|
|
||||||
* Lower the current window
|
|
||||||
*/
|
|
||||||
XLowerWindow( fgDisplay.Display, fgStructure.Window->Window.Handle );
|
XLowerWindow( fgDisplay.Display, fgStructure.Window->Window.Handle );
|
||||||
|
|
||||||
#elif TARGET_HOST_WIN32
|
#elif TARGET_HOST_WIN32
|
||||||
/*
|
|
||||||
* Set the new window's Z position, not affecting the rest of the settings:
|
SetWindowPos(
|
||||||
*/
|
fgStructure.Window->Window.Handle,
|
||||||
SetWindowPos(
|
HWND_BOTTOM,
|
||||||
fgStructure.Window->Window.Handle,
|
0, 0, 0, 0,
|
||||||
HWND_BOTTOM,
|
SWP_NOSIZE | SWP_NOMOVE
|
||||||
0, 0, 0, 0,
|
);
|
||||||
SWP_NOSIZE | SWP_NOMOVE
|
|
||||||
);
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -1034,26 +910,24 @@ void FGAPIENTRY glutPushWindow( void )
|
|||||||
*/
|
*/
|
||||||
void FGAPIENTRY glutPopWindow( void )
|
void FGAPIENTRY glutPopWindow( void )
|
||||||
{
|
{
|
||||||
freeglut_assert_ready; freeglut_assert_window;
|
freeglut_assert_ready;
|
||||||
|
freeglut_assert_window;
|
||||||
|
|
||||||
#if TARGET_HOST_UNIX_X11
|
#if TARGET_HOST_UNIX_X11
|
||||||
/*
|
|
||||||
* Raise the current window
|
|
||||||
*/
|
|
||||||
XRaiseWindow( fgDisplay.Display, fgStructure.Window->Window.Handle );
|
XRaiseWindow( fgDisplay.Display, fgStructure.Window->Window.Handle );
|
||||||
|
|
||||||
#elif TARGET_HOST_WIN32
|
#elif TARGET_HOST_WIN32
|
||||||
/*
|
|
||||||
* Set the new window's Z position, not affecting the rest of the settings:
|
SetWindowPos(
|
||||||
*/
|
fgStructure.Window->Window.Handle,
|
||||||
SetWindowPos(
|
HWND_TOP,
|
||||||
fgStructure.Window->Window.Handle,
|
0, 0, 0, 0,
|
||||||
HWND_TOP,
|
SWP_NOSIZE | SWP_NOMOVE
|
||||||
0, 0, 0, 0,
|
);
|
||||||
SWP_NOSIZE | SWP_NOMOVE
|
|
||||||
);
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -1061,7 +935,8 @@ void FGAPIENTRY glutPopWindow( void )
|
|||||||
*/
|
*/
|
||||||
void FGAPIENTRY glutFullScreen( void )
|
void FGAPIENTRY glutFullScreen( void )
|
||||||
{
|
{
|
||||||
freeglut_assert_ready; freeglut_assert_window;
|
freeglut_assert_ready;
|
||||||
|
freeglut_assert_window;
|
||||||
|
|
||||||
#if TARGET_HOST_UNIX_X11
|
#if TARGET_HOST_UNIX_X11
|
||||||
{
|
{
|
||||||
@ -1110,12 +985,12 @@ void FGAPIENTRY glutFullScreen( void )
|
|||||||
*/
|
*/
|
||||||
void* FGAPIENTRY glutGetWindowData( void )
|
void* FGAPIENTRY glutGetWindowData( void )
|
||||||
{
|
{
|
||||||
return(fgStructure.Window->UserData);
|
return fgStructure.Window->UserData;
|
||||||
}
|
}
|
||||||
|
|
||||||
void FGAPIENTRY glutSetWindowData(void* data)
|
void FGAPIENTRY glutSetWindowData(void* data)
|
||||||
{
|
{
|
||||||
fgStructure.Window->UserData=data;
|
fgStructure.Window->UserData=data;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*** END OF FILE ***/
|
/*** END OF FILE ***/
|
||||||
|
Reference in New Issue
Block a user