summaryrefslogtreecommitdiffstats
path: root/views
diff options
context:
space:
mode:
authornick@chromium.org <nick@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-08 22:52:45 +0000
committernick@chromium.org <nick@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-08 22:52:45 +0000
commit24f8371b3070f2774830e44b5772297212da2611 (patch)
tree4b4e127f1b1278c9916bb87a39fbc0d6002cde57 /views
parent110ebc78d40495b6cca036b7f04c13899a91a21b (diff)
downloadchromium_src-24f8371b3070f2774830e44b5772297212da2611.zip
chromium_src-24f8371b3070f2774830e44b5772297212da2611.tar.gz
chromium_src-24f8371b3070f2774830e44b5772297212da2611.tar.bz2
Measure the sync wizard dialog in appropriate units:
specifically, units proportional to the fonts used inside of it. We approximate the font chosen by the wizard's CSS. In actuality, the CSS chooses a font-face "arial", "sans-serif". We just use the default sans serif font; arial is the default value for that property. This fixes an issue where changing to the "Windows Classic" theme on Vista would cause the dialog to be resized, clipping its contents, which are unaffected by the UI font size. Update the default GRIT sizes to closely match the old ones. Old vs new: http://www.corp.google.com/~ncarter/wizard-size-screenshots.png BUG=21828 TEST=verified old size against new size in Aero Theme with default settings; verified size stays the same under Classic theme. Review URL: http://codereview.chromium.org/261017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28465 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'views')
-rw-r--r--views/window/window.cc29
-rw-r--r--views/window/window.h11
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.