OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "ui/message_center/views/bounded_label.h" | 5 #include "ui/message_center/views/bounded_label.h" |
6 | 6 |
7 #include <limits> | 7 #include <limits> |
8 | 8 |
9 #include "base/strings/string_util.h" | 9 #include "base/strings/string_util.h" |
10 #include "base/strings/utf_string_conversions.h" | 10 #include "base/strings/utf_string_conversions.h" |
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
192 ClearCaches(); | 192 ClearCaches(); |
193 } | 193 } |
194 | 194 |
195 int InnerBoundedLabel::GetTextFlags() { | 195 int InnerBoundedLabel::GetTextFlags() { |
196 int flags = gfx::Canvas::MULTI_LINE | gfx::Canvas::CHARACTER_BREAK; | 196 int flags = gfx::Canvas::MULTI_LINE | gfx::Canvas::CHARACTER_BREAK; |
197 | 197 |
198 // We can't use subpixel rendering if the background is non-opaque. | 198 // We can't use subpixel rendering if the background is non-opaque. |
199 if (SkColorGetA(background_color()) != 0xFF) | 199 if (SkColorGetA(background_color()) != 0xFF) |
200 flags |= gfx::Canvas::NO_SUBPIXEL_RENDERING; | 200 flags |= gfx::Canvas::NO_SUBPIXEL_RENDERING; |
201 | 201 |
202 const base::i18n::TextDirection direction = | 202 return flags | gfx::Canvas::TEXT_ALIGN_TO_HEAD; |
203 base::i18n::GetFirstStrongCharacterDirection(text()); | |
204 if (direction == base::i18n::RIGHT_TO_LEFT) | |
205 return flags | gfx::Canvas::FORCE_RTL_DIRECTIONALITY; | |
206 return flags | gfx::Canvas::FORCE_LTR_DIRECTIONALITY; | |
207 } | 203 } |
208 | 204 |
209 void InnerBoundedLabel::ClearCaches() { | 205 void InnerBoundedLabel::ClearCaches() { |
210 wrapped_text_width_ = 0; | 206 wrapped_text_width_ = 0; |
211 wrapped_text_lines_ = 0; | 207 wrapped_text_lines_ = 0; |
212 lines_cache_.clear(); | 208 lines_cache_.clear(); |
213 lines_widths_.clear(); | 209 lines_widths_.clear(); |
214 size_cache_.clear(); | 210 size_cache_.clear(); |
215 size_widths_and_lines_.clear(); | 211 size_widths_and_lines_.clear(); |
216 } | 212 } |
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
343 | 339 |
344 void BoundedLabel::OnNativeThemeChanged(const ui::NativeTheme* theme) { | 340 void BoundedLabel::OnNativeThemeChanged(const ui::NativeTheme* theme) { |
345 label_->SetNativeTheme(theme); | 341 label_->SetNativeTheme(theme); |
346 } | 342 } |
347 | 343 |
348 base::string16 BoundedLabel::GetWrappedTextForTest(int width, int lines) { | 344 base::string16 BoundedLabel::GetWrappedTextForTest(int width, int lines) { |
349 return JoinString(label_->GetWrappedText(width, lines), '\n'); | 345 return JoinString(label_->GetWrappedText(width, lines), '\n'); |
350 } | 346 } |
351 | 347 |
352 } // namespace message_center | 348 } // namespace message_center |
OLD | NEW |