OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/views/controls/label.h" | 5 #include "ui/views/controls/label.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <cmath> | 8 #include <cmath> |
9 #include <limits> | 9 #include <limits> |
10 #include <vector> | 10 #include <vector> |
(...skipping 478 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
489 focus_bounds.Inset(-kFocusBorderPadding, -kFocusBorderPadding); | 489 focus_bounds.Inset(-kFocusBorderPadding, -kFocusBorderPadding); |
490 focus_bounds.Intersect(GetLocalBounds()); | 490 focus_bounds.Intersect(GetLocalBounds()); |
491 return focus_bounds; | 491 return focus_bounds; |
492 } | 492 } |
493 | 493 |
494 std::vector<base::string16> Label::GetLinesForWidth(int width) const { | 494 std::vector<base::string16> Label::GetLinesForWidth(int width) const { |
495 std::vector<base::string16> lines; | 495 std::vector<base::string16> lines; |
496 // |width| can be 0 when getting the default text size, in that case | 496 // |width| can be 0 when getting the default text size, in that case |
497 // the ideal lines (i.e. broken at newline characters) are wanted. | 497 // the ideal lines (i.e. broken at newline characters) are wanted. |
498 if (width <= 0) { | 498 if (width <= 0) { |
499 base::SplitString(render_text_->GetDisplayText(), '\n', &lines); | 499 lines = base::SplitString( |
| 500 render_text_->GetDisplayText(), base::string16(1, '\n'), |
| 501 base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL); |
500 } else { | 502 } else { |
501 gfx::ElideRectangleText(render_text_->GetDisplayText(), font_list(), width, | 503 gfx::ElideRectangleText(render_text_->GetDisplayText(), font_list(), width, |
502 std::numeric_limits<int>::max(), | 504 std::numeric_limits<int>::max(), |
503 render_text_->word_wrap_behavior(), &lines); | 505 render_text_->word_wrap_behavior(), &lines); |
504 } | 506 } |
505 return lines; | 507 return lines; |
506 } | 508 } |
507 | 509 |
508 gfx::Size Label::GetTextSize() const { | 510 gfx::Size Label::GetTextSize() const { |
509 gfx::Size size; | 511 gfx::Size size; |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
572 } | 574 } |
573 | 575 |
574 bool Label::ShouldShowDefaultTooltip() const { | 576 bool Label::ShouldShowDefaultTooltip() const { |
575 const gfx::Size text_size = GetTextSize(); | 577 const gfx::Size text_size = GetTextSize(); |
576 const gfx::Size size = GetContentsBounds().size(); | 578 const gfx::Size size = GetContentsBounds().size(); |
577 return !obscured() && (text_size.width() > size.width() || | 579 return !obscured() && (text_size.width() > size.width() || |
578 (multi_line() && text_size.height() > size.height())); | 580 (multi_line() && text_size.height() > size.height())); |
579 } | 581 } |
580 | 582 |
581 } // namespace views | 583 } // namespace views |
OLD | NEW |