summaryrefslogtreecommitdiffstats
path: root/ui/gfx/canvas_skia.cc
diff options
context:
space:
mode:
authormsw@chromium.org <msw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-30 03:56:22 +0000
committermsw@chromium.org <msw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-30 03:56:22 +0000
commit657d679bbc865d8171949787b4765e73d3148eb0 (patch)
tree14b8d838cca9cc528d09b8ca0e090d202b5e09c3 /ui/gfx/canvas_skia.cc
parent955edfd7049eff71c77cd515293541570988c5ad (diff)
downloadchromium_src-657d679bbc865d8171949787b4765e73d3148eb0.zip
chromium_src-657d679bbc865d8171949787b4765e73d3148eb0.tar.gz
chromium_src-657d679bbc865d8171949787b4765e73d3148eb0.tar.bz2
Use string directionality for CanvasSkia fade truncation; cleanup.
Fix Canvas::DrawFadeTruncatingStringRect LTR/RTL handling. Use GetFirstStrongCharacterDirection for string direction. Remove DrawFadeTruncatingString; use FontList version. Remove unused TruncateFadeHeadAndTail enum and code. Update TextExample for FontList and lift OS_WIN checks. BUG=145418 R=asvitkine@chromium.org,sky@chromium.org Review URL: https://codereview.chromium.org/49903003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@231734 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/gfx/canvas_skia.cc')
-rw-r--r--ui/gfx/canvas_skia.cc40
1 files changed, 3 insertions, 37 deletions
diff --git a/ui/gfx/canvas_skia.cc b/ui/gfx/canvas_skia.cc
index d062ff1..c22f440 100644
--- a/ui/gfx/canvas_skia.cc
+++ b/ui/gfx/canvas_skia.cc
@@ -372,7 +372,6 @@ void Canvas::DrawStringRectWithHalo(const base::string16& text,
void Canvas::DrawFadeTruncatingStringRect(
const base::string16& text,
TruncateFadeMode truncate_mode,
- size_t desired_characters_to_truncate_from_head,
const FontList& font_list,
SkColor color,
const Rect& display_rect) {
@@ -385,8 +384,8 @@ void Canvas::DrawFadeTruncatingStringRect(
}
scoped_ptr<RenderText> render_text(RenderText::CreateInstance());
- base::string16 clipped_text = text;
- const bool is_rtl = AdjustStringDirection(flags, &clipped_text);
+ const bool is_rtl = base::i18n::GetFirstStrongCharacterDirection(text) ==
+ base::i18n::RIGHT_TO_LEFT;
switch (truncate_mode) {
case TruncateFadeTail:
@@ -399,26 +398,6 @@ void Canvas::DrawFadeTruncatingStringRect(
if (!is_rtl)
flags |= TEXT_ALIGN_RIGHT;
break;
- case TruncateFadeHeadAndTail:
- DCHECK_GT(desired_characters_to_truncate_from_head, 0u);
- // Due to the fade effect the first character is hard to see.
- // We want to make sure that the first character starting at
- // |desired_characters_to_truncate_from_head| is readable so we reduce
- // the offset by a little bit.
- desired_characters_to_truncate_from_head =
- std::max<int>(0, desired_characters_to_truncate_from_head - 2);
-
- if (desired_characters_to_truncate_from_head) {
- // Make sure to clip the text at a UTF16 boundary.
- U16_SET_CP_LIMIT(text.data(), 0,
- desired_characters_to_truncate_from_head,
- text.length());
- clipped_text = text.substr(desired_characters_to_truncate_from_head);
- }
-
- render_text->set_fade_tail(true);
- render_text->set_fade_head(true);
- break;
}
// Default to left alignment unless right alignment was chosen above.
@@ -426,8 +405,7 @@ void Canvas::DrawFadeTruncatingStringRect(
flags |= TEXT_ALIGN_LEFT;
Rect rect = display_rect;
- UpdateRenderText(rect, clipped_text, font_list, flags, color,
- render_text.get());
+ UpdateRenderText(rect, text, font_list, flags, color, render_text.get());
const int line_height = render_text->GetStringSize().height();
// Center the text vertically.
@@ -441,16 +419,4 @@ void Canvas::DrawFadeTruncatingStringRect(
canvas_->restore();
}
-void Canvas::DrawFadeTruncatingString(
- const base::string16& text,
- TruncateFadeMode truncate_mode,
- size_t desired_characters_to_truncate_from_head,
- const Font& font,
- SkColor color,
- const Rect& display_rect) {
- DrawFadeTruncatingStringRect(text, truncate_mode,
- desired_characters_to_truncate_from_head,
- FontList(font), color, display_rect);
-}
-
} // namespace gfx