diff options
Diffstat (limited to 'views/window')
-rw-r--r-- | views/window/window.cc | 29 | ||||
-rw-r--r-- | views/window/window.h | 11 |
2 files changed, 34 insertions, 6 deletions
diff --git a/views/window/window.cc b/views/window/window.cc index f2a1501..9f69172 100644 --- a/views/window/window.cc +++ b/views/window/window.cc @@ -14,28 +14,45 @@ namespace views { // static -int Window::GetLocalizedContentsWidth(int col_resource_id) { +int Window::GetLocalizedContentsWidthForFont(int col_resource_id, + const gfx::Font& font) { double chars = 0; StringToDouble(WideToUTF8(l10n_util::GetString(col_resource_id)), &chars); - ResourceBundle& rb = ResourceBundle::GetSharedInstance(); - gfx::Font font = rb.GetFont(ResourceBundle::BaseFont); int width = font.GetExpectedTextWidth(static_cast<int>(chars)); DCHECK(width > 0); return width; } // static -int Window::GetLocalizedContentsHeight(int row_resource_id) { +int Window::GetLocalizedContentsWidth(int col_resource_id) { + return GetLocalizedContentsWidthForFont(col_resource_id, + ResourceBundle::GetSharedInstance().GetFont(ResourceBundle::BaseFont)); +} + +// static +int Window::GetLocalizedContentsHeightForFont(int row_resource_id, + const gfx::Font& font) { double lines = 0; StringToDouble(WideToUTF8(l10n_util::GetString(row_resource_id)), &lines); - ResourceBundle& rb = ResourceBundle::GetSharedInstance(); - gfx::Font font = rb.GetFont(ResourceBundle::BaseFont); int height = static_cast<int>(font.height() * lines); DCHECK(height > 0); return height; } // static +int Window::GetLocalizedContentsHeight(int row_resource_id) { + return GetLocalizedContentsHeightForFont(row_resource_id, + ResourceBundle::GetSharedInstance().GetFont(ResourceBundle::BaseFont)); +} + +gfx::Size Window::GetLocalizedContentsSizeForFont(int col_resource_id, + int row_resource_id, + const gfx::Font& font) { + return gfx::Size(GetLocalizedContentsWidthForFont(col_resource_id, font), + GetLocalizedContentsHeightForFont(row_resource_id, font)); +} + +// static gfx::Size Window::GetLocalizedContentsSize(int col_resource_id, int row_resource_id) { return gfx::Size(GetLocalizedContentsWidth(col_resource_id), diff --git a/views/window/window.h b/views/window/window.h index 8983972..6bb1075 100644 --- a/views/window/window.h +++ b/views/window/window.h @@ -8,6 +8,7 @@ #include "base/gfx/native_widget_types.h" namespace gfx { +class Font; class Rect; class Size; } @@ -42,6 +43,16 @@ class Window { static gfx::Size GetLocalizedContentsSize(int col_resource_id, int row_resource_id); + // These versions of GetLocalizedContents allow a font to be specified + // other than the default UI font. + static int GetLocalizedContentsWidthForFont(int col_resource_id, + const gfx::Font& font); + static int GetLocalizedContentsHeightForFont(int row_resource_id, + const gfx::Font& font); + static gfx::Size GetLocalizedContentsSizeForFont(int col_resource_id, + int row_resource_id, + const gfx::Font& font); + // Closes all windows that aren't identified as "app windows" via // IsAppWindow. Called during application shutdown when the last "app window" // is closed. |