Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(246)

Side by Side Diff: app/gfx/font_skia.cc

Issue 338001: Get the About panel to align its links correctly, (Closed)
Patch Set: Found some leftover cruft in files. Created 11 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "app/gfx/font.h" 5 #include "app/gfx/font.h"
6 6
7 #include <gdk/gdk.h> 7 #include <gdk/gdk.h>
8 #include <pango/pango.h> 8 #include <pango/pango.h>
9 9
10 #include "app/gfx/canvas.h" 10 #include "app/gfx/canvas.h"
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
180 pango_language_get_default()); 180 pango_language_get_default());
181 double pango_width = 181 double pango_width =
182 pango_font_metrics_get_approximate_char_width(pango_metrics); 182 pango_font_metrics_get_approximate_char_width(pango_metrics);
183 pango_width /= PANGO_SCALE; 183 pango_width /= PANGO_SCALE;
184 184
185 // Yes, this is how Microsoft recommends calculating the dialog unit 185 // Yes, this is how Microsoft recommends calculating the dialog unit
186 // conversions. 186 // conversions.
187 int text_width = GetStringWidth( 187 int text_width = GetStringWidth(
188 L"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"); 188 L"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz");
189 double dialog_units = (text_width / 26 + 1) / 2; 189 double dialog_units = (text_width / 26 + 1) / 2;
190
191 avg_width_ = std::min(pango_width, dialog_units); 190 avg_width_ = std::min(pango_width, dialog_units);
192 pango_font_metrics_unref(pango_metrics); 191 pango_font_metrics_unref(pango_metrics);
193 pango_font_description_free(pango_desc); 192 pango_font_description_free(pango_desc);
194 } 193 }
195 return avg_width_; 194 return avg_width_;
196 } 195 }
197 196
198 int Font::GetExpectedTextWidth(int length) const { 197 int Font::GetExpectedTextWidth(int length) const {
199 double char_width = const_cast<Font*>(this)->avg_width(); 198 double char_width = const_cast<Font*>(this)->avg_width();
200 return round(static_cast<float>(length) * char_width); 199 return round(static_cast<float>(length) * char_width);
201 } 200 }
202 201
203 int Font::style() const { 202 int Font::style() const {
204 return style_; 203 return style_;
205 } 204 }
206 205
207 std::wstring Font::FontName() { 206 std::wstring Font::FontName() {
208 return font_family_; 207 return font_family_;
209 } 208 }
210 209
211 int Font::FontSize() { 210 int Font::FontSize() {
212 return font_size_; 211 return font_size_;
213 } 212 }
214 213
215 NativeFont Font::nativeFont() const { 214 NativeFont Font::nativeFont() const {
216 return typeface_; 215 return typeface_;
217 } 216 }
218 217
219 } // namespace gfx 218 } // namespace gfx
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698