void Application::setWindowCoord(const MyGUI::IntCoord& _value) { #if MYGUI_PLATFORM == MYGUI_PLATFORM_WIN32 if (_value.empty()) return; MyGUI::IntCoord coord = _value; if (coord.left < 0) coord.left = 0; if (coord.top < 0) coord.top = 0; if (coord.width < 640) coord.width = 640; if (coord.height < 480) coord.height = 480; if (coord.width > GetSystemMetrics(SM_CXSCREEN)) coord.width = GetSystemMetrics(SM_CXSCREEN); if (coord.height > GetSystemMetrics(SM_CYSCREEN)) coord.height = GetSystemMetrics(SM_CYSCREEN); if (coord.right() > GetSystemMetrics(SM_CXSCREEN)) coord.left = GetSystemMetrics(SM_CXSCREEN) - coord.width; if (coord.bottom() > GetSystemMetrics(SM_CYSCREEN)) coord.top = GetSystemMetrics(SM_CYSCREEN) - coord.height; size_t handle = getWindowHandle(); ::MoveWindow((HWND)handle, coord.left, coord.top, coord.width, coord.height, true); #endif }
void BaseManager::setWindowCoord(const MyGUI::IntCoord& _value) { if (_value.empty()) return; MyGUI::IntCoord coord = _value; SDL_SetWindowPosition(mWindow, coord.left, coord.top); }