- attempt to have windows screen come to forefront sooner
This commit is contained in:
parent
0e0c43f14a
commit
0309e83791
|
@ -104,7 +104,7 @@ void exceptionMessage(const exception &excp);
|
||||||
string getCommandLine();
|
string getCommandLine();
|
||||||
void init_win32();
|
void init_win32();
|
||||||
void done_win32();
|
void done_win32();
|
||||||
|
void ontop_win32(int width, int height);
|
||||||
|
|
||||||
// The following is used for stacking tracing for windows based exceptions
|
// The following is used for stacking tracing for windows based exceptions
|
||||||
#if !defined(_DEBUG) && !defined(__GNUC__)
|
#if !defined(_DEBUG) && !defined(__GNUC__)
|
||||||
|
|
|
@ -401,6 +401,9 @@ void Window::setStyle(WindowStyle windowStyle) {
|
||||||
|
|
||||||
void Window::create() {
|
void Window::create() {
|
||||||
// nothing here
|
// nothing here
|
||||||
|
#ifdef WIN32
|
||||||
|
ontop_win32(this->w,this->h);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::destroy() {
|
void Window::destroy() {
|
||||||
|
|
|
@ -395,8 +395,7 @@ void init_win32() {
|
||||||
|
|
||||||
SDL_SysWMinfo wminfo;
|
SDL_SysWMinfo wminfo;
|
||||||
SDL_VERSION(&wminfo.version)
|
SDL_VERSION(&wminfo.version)
|
||||||
if (SDL_GetWMInfo(&wminfo) != 1)
|
if (SDL_GetWMInfo(&wminfo) != 1) {
|
||||||
{
|
|
||||||
// error: wrong SDL version
|
// error: wrong SDL version
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -412,11 +411,26 @@ void init_win32() {
|
||||||
::SetClassLong(hwnd, GCL_HICON, iconPtr);
|
::SetClassLong(hwnd, GCL_HICON, iconPtr);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
SetWindowLong(hwnd, GWL_EXSTYLE, 0);
|
ontop_win32(0, 0);
|
||||||
SetWindowLong(hwnd, GWL_STYLE, WS_POPUP | WS_CLIPCHILDREN | WS_CLIPSIBLINGS);
|
|
||||||
SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_FRAMECHANGED | SWP_SHOWWINDOW);
|
|
||||||
//SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, fsWidth, fsHeight, SWP_SHOWWINDOW);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ontop_win32(int width, int height) {
|
||||||
|
SDL_SysWMinfo wminfo;
|
||||||
|
SDL_VERSION(&wminfo.version)
|
||||||
|
if (SDL_GetWMInfo(&wminfo) != 1) {
|
||||||
|
// error: wrong SDL version
|
||||||
|
}
|
||||||
|
|
||||||
|
HWND hwnd = wminfo.window;
|
||||||
|
|
||||||
|
SetWindowLong(hwnd, GWL_EXSTYLE, 0);
|
||||||
|
SetWindowLong(hwnd, GWL_STYLE, WS_POPUP | WS_CLIPCHILDREN | WS_CLIPSIBLINGS);
|
||||||
|
SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_FRAMECHANGED | SWP_SHOWWINDOW);
|
||||||
|
if(width > 0 && height > 0) {
|
||||||
|
SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, width, height, SWP_SHOWWINDOW);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void done_win32() {
|
void done_win32() {
|
||||||
::DestroyIcon(icon);
|
::DestroyIcon(icon);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user