diff options
Diffstat (limited to 'webkit/glue/webkit_glue_win.cc')
-rw-r--r-- | webkit/glue/webkit_glue_win.cc | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/webkit/glue/webkit_glue_win.cc b/webkit/glue/webkit_glue_win.cc new file mode 100644 index 0000000..107a569 --- /dev/null +++ b/webkit/glue/webkit_glue_win.cc @@ -0,0 +1,30 @@ +// Copyright (c) 2008 The Chromium Authors. All rights reserved. Use of this +// source code is governed by a BSD-style license that can be found in the +// LICENSE file. + +#include "webkit/glue/webkit_glue.h" + +namespace webkit_glue { + +ScreenInfo GetScreenInfoHelper(gfx::ViewHandle window) { + HMONITOR monitor = MonitorFromWindow(window, MONITOR_DEFAULTTOPRIMARY); + + MONITORINFOEX monitor_info; + monitor_info.cbSize = sizeof(MONITORINFOEX); + GetMonitorInfo(monitor, &monitor_info); + + DEVMODE dev_mode; + dev_mode.dmSize = sizeof(dev_mode); + dev_mode.dmDriverExtra = 0; + EnumDisplaySettings(monitor_info.szDevice, ENUM_CURRENT_SETTINGS, &dev_mode); + + ScreenInfo results; + results.depth = dev_mode.dmBitsPerPel; + results.depth_per_component = dev_mode.dmBitsPerPel / 3; // Assumes RGB + results.is_monochrome = dev_mode.dmColor == DMCOLOR_MONOCHROME; + results.rect = gfx::Rect(monitor_info.rcMonitor); + results.available_rect = gfx::Rect(monitor_info.rcWork); + return results; +} + +} // namespace webkit_glue |