示例#1
0
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);
}
示例#2
0
//
//  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;
}
示例#3
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();
}
示例#4
0
/** @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();
  }
}