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

Unified Diff: ui/views/controls/label.cc

Issue 14322007: Add line height setting to views::Label & use it for notifications. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 8 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 side-by-side diff with in-line comments
Download patch
Index: ui/views/controls/label.cc
diff --git a/ui/views/controls/label.cc b/ui/views/controls/label.cc
index 351c4e865f576a13659324c3687e1916d141f49c..ca5a82f9c3806e85290d68747cdaa6b57c715fdd 100644
--- a/ui/views/controls/label.cc
+++ b/ui/views/controls/label.cc
@@ -121,6 +121,15 @@ void Label::SetHorizontalAlignment(gfx::HorizontalAlignment alignment) {
}
}
+void Label::SetLineHeight(int height) {
+ if (height != line_height_) {
+ line_height_ = height;
+ ResetCachedSize();
+ PreferredSizeChanged();
+ SchedulePaint();
+ }
+}
+
void Label::SetMultiLine(bool multi_line) {
DCHECK(!multi_line || elide_behavior_ != ELIDE_IN_MIDDLE);
if (multi_line != is_multi_line_) {
@@ -226,7 +235,8 @@ int Label::GetHeightForWidth(int w) {
int cache_width = w;
int h = font_.GetHeight();
- gfx::Canvas::SizeStringInt(text_, font_, &w, &h, ComputeDrawStringFlags());
+ int flags = ComputeDrawStringFlags();
msw 2013/04/17 20:12:59 nit: const
dharcourt 2013/04/17 23:29:40 Done.
+ gfx::Canvas::SizeStringInt(text_, font_, &w, &h, line_height_, flags);
cached_heights_[cached_heights_cursor_] = gfx::Size(cache_width, h);
cached_heights_cursor_ = (cached_heights_cursor_ + 1) % kCachedSizeLimit;
return h + GetInsets().height();
@@ -274,7 +284,7 @@ void Label::PaintText(gfx::Canvas* canvas,
enabled() ? enabled_shadow_color_ : disabled_shadow_color_));
canvas->DrawStringWithShadows(text, font_,
enabled() ? actual_enabled_color_ : actual_disabled_color_,
- text_bounds, flags, shadows);
+ text_bounds, line_height_, flags, shadows);
if (HasFocus()) {
gfx::Rect focus_bounds = text_bounds;
@@ -297,7 +307,7 @@ gfx::Size Label::GetTextSize() const {
int flags = ComputeDrawStringFlags();
if (!is_multi_line_)
flags |= gfx::Canvas::NO_ELLIPSIS;
- gfx::Canvas::SizeStringInt(text_, font_, &w, &h, flags);
+ gfx::Canvas::SizeStringInt(text_, font_, &w, &h, line_height_, flags);
text_size_.SetSize(w, h);
text_size_valid_ = true;
}

Powered by Google App Engine
This is Rietveld 408576698