From 0fff018f2f765fceb61ef98b57b59e2cdda5c77b Mon Sep 17 00:00:00 2001 From: "akalin@chromium.org" Date: Fri, 16 Oct 2009 07:33:29 +0000 Subject: Made sync code build and pass unit tests on OS X. Major changes: - Moved sync_setup_{flow,wizard} to sync directory. - Made browser_with_test_window_test compile on non-Windows platform. - Moved localized contents font util functions to app/. BUG=23073 TEST=trybot Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=29253 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=29255 Review URL: http://codereview.chromium.org/279004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29258 0039d316-1c4b-4281-b951-d872f2087c98 --- app/app.gyp | 8 +++++--- app/gfx/font_util.cc | 39 +++++++++++++++++++++++++++++++++++++++ app/gfx/font_util.h | 29 +++++++++++++++++++++++++++++ 3 files changed, 73 insertions(+), 3 deletions(-) create mode 100644 app/gfx/font_util.cc create mode 100644 app/gfx/font_util.h (limited to 'app') diff --git a/app/app.gyp b/app/app.gyp index c7ef0c7..329eb04 100644 --- a/app/app.gyp +++ b/app/app.gyp @@ -92,14 +92,16 @@ 'gfx/codec/jpeg_codec.h', 'gfx/codec/png_codec.cc', 'gfx/codec/png_codec.h', + 'gfx/color_utils.cc', + 'gfx/color_utils.h', + 'gfx/favicon_size.h', 'gfx/font.h', 'gfx/font_gtk.cc', 'gfx/font_mac.mm', 'gfx/font_skia.cc', + 'gfx/font_util.h', + 'gfx/font_util.cc', 'gfx/font_win.cc', - 'gfx/color_utils.cc', - 'gfx/color_utils.h', - 'gfx/favicon_size.h', 'gfx/gdi_util.cc', 'gfx/gdi_util.h', 'gfx/gtk_util.cc', diff --git a/app/gfx/font_util.cc b/app/gfx/font_util.cc new file mode 100644 index 0000000..278677c --- /dev/null +++ b/app/gfx/font_util.cc @@ -0,0 +1,39 @@ +// Copyright (c) 2009 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 "app/gfx/font_util.h" + +#include "app/gfx/font.h" +#include "app/l10n_util.h" +#include "base/logging.h" + +namespace gfx { + +int GetLocalizedContentsWidthForFont(int col_resource_id, + const gfx::Font& font) { + double chars = 0; + StringToDouble(WideToUTF8(l10n_util::GetString(col_resource_id)), &chars); + int width = font.GetExpectedTextWidth(static_cast(chars)); + DCHECK(width > 0); + return width; +} + +int GetLocalizedContentsHeightForFont(int row_resource_id, + const gfx::Font& font) { + double lines = 0; + StringToDouble(WideToUTF8(l10n_util::GetString(row_resource_id)), &lines); + int height = static_cast(font.height() * lines); + DCHECK(height > 0); + return height; +} + +gfx::Size 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)); +} + +} // namespace gfx + diff --git a/app/gfx/font_util.h b/app/gfx/font_util.h new file mode 100644 index 0000000..36bc693 --- /dev/null +++ b/app/gfx/font_util.h @@ -0,0 +1,29 @@ +// Copyright (c) 2006-2009 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. + +#ifndef APP_GFX_FONT_UTIL_H_ +#define APP_GFX_FONT_UTIL_H_ + +#include "base/gfx/size.h" + +namespace gfx { + +class Font; + +// Returns the preferred size of the contents view of a window based on +// its localized size data and the given font. The width in cols is held in a +// localized string resource identified by |col_resource_id|, the height in the +// same fashion. +int GetLocalizedContentsWidthForFont(int col_resource_id, + const gfx::Font& font); +int GetLocalizedContentsHeightForFont(int row_resource_id, + const gfx::Font& font); +gfx::Size GetLocalizedContentsSizeForFont(int col_resource_id, + int row_resource_id, + const gfx::Font& font); + +} // namespace gfx + +#endif // APP_GFX_FONT_UTIL_H_ + -- cgit v1.1