From 9250f4d919bc800fe66a50a0874183458e6ebbbe Mon Sep 17 00:00:00 2001 From: crupest Date: Mon, 10 Sep 2018 23:58:34 +0800 Subject: ... --- CruUI/graph/graph.cpp | 32 +------------------------------- CruUI/graph/graph.h | 35 ++++++++++++++++++++++++++++++----- 2 files changed, 31 insertions(+), 36 deletions(-) (limited to 'CruUI/graph') diff --git a/CruUI/graph/graph.cpp b/CruUI/graph/graph.cpp index 4f65a86c..00d5137d 100644 --- a/CruUI/graph/graph.cpp +++ b/CruUI/graph/graph.cpp @@ -200,7 +200,7 @@ namespace cru { return std::make_shared(this, hwnd); } - Dpi GraphManager::GetDpi() + Dpi GraphManager::GetDpi() const { Dpi dpi; d2d1_factory_->GetDesktopDpi(&dpi.x, &dpi.y); @@ -213,35 +213,5 @@ namespace cru { d2d1_factory_->ReloadSystemMetrics() ); } - - inline int DipToPixelInternal(float dip, float dpi) - { - return static_cast(dip * dpi / 96.0f); - } - - int DipToPixelX(float dipX) - { - return DipToPixelInternal(dipX, Application::GetInstance()->GetGraphManager()->GetDpi().x); - } - - int DipToPixelY(float dipY) - { - return DipToPixelInternal(dipY, Application::GetInstance()->GetGraphManager()->GetDpi().y); - } - - inline float DipToPixelInternal(int pixel, float dpi) - { - return static_cast(pixel) * 96.0f / dpi; - } - - float PixelToDipX(int pixelX) - { - return DipToPixelInternal(pixelX, Application::GetInstance()->GetGraphManager()->GetDpi().x); - } - - float PixelToDipY(int pixelY) - { - return DipToPixelInternal(pixelY, Application::GetInstance()->GetGraphManager()->GetDpi().y); - } } } diff --git a/CruUI/graph/graph.h b/CruUI/graph/graph.h index bb1de716..4f0898d6 100644 --- a/CruUI/graph/graph.h +++ b/CruUI/graph/graph.h @@ -107,7 +107,7 @@ namespace cru std::shared_ptr CreateWindowRenderTarget(HWND hwnd); //Get the desktop dpi. - Dpi GetDpi(); + Dpi GetDpi() const; //Reload system metrics including desktop dpi. void ReloadSystemMetrics(); @@ -129,10 +129,35 @@ namespace cru Microsoft::WRL::ComPtr dwrite_system_font_collection_; }; - int DipToPixelX(float dip_x); - int DipToPixelY(float dip_y); - float PixelToDipX(int pixel_x); - float PixelToDipY(int pixel_y); + inline int DipToPixelInternal(const float dip, const float dpi) + { + return static_cast(dip * dpi / 96.0f); + } + + inline int DipToPixelX(const float dip_x) + { + return DipToPixelInternal(dip_x, Application::GetInstance()->GetGraphManager()->GetDpi().x); + } + + inline int DipToPixelY(const float dip_y) + { + return DipToPixelInternal(dip_y, Application::GetInstance()->GetGraphManager()->GetDpi().y); + } + + inline float DipToPixelInternal(const int pixel, const float dpi) + { + return static_cast(pixel) * 96.0f / dpi; + } + + inline float PixelToDipX(const int pixel_x) + { + return DipToPixelInternal(pixel_x, Application::GetInstance()->GetGraphManager()->GetDpi().x); + } + + inline float PixelToDipY(const int pixel_y) + { + return DipToPixelInternal(pixel_y, Application::GetInstance()->GetGraphManager()->GetDpi().y); + } Microsoft::WRL::ComPtr WindowRenderTarget::GetD2DDeviceContext() const { -- cgit v1.2.3