| Index: plugin/win/main_win.cc
|
| ===================================================================
|
| --- plugin/win/main_win.cc (revision 38988)
|
| +++ plugin/win/main_win.cc (working copy)
|
| @@ -720,6 +720,25 @@
|
| ::ShowWindow(content_hwnd, SW_SHOW);
|
| }
|
|
|
| +// Get the screen rect of the monitor the window is on, in virtual screen
|
| +// coordinates.
|
| +// Return true on success, false on failure.
|
| +bool GetScreenRect(HWND hwnd,
|
| + RECT* rect) {
|
| + HMONITOR monitor = MonitorFromWindow(hwnd, MONITOR_DEFAULTTONULL);
|
| + if (monitor == NULL)
|
| + return false;
|
| +
|
| + MONITORINFO monitor_info;
|
| + monitor_info.cbSize = sizeof(monitor_info);
|
| + if (GetMonitorInfo(monitor, &monitor_info)) {
|
| + *rect = monitor_info.rcMonitor;
|
| + return true;
|
| + } else {
|
| + return false;
|
| + }
|
| +}
|
| +
|
| } // namespace anonymous
|
|
|
| #if defined(O3D_INTERNAL_PLUGIN)
|
| @@ -958,10 +977,12 @@
|
| // We need to resize the full-screen window to the desired size of
|
| // the display mode early, before calling
|
| // Renderer::GoFullscreen().
|
| - o3d::DisplayMode mode;
|
| - if (GetDisplayMode(fullscreen_region_mode_id_, &mode)) {
|
| - ::SetWindowPos(GetContentHWnd(), HWND_TOP, 0, 0,
|
| - mode.width(), mode.height(),
|
| + RECT screen_rect;
|
| + if (GetScreenRect(GetPluginHWnd(), &screen_rect)) {
|
| + ::SetWindowPos(GetContentHWnd(), HWND_TOP,
|
| + screen_rect.left, screen_rect.top,
|
| + screen_rect.right - screen_rect.left + 1,
|
| + screen_rect.bottom - screen_rect.top + 1,
|
| SWP_NOZORDER | SWP_NOREPOSITION | SWP_ASYNCWINDOWPOS);
|
| DisplayWindowWindows display;
|
| display.set_hwnd(GetContentHWnd());
|
|
|