summaryrefslogtreecommitdiffstats
path: root/ui/gfx/render_text_linux.cc
diff options
context:
space:
mode:
authormsw@chromium.org <msw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-01 21:57:31 +0000
committermsw@chromium.org <msw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-01 21:57:31 +0000
commit46cb5380832a688d32cc39a25080381f90a204f2 (patch)
tree66795e797e715e0a32b2098ad955f93cd8bb08b0 /ui/gfx/render_text_linux.cc
parentf06188681397c7d6bc785d5dc9c26092c1f3ac03 (diff)
downloadchromium_src-46cb5380832a688d32cc39a25080381f90a204f2.zip
chromium_src-46cb5380832a688d32cc39a25080381f90a204f2.tar.gz
chromium_src-46cb5380832a688d32cc39a25080381f90a204f2.tar.bz2
Add RenderText DirectionalityMode enum and support; etc.
Add gfx::DirectionalityMode enum. Add RenderText::SetDirectionalityMode and member. Revise/consolidate RenderText::GetTextDirection. Expand on existing unit tests; minor cleanup. Consume GetTextDirection in layout initialization: -Windows: RenderTextWin::ItemizeLogicalText() -Linux: SetupPangoLayoutWithoutFont() -Mac: Add TODO in RenderTextMac::EnsureLayout() BUG=134746 TEST=Existing/updated unit tests, no behavioral changes! Review URL: https://chromiumcodereview.appspot.com/10807082 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149503 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/gfx/render_text_linux.cc')
-rw-r--r--ui/gfx/render_text_linux.cc23
1 files changed, 7 insertions, 16 deletions
diff --git a/ui/gfx/render_text_linux.cc b/ui/gfx/render_text_linux.cc
index 4c10062..9619dc1 100644
--- a/ui/gfx/render_text_linux.cc
+++ b/ui/gfx/render_text_linux.cc
@@ -80,15 +80,6 @@ RenderTextLinux::~RenderTextLinux() {
ResetLayout();
}
-base::i18n::TextDirection RenderTextLinux::GetTextDirection() {
- EnsureLayout();
-
- PangoDirection base_dir = pango_find_base_dir(layout_text_, -1);
- if (base_dir == PANGO_DIRECTION_RTL || base_dir == PANGO_DIRECTION_WEAK_RTL)
- return base::i18n::RIGHT_TO_LEFT;
- return base::i18n::LEFT_TO_RIGHT;
-}
-
Size RenderTextLinux::GetStringSize() {
EnsureLayout();
int width = 0, height = 0;
@@ -288,13 +279,13 @@ void RenderTextLinux::EnsureLayout() {
layout_ = pango_cairo_create_layout(cr);
cairo_destroy(cr);
cairo_surface_destroy(surface);
- SetupPangoLayoutWithFontDescription(
- layout_,
- GetDisplayText(),
- font_list().GetFontDescriptionString(),
- display_rect().width(),
- base::i18n::GetFirstStrongCharacterDirection(text()),
- Canvas::DefaultCanvasTextAlignment());
+
+ SetupPangoLayoutWithFontDescription(layout_,
+ GetDisplayText(),
+ font_list().GetFontDescriptionString(),
+ display_rect().width(),
+ GetTextDirection(),
+ Canvas::DefaultCanvasTextAlignment());
// No width set so that the x-axis position is relative to the start of the
// text. ToViewPoint and ToTextPoint take care of the position conversion