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

Side by Side Diff: chrome/browser/views/about_chrome_view.cc

Issue 113441: ChromeFont->gfx::Font... (Closed) Base URL: svn://chrome-svn.corp.google.com/chrome/trunk/src/
Patch Set: Created 11 years, 7 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 "chrome/browser/views/about_chrome_view.h" 5 #include "chrome/browser/views/about_chrome_view.h"
6 6
7 #include <commdlg.h> 7 #include <commdlg.h>
8 8
9 #include "app/gfx/chrome_canvas.h" 9 #include "app/gfx/chrome_canvas.h"
10 #include "app/gfx/color_utils.h" 10 #include "app/gfx/color_utils.h"
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after
219 main_label_chunk2_ + open_source_url_->GetText() + 219 main_label_chunk2_ + open_source_url_->GetText() +
220 main_label_chunk3_; 220 main_label_chunk3_;
221 221
222 dialog_dimensions_ = views::Window::GetLocalizedContentsSize( 222 dialog_dimensions_ = views::Window::GetLocalizedContentsSize(
223 IDS_ABOUT_DIALOG_WIDTH_CHARS, 223 IDS_ABOUT_DIALOG_WIDTH_CHARS,
224 IDS_ABOUT_DIALOG_MINIMUM_HEIGHT_LINES); 224 IDS_ABOUT_DIALOG_MINIMUM_HEIGHT_LINES);
225 225
226 // Create a label and add the full text so we can query it for the height. 226 // Create a label and add the full text so we can query it for the height.
227 views::Label dummy_text(full_text); 227 views::Label dummy_text(full_text);
228 dummy_text.SetMultiLine(true); 228 dummy_text.SetMultiLine(true);
229 ChromeFont font = 229 gfx::Font font =
230 ResourceBundle::GetSharedInstance().GetFont(ResourceBundle::BaseFont); 230 ResourceBundle::GetSharedInstance().GetFont(ResourceBundle::BaseFont);
231 231
232 // Add up the height of the various elements on the page. 232 // Add up the height of the various elements on the page.
233 int height = about_background_logo->height() + 233 int height = about_background_logo->height() +
234 kRelatedControlVerticalSpacing + 234 kRelatedControlVerticalSpacing +
235 font.height() + // Copyright line. 235 font.height() + // Copyright line.
236 dummy_text.GetHeightForWidth( // Main label. 236 dummy_text.GetHeightForWidth( // Main label.
237 dialog_dimensions_.width() - (2 * kPanelHorizMargin)) + 237 dialog_dimensions_.width() - (2 * kPanelHorizMargin)) +
238 kRelatedControlVerticalSpacing; 238 kRelatedControlVerticalSpacing;
239 239
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
353 353
354 void AboutChromeView::Paint(ChromeCanvas* canvas) { 354 void AboutChromeView::Paint(ChromeCanvas* canvas) {
355 views::View::Paint(canvas); 355 views::View::Paint(canvas);
356 356
357 // Draw the background image color (and the separator) across the dialog. 357 // Draw the background image color (and the separator) across the dialog.
358 // This will become the background for the logo image at the top of the 358 // This will become the background for the logo image at the top of the
359 // dialog. 359 // dialog.
360 canvas->TileImageInt(*kBackgroundBmp, 0, 0, 360 canvas->TileImageInt(*kBackgroundBmp, 0, 0,
361 dialog_dimensions_.width(), kBackgroundBmp->height()); 361 dialog_dimensions_.width(), kBackgroundBmp->height());
362 362
363 ChromeFont font = 363 gfx::Font font =
364 ResourceBundle::GetSharedInstance().GetFont(ResourceBundle::BaseFont); 364 ResourceBundle::GetSharedInstance().GetFont(ResourceBundle::BaseFont);
365 365
366 const gfx::Rect label_bounds = main_text_label_->bounds(); 366 const gfx::Rect label_bounds = main_text_label_->bounds();
367 367
368 views::Link* link1 = 368 views::Link* link1 =
369 chromium_url_appears_first_ ? chromium_url_ : open_source_url_; 369 chromium_url_appears_first_ ? chromium_url_ : open_source_url_;
370 views::Link* link2 = 370 views::Link* link2 =
371 chromium_url_appears_first_ ? open_source_url_ : chromium_url_; 371 chromium_url_appears_first_ ? open_source_url_ : chromium_url_;
372 gfx::Rect* rect1 = chromium_url_appears_first_ ? 372 gfx::Rect* rect1 = chromium_url_appears_first_ ?
373 &chromium_url_rect_ : &open_source_url_rect_; 373 &chromium_url_rect_ : &open_source_url_rect_;
374 gfx::Rect* rect2 = chromium_url_appears_first_ ? 374 gfx::Rect* rect2 = chromium_url_appears_first_ ?
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
423 // Save the height so we can set the bounds correctly. 423 // Save the height so we can set the bounds correctly.
424 main_text_label_height_ = position.height() + font.height(); 424 main_text_label_height_ = position.height() + font.height();
425 } 425 }
426 426
427 void AboutChromeView::DrawTextAndPositionUrl(ChromeCanvas* canvas, 427 void AboutChromeView::DrawTextAndPositionUrl(ChromeCanvas* canvas,
428 const std::wstring& text, 428 const std::wstring& text,
429 views::Link* link, 429 views::Link* link,
430 gfx::Rect* rect, 430 gfx::Rect* rect,
431 gfx::Size* position, 431 gfx::Size* position,
432 const gfx::Rect& bounds, 432 const gfx::Rect& bounds,
433 const ChromeFont& font) { 433 const gfx::Font& font) {
434 DCHECK(canvas && position); 434 DCHECK(canvas && position);
435 435
436 // What we get passed in as |text| is potentially a mix of LTR and RTL "runs" 436 // What we get passed in as |text| is potentially a mix of LTR and RTL "runs"
437 // (a run is a sequence of words that share the same directionality). We 437 // (a run is a sequence of words that share the same directionality). We
438 // initialize a bidirectional ICU line iterator and split the text into runs 438 // initialize a bidirectional ICU line iterator and split the text into runs
439 // that are either strictly LTR or strictly RTL (and do not contain a mix). 439 // that are either strictly LTR or strictly RTL (and do not contain a mix).
440 l10n_util::BiDiLineIterator bidi_line; 440 l10n_util::BiDiLineIterator bidi_line;
441 if (!bidi_line.Open(text.c_str(), true, false)) 441 if (!bidi_line.Open(text.c_str(), true, false))
442 return; 442 return;
443 443
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
476 rect->Offset(bounds.x(), bounds.y()); 476 rect->Offset(bounds.x(), bounds.y());
477 // And leave some space to draw the link in. 477 // And leave some space to draw the link in.
478 position->Enlarge(sz.width(), 0); 478 position->Enlarge(sz.width(), 0);
479 } 479 }
480 } 480 }
481 481
482 void AboutChromeView::DrawTextStartingFrom(ChromeCanvas* canvas, 482 void AboutChromeView::DrawTextStartingFrom(ChromeCanvas* canvas,
483 const std::wstring& text, 483 const std::wstring& text,
484 gfx::Size* position, 484 gfx::Size* position,
485 const gfx::Rect& bounds, 485 const gfx::Rect& bounds,
486 const ChromeFont& font, 486 const gfx::Font& font,
487 bool ltr_within_rtl) { 487 bool ltr_within_rtl) {
488 // Iterate through line breaking opportunities (which in English would be 488 // Iterate through line breaking opportunities (which in English would be
489 // spaces and such. This tells us where to wrap. 489 // spaces and such. This tells us where to wrap.
490 WordIterator iter(text, WordIterator::BREAK_LINE); 490 WordIterator iter(text, WordIterator::BREAK_LINE);
491 if (!iter.Init()) 491 if (!iter.Init())
492 return; 492 return;
493 493
494 int flags = (text_direction_is_rtl_ ? 494 int flags = (text_direction_is_rtl_ ?
495 ChromeCanvas::TEXT_ALIGN_RIGHT : 495 ChromeCanvas::TEXT_ALIGN_RIGHT :
496 ChromeCanvas::TEXT_ALIGN_LEFT) | 496 ChromeCanvas::TEXT_ALIGN_LEFT) |
(...skipping 322 matching lines...) Expand 10 before | Expand all | Expand 10 after
819 819
820 // We have updated controls on the parent, so we need to update its layout. 820 // We have updated controls on the parent, so we need to update its layout.
821 View* parent = GetParent(); 821 View* parent = GetParent();
822 parent->Layout(); 822 parent->Layout();
823 823
824 // Check button may have appeared/disappeared. We cannot call this during 824 // Check button may have appeared/disappeared. We cannot call this during
825 // ViewHierarchyChanged because the |window()| pointer hasn't been set yet. 825 // ViewHierarchyChanged because the |window()| pointer hasn't been set yet.
826 if (window()) 826 if (window())
827 GetDialogClientView()->UpdateDialogButtons(); 827 GetDialogClientView()->UpdateDialogButtons();
828 } 828 }
OLDNEW
« no previous file with comments | « chrome/browser/views/about_chrome_view.h ('k') | chrome/browser/views/autocomplete/autocomplete_popup_contents_view.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698