| Index: win8/metro_driver/direct3d_helper.cc
|
| diff --git a/win8/metro_driver/direct3d_helper.cc b/win8/metro_driver/direct3d_helper.cc
|
| index d0c30cf71219f1d024854e1c25f7f3b4b22291ab..b4da8cd69a0432bde5dfad2fa56963d509017c3c 100644
|
| --- a/win8/metro_driver/direct3d_helper.cc
|
| +++ b/win8/metro_driver/direct3d_helper.cc
|
| @@ -3,16 +3,16 @@
|
| // found in the LICENSE file.
|
|
|
| #include "stdafx.h"
|
| -#include "win8/metro_driver/direct3d_helper.h"
|
| -#include "win8/metro_driver/winrt_utils.h"
|
| -
|
| -#include "base/logging.h"
|
| -#include "base/win/windows_version.h"
|
| -
|
| #include <corewindow.h>
|
| #include <windows.applicationmodel.core.h>
|
| #include <windows.graphics.display.h>
|
|
|
| +#include "win8/metro_driver/direct3d_helper.h"
|
| +#include "base/logging.h"
|
| +#include "base/win/windows_version.h"
|
| +#include "ui/gfx/win/dpi.h"
|
| +#include "win8/metro_driver/winrt_utils.h"
|
| +
|
| namespace {
|
|
|
| void CheckIfFailed(HRESULT hr) {
|
| @@ -21,6 +21,10 @@ void CheckIfFailed(HRESULT hr) {
|
| DVLOG(0) << "Direct3D call failed, hr = " << hr;
|
| }
|
|
|
| +// TODO(ananta)
|
| +// This function does not return the correct value as the IDisplayProperties
|
| +// interface does not work correctly in Windows 8 in metro mode. Needs
|
| +// more investigation.
|
| float GetLogicalDpi() {
|
| mswr::ComPtr<wingfx::Display::IDisplayPropertiesStatics> display_properties;
|
| CheckIfFailed(winrt_utils::CreateActivationFactory(
|
| @@ -32,9 +36,7 @@ float GetLogicalDpi() {
|
| }
|
|
|
| float ConvertDipsToPixels(float dips) {
|
| - static const float dips_per_inch = 96.f;
|
| - float logical_dpi = GetLogicalDpi();
|
| - return floor(dips * logical_dpi / dips_per_inch + 0.5f);
|
| + return floor(dips * gfx::GetDPIScale() + 0.5f);
|
| }
|
|
|
| }
|
|
|