Ejemplo n.º 1
0
LRESULT WindowMonitor::HandleMessage(UINT message, WPARAM wParam, LPARAM) {
  switch (message) {
  case LM_REDRAW:
    UpdateWindowData((HWND)wParam);
    return 0;

  case LM_WINDOWCREATED:
    UpdateWindowData((HWND)wParam);
    return 0;

  case LM_WINDOWDESTROYED:
    sWindowData.erase((HWND)wParam);
    return 0;

  case LM_WINDOWREPLACED:
    UpdateWindowData((HWND)wParam);
    return 0;

  case LM_WINDOWREPLACING:
    sWindowData.erase((HWND)wParam);
    return 0;

  default:
    assert(false); // We should handle every message sent to us.
    return 0;
  }
}
Ejemplo n.º 2
0
void Camera::Update(void)
{
	UpdateWindowData(GAME->WindowWidth,GAME->WindowHeight);
	
	Matrix::CreatePerspective(Math::PiOver4,((float)(windowx)) / windowy, 1.0f, 40000.f, &PerspectiveMat);

	UpdateOrient();
	UpdatePosition();
}
Ejemplo n.º 3
0
EXPORT_CDECL(HICON) GetWindowIcon(HWND window, UINT32 size) {
  WindowMap::iterator iter = sWindowData.find(window);
  if (iter == sWindowData.end()) {
    if (IsTaskbarWindow(window)) {
      UpdateWindowData(window);
    }
    return nullptr;
  }
  if (size > 20 && iter->second.largeIcon != nullptr) {
    return iter->second.largeIcon;
  }
  return iter->second.smallIcon;
}
Ejemplo n.º 4
0
void WindowMonitor::RunWindowMaintenance() {
  for (WindowMap::iterator iter = sWindowData.begin(); iter != sWindowData.end();) {
    if (!IsTaskbarWindow(iter->first)) {
      iter = sWindowData.erase(iter);
      continue;
    }

    if (iter->second.updateDuringMaintenance) {
      iter->second.updateDuringMaintenance = false;
      UpdateWindowData(iter->first);
    }

    ++iter;
  }
}