diff options
Diffstat (limited to 'Source/WebCore/rendering/InlineBox.cpp')
| -rw-r--r-- | Source/WebCore/rendering/InlineBox.cpp | 32 | 
1 files changed, 22 insertions, 10 deletions
| diff --git a/Source/WebCore/rendering/InlineBox.cpp b/Source/WebCore/rendering/InlineBox.cpp index 4fcbe2d..1f4e244 100644 --- a/Source/WebCore/rendering/InlineBox.cpp +++ b/Source/WebCore/rendering/InlineBox.cpp @@ -150,14 +150,12 @@ void InlineBox::attachLine()          toRenderBox(m_renderer)->setInlineBoxWrapper(this);  } -void InlineBox::adjustPosition(int dx, int dy) +void InlineBox::adjustPosition(float dx, float dy)  {      m_x += dx;      m_y += dy; -    if (m_renderer->isReplaced()) { -        RenderBox* box = toRenderBox(m_renderer); -        box->move(dx, dy); -    } +    if (m_renderer->isReplaced()) +        toRenderBox(m_renderer)->positionLineBox(this);  }  void InlineBox::paint(PaintInfo& paintInfo, int tx, int ty) @@ -278,21 +276,35 @@ bool InlineBox::canAccommodateEllipsis(bool ltr, int blockEdge, int ellipsisWidt      return !(boxRect.intersects(ellipsisRect));  } -int InlineBox::placeEllipsisBox(bool, int, int, int, bool&) +float InlineBox::placeEllipsisBox(bool, float, float, float, bool&)  {      // Use -1 to mean "we didn't set the position."      return -1;  } -IntPoint InlineBox::locationIncludingFlipping() +FloatPoint InlineBox::locationIncludingFlipping()  {      if (!renderer()->style()->isFlippedBlocksWritingMode()) -        return IntPoint(x(), y()); +        return FloatPoint(x(), y());      RenderBlock* block = root()->block();      if (block->style()->isHorizontalWritingMode()) -        return IntPoint(x(), block->height() - height() - y()); +        return FloatPoint(x(), block->height() - height() - y());      else -        return IntPoint(block->width() - width() - x(), y()); +        return FloatPoint(block->width() - width() - x(), y()); +} + +void InlineBox::flipForWritingMode(FloatRect& rect) +{ +    if (!renderer()->style()->isFlippedBlocksWritingMode()) +        return; +    root()->block()->flipForWritingMode(rect); +} + +FloatPoint InlineBox::flipForWritingMode(const FloatPoint& point) +{ +    if (!renderer()->style()->isFlippedBlocksWritingMode()) +        return point; +    return root()->block()->flipForWritingMode(point);  }  void InlineBox::flipForWritingMode(IntRect& rect) | 
