From 2bde8e466a4451c7319e3a072d118917957d6554 Mon Sep 17 00:00:00 2001 From: Steve Block Date: Wed, 25 May 2011 19:08:45 +0100 Subject: Merge WebKit at r82507: Initial merge by git Change-Id: I60ce9d780725b58b45e54165733a8ffee23b683e --- Source/WebCore/rendering/svg/SVGTextChunk.cpp | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) (limited to 'Source/WebCore/rendering/svg/SVGTextChunk.cpp') diff --git a/Source/WebCore/rendering/svg/SVGTextChunk.cpp b/Source/WebCore/rendering/svg/SVGTextChunk.cpp index 5dea6ad..49407e5 100644 --- a/Source/WebCore/rendering/svg/SVGTextChunk.cpp +++ b/Source/WebCore/rendering/svg/SVGTextChunk.cpp @@ -27,10 +27,8 @@ namespace WebCore { -SVGTextChunk::SVGTextChunk(bool isVerticalText, ETextAnchor textAnchor, SVGTextContentElement::SVGLengthAdjustType lengthAdjust, float desiredTextLength) - : m_isVerticalText(isVerticalText) - , m_textAnchor(textAnchor) - , m_lengthAdjust(lengthAdjust) +SVGTextChunk::SVGTextChunk(unsigned chunkStyle, float desiredTextLength) + : m_chunkStyle(chunkStyle) , m_desiredTextLength(desiredTextLength) { } @@ -52,7 +50,7 @@ void SVGTextChunk::calculateLength(float& length, unsigned& characters) const SVGTextFragment& fragment = fragments.at(i); characters += fragment.length; - if (m_isVerticalText) + if (m_chunkStyle & VerticalText) length += fragment.height; else length += fragment.width; @@ -63,7 +61,7 @@ void SVGTextChunk::calculateLength(float& length, unsigned& characters) const } // Resepect gap between chunks. - if (m_isVerticalText) + if (m_chunkStyle & VerticalText) length += fragment.y - (lastFragment->y + lastFragment->height); else length += fragment.x - (lastFragment->x + lastFragment->width); @@ -75,17 +73,11 @@ void SVGTextChunk::calculateLength(float& length, unsigned& characters) const float SVGTextChunk::calculateTextAnchorShift(float length) const { - switch (m_textAnchor) { - case TA_START: - return 0; - case TA_MIDDLE: + if (m_chunkStyle & MiddleAnchor) return -length / 2; - case TA_END: - return -length; - }; - - ASSERT_NOT_REACHED(); - return 0; + if (m_chunkStyle & EndAnchor) + return m_chunkStyle & RightToLeftText ? 0 : -length; + return m_chunkStyle & RightToLeftText ? -length : 0; } } // namespace WebCore -- cgit v1.1