void ForceResize() { RECT rc; GetWindowRect(g_hWnd, &rc); FixAspectRatio(g_hWnd, WMSZ_BOTTOMRIGHT, &rc, Screen_GetRatio()); SetWindowPos(g_hWnd, NULL, 0, 0, rc.right - rc.left, rc.bottom - rc.top, SWP_NOMOVE); }
// // FUNCTION: WndProc(HWND, UINT, WPARAM, LPARAM) // // PURPOSE: Processes messages for the main window. // // WM_COMMAND - process the application menu // WM_PAINT - Paint the main window // WM_DESTROY - post a quit message and return // // LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { int wmId, wmEvent; PAINTSTRUCT ps; HDC hdc; switch (message) { case WM_COMMAND: wmId = LOWORD(wParam); wmEvent = HIWORD(wParam); // Parse the menu selections: switch (wmId) { case IDM_ABOUT: DialogBox(g_hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About); break; case IDM_EXIT: DestroyWindow(hWnd); break; case IDM_SCREEN: Screen_OpenSettingsBox(hWnd); default: return DefWindowProc(hWnd, message, wParam, lParam); } break; case WM_TIMER: switch (wParam) { case REFRESH_TIMER: InvalidateRect(hWnd, NULL, 0); break; } break; case WM_PAINT: hdc = BeginPaint(hWnd, &ps); Screen_Draw(hdc); EndPaint(hWnd, &ps); break; case WM_SIZING: FixAspectRatio(hWnd, (int) wParam, (LPRECT) lParam, Screen_GetRatio()); break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } return 0; }
void __stdcall MainLoop(){ FixAspectRatio(); gCurrentInstance = HasGameQuest(); if(gCurrentInstance && !CanShowPVP()){ RunBossScript(); RunScoreDisplay(); } if(gNewAchievement) RunAchievementPopup(); clock_t dt = clock() - gLastUpdate; if(dt < 2000) return; gLastUpdate = clock(); RunQuestIconScript(); }
/** @brief Set Size (resets the page as well) */ void WindowBox::SetSize(Rect NewSize) { FixAspectRatio(NewSize); // align size to block size NewSize.W = max(NewSize.W, 2 * GRID); NewSize.H = max(NewSize.H, 2 * GRID); const lint newW = NewSize.W - (NewSize.W % GRID); const lint newH = NewSize.H - (NewSize.H % GRID); NewSize.X += (NewSize.W - newW) / 2; NewSize.Y += (NewSize.H - newH) / 2; NewSize.W = newW; NewSize.H = newH; if (Size != NewSize) { Size = NewSize; BuildFrame(); Reset(); } }