Commit 67d16dde authored by Alexandre Julliard's avatar Alexandre Julliard

winex11: Move the screen saver support to a new SystemParametersInfo entry point.

parent 13fbce56
...@@ -19,8 +19,6 @@ ...@@ -19,8 +19,6 @@
@ cdecl GetCursorPos(ptr) X11DRV_GetCursorPos @ cdecl GetCursorPos(ptr) X11DRV_GetCursorPos
@ cdecl SetCursorPos(long long) X11DRV_SetCursorPos @ cdecl SetCursorPos(long long) X11DRV_SetCursorPos
@ cdecl ClipCursor(ptr) X11DRV_ClipCursor @ cdecl ClipCursor(ptr) X11DRV_ClipCursor
@ cdecl GetScreenSaveActive() X11DRV_GetScreenSaveActive
@ cdecl SetScreenSaveActive(long) X11DRV_SetScreenSaveActive
@ cdecl ChangeDisplaySettingsEx(ptr ptr long long long) X11DRV_ChangeDisplaySettingsEx @ cdecl ChangeDisplaySettingsEx(ptr ptr long long long) X11DRV_ChangeDisplaySettingsEx
@ cdecl EnumDisplayMonitors(long ptr ptr long) X11DRV_EnumDisplayMonitors @ cdecl EnumDisplayMonitors(long ptr ptr long) X11DRV_EnumDisplayMonitors
@ cdecl EnumDisplaySettingsEx(ptr long ptr long) X11DRV_EnumDisplaySettingsEx @ cdecl EnumDisplaySettingsEx(ptr long ptr long) X11DRV_EnumDisplaySettingsEx
...@@ -54,6 +52,7 @@ ...@@ -54,6 +52,7 @@
@ cdecl WindowMessage(long long long long) X11DRV_WindowMessage @ cdecl WindowMessage(long long long long) X11DRV_WindowMessage
@ cdecl WindowPosChanging(long long long ptr ptr ptr ptr) X11DRV_WindowPosChanging @ cdecl WindowPosChanging(long long long ptr ptr ptr ptr) X11DRV_WindowPosChanging
@ cdecl WindowPosChanged(long long long ptr ptr ptr ptr ptr) X11DRV_WindowPosChanged @ cdecl WindowPosChanged(long long long ptr ptr ptr ptr ptr) X11DRV_WindowPosChanged
@ cdecl SystemParametersInfo(long long ptr long) X11DRV_SystemParametersInfo
# WinTab32 # WinTab32
@ cdecl AttachEventQueueToTablet(long) X11DRV_AttachEventQueueToTablet @ cdecl AttachEventQueueToTablet(long) X11DRV_AttachEventQueueToTablet
......
...@@ -696,35 +696,39 @@ BOOL WINAPI DllMain( HINSTANCE hinst, DWORD reason, LPVOID reserved ) ...@@ -696,35 +696,39 @@ BOOL WINAPI DllMain( HINSTANCE hinst, DWORD reason, LPVOID reserved )
return ret; return ret;
} }
/***********************************************************************
* GetScreenSaveActive (X11DRV.@)
*
* Returns the active status of the screen saver
*/
BOOL CDECL X11DRV_GetScreenSaveActive(void)
{
int timeout, temp;
XGetScreenSaver(gdi_display, &timeout, &temp, &temp, &temp);
return timeout != 0;
}
/*********************************************************************** /***********************************************************************
* SetScreenSaveActive (X11DRV.@) * SystemParametersInfo (X11DRV.@)
*
* Activate/Deactivate the screen saver
*/ */
void CDECL X11DRV_SetScreenSaveActive(BOOL bActivate) BOOL CDECL X11DRV_SystemParametersInfo( UINT action, UINT int_param, void *ptr_param, UINT flags )
{ {
int timeout, interval, prefer_blanking, allow_exposures; switch (action)
static int last_timeout = 15 * 60; {
case SPI_GETSCREENSAVEACTIVE:
XLockDisplay( gdi_display ); if (ptr_param)
XGetScreenSaver(gdi_display, &timeout, &interval, &prefer_blanking, {
&allow_exposures); int timeout, temp;
if (timeout) last_timeout = timeout; XGetScreenSaver(gdi_display, &timeout, &temp, &temp, &temp);
*(BOOL *)ptr_param = timeout != 0;
timeout = bActivate ? last_timeout : 0; return TRUE;
XSetScreenSaver(gdi_display, timeout, interval, prefer_blanking, }
allow_exposures); break;
XUnlockDisplay( gdi_display ); case SPI_SETSCREENSAVEACTIVE:
{
int timeout, interval, prefer_blanking, allow_exposures;
static int last_timeout = 15 * 60;
XLockDisplay( gdi_display );
XGetScreenSaver(gdi_display, &timeout, &interval, &prefer_blanking,
&allow_exposures);
if (timeout) last_timeout = timeout;
timeout = int_param ? last_timeout : 0;
XSetScreenSaver(gdi_display, timeout, interval, prefer_blanking,
allow_exposures);
XUnlockDisplay( gdi_display );
}
break;
}
return FALSE; /* let user32 handle it */
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment