Changeset 93050 in webkit


Ignore:
Timestamp:
Aug 15, 2011, 12:07:58 PM (14 years ago)
Author:
leviw@chromium.org
Message:

Switch remaining SVG Rendering methods to LayoutUnits
https://bugs.webkit.org/show_bug.cgi?id=66169

Reviewed by Eric Seidel.

Changing remaining integer SVG methods to use the LayoutUnits abstraction.

No tests as no change in functionality.

  • rendering/svg/RenderSVGBlock.cpp:

(WebCore::RenderSVGBlock::visualOverflowRect):

  • rendering/svg/RenderSVGBlock.h:
  • rendering/svg/RenderSVGContainer.cpp:

(WebCore::RenderSVGContainer::paint):

  • rendering/svg/RenderSVGForeignObject.cpp:

(WebCore::RenderSVGForeignObject::paint):
(WebCore::RenderSVGForeignObject::clippedOverflowRectForRepaint):
(WebCore::RenderSVGForeignObject::computeRectForRepaint):

  • rendering/svg/RenderSVGHiddenContainer.cpp:

(WebCore::RenderSVGHiddenContainer::paint):

  • rendering/svg/RenderSVGImage.cpp:

(WebCore::RenderSVGImage::paint):

  • rendering/svg/RenderSVGInlineText.cpp:

(WebCore::RenderSVGInlineText::linesBoundingBox):

  • rendering/svg/RenderSVGInlineText.h:
  • rendering/svg/RenderSVGModelObject.cpp:

(WebCore::RenderSVGModelObject::outlineBoundsForRepaint):

  • rendering/svg/RenderSVGPath.cpp:

(WebCore::RenderSVGPath::paint):

  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::localToBorderBoxTransform):
(WebCore::RenderSVGRoot::parentOriginToBorderBox):
(WebCore::RenderSVGRoot::borderOriginToContentBox):
(WebCore::RenderSVGRoot::localToRepaintContainerTransform):
(WebCore::RenderSVGRoot::localToParentTransform):
(WebCore::RenderSVGRoot::clippedOverflowRectForRepaint):
(WebCore::RenderSVGRoot::computeRectForRepaint):

  • rendering/svg/RenderSVGRoot.h:
  • rendering/svg/RenderSVGText.cpp:

(WebCore::RenderSVGText::paint):

  • rendering/svg/SVGInlineFlowBox.cpp:

(WebCore::SVGInlineFlowBox::paint):

  • rendering/svg/SVGInlineTextBox.cpp:

(WebCore::SVGInlineTextBox::paint):

  • rendering/svg/SVGRenderSupport.cpp:

(WebCore::SVGRenderSupport::clippedOverflowRectForRepaint):
(WebCore::SVGRenderSupport::computeRectForRepaint):

  • rendering/svg/SVGRenderSupport.h:
  • rendering/svg/SVGRootInlineBox.cpp:

(WebCore::SVGRootInlineBox::paint):
(WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
(WebCore::SVGRootInlineBox::layoutChildBoxes):
(WebCore::SVGRootInlineBox::layoutRootBox):
(WebCore::SVGRootInlineBox::closestLeafChildForPosition):

  • rendering/svg/SVGRootInlineBox.h:
Location:
trunk/Source/WebCore
Files:
20 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r93047 r93050  
     12011-08-15  Levi Weintraub  <leviw@chromium.org>
     2
     3        Switch remaining SVG Rendering methods to LayoutUnits
     4        https://bugs.webkit.org/show_bug.cgi?id=66169
     5
     6        Reviewed by Eric Seidel.
     7
     8        Changing remaining integer SVG methods to use the LayoutUnits abstraction.
     9
     10        No tests as no change in functionality.
     11
     12        * rendering/svg/RenderSVGBlock.cpp:
     13        (WebCore::RenderSVGBlock::visualOverflowRect):
     14        * rendering/svg/RenderSVGBlock.h:
     15        * rendering/svg/RenderSVGContainer.cpp:
     16        (WebCore::RenderSVGContainer::paint):
     17        * rendering/svg/RenderSVGForeignObject.cpp:
     18        (WebCore::RenderSVGForeignObject::paint):
     19        (WebCore::RenderSVGForeignObject::clippedOverflowRectForRepaint):
     20        (WebCore::RenderSVGForeignObject::computeRectForRepaint):
     21        * rendering/svg/RenderSVGHiddenContainer.cpp:
     22        (WebCore::RenderSVGHiddenContainer::paint):
     23        * rendering/svg/RenderSVGImage.cpp:
     24        (WebCore::RenderSVGImage::paint):
     25        * rendering/svg/RenderSVGInlineText.cpp:
     26        (WebCore::RenderSVGInlineText::linesBoundingBox):
     27        * rendering/svg/RenderSVGInlineText.h:
     28        * rendering/svg/RenderSVGModelObject.cpp:
     29        (WebCore::RenderSVGModelObject::outlineBoundsForRepaint):
     30        * rendering/svg/RenderSVGPath.cpp:
     31        (WebCore::RenderSVGPath::paint):
     32        * rendering/svg/RenderSVGRoot.cpp:
     33        (WebCore::RenderSVGRoot::localToBorderBoxTransform):
     34        (WebCore::RenderSVGRoot::parentOriginToBorderBox):
     35        (WebCore::RenderSVGRoot::borderOriginToContentBox):
     36        (WebCore::RenderSVGRoot::localToRepaintContainerTransform):
     37        (WebCore::RenderSVGRoot::localToParentTransform):
     38        (WebCore::RenderSVGRoot::clippedOverflowRectForRepaint):
     39        (WebCore::RenderSVGRoot::computeRectForRepaint):
     40        * rendering/svg/RenderSVGRoot.h:
     41        * rendering/svg/RenderSVGText.cpp:
     42        (WebCore::RenderSVGText::paint):
     43        * rendering/svg/SVGInlineFlowBox.cpp:
     44        (WebCore::SVGInlineFlowBox::paint):
     45        * rendering/svg/SVGInlineTextBox.cpp:
     46        (WebCore::SVGInlineTextBox::paint):
     47        * rendering/svg/SVGRenderSupport.cpp:
     48        (WebCore::SVGRenderSupport::clippedOverflowRectForRepaint):
     49        (WebCore::SVGRenderSupport::computeRectForRepaint):
     50        * rendering/svg/SVGRenderSupport.h:
     51        * rendering/svg/SVGRootInlineBox.cpp:
     52        (WebCore::SVGRootInlineBox::paint):
     53        (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
     54        (WebCore::SVGRootInlineBox::layoutChildBoxes):
     55        (WebCore::SVGRootInlineBox::layoutRootBox):
     56        (WebCore::SVGRootInlineBox::closestLeafChildForPosition):
     57        * rendering/svg/SVGRootInlineBox.h:
     58
    1592011-08-12  Jeff Miller  <jeffm@apple.com>
    260
  • trunk/Source/WebCore/rendering/svg/RenderSVGBlock.cpp

    r92152 r93050  
    3535}
    3636
    37 IntRect RenderSVGBlock::visualOverflowRect() const
     37LayoutRect RenderSVGBlock::visualOverflowRect() const
    3838{
    3939    LayoutRect borderRect = borderBoxRect();
  • trunk/Source/WebCore/rendering/svg/RenderSVGBlock.h

    r92152 r93050  
    3333    explicit RenderSVGBlock(SVGElement*);
    3434
    35     virtual IntRect visualOverflowRect() const;
     35    virtual LayoutRect visualOverflowRect() const;
    3636
    3737private:
  • trunk/Source/WebCore/rendering/svg/RenderSVGContainer.cpp

    r90698 r93050  
    9292}
    9393
    94 void RenderSVGContainer::paint(PaintInfo& paintInfo, const IntPoint&)
     94void RenderSVGContainer::paint(PaintInfo& paintInfo, const LayoutPoint&)
    9595{
    9696    if (paintInfo.context->paintingDisabled())
  • trunk/Source/WebCore/rendering/svg/RenderSVGForeignObject.cpp

    r92434 r93050  
    4545}
    4646
    47 void RenderSVGForeignObject::paint(PaintInfo& paintInfo, const IntPoint&)
     47void RenderSVGForeignObject::paint(PaintInfo& paintInfo, const LayoutPoint&)
    4848{
    4949    if (paintInfo.context->paintingDisabled())
     
    6767}
    6868
    69 IntRect RenderSVGForeignObject::clippedOverflowRectForRepaint(RenderBoxModelObject* repaintContainer) const
     69LayoutRect RenderSVGForeignObject::clippedOverflowRectForRepaint(RenderBoxModelObject* repaintContainer) const
    7070{
    7171    return SVGRenderSupport::clippedOverflowRectForRepaint(this, repaintContainer);
    7272}
    7373
    74 void RenderSVGForeignObject::computeRectForRepaint(RenderBoxModelObject* repaintContainer, IntRect& repaintRect, bool fixed) const
     74void RenderSVGForeignObject::computeRectForRepaint(RenderBoxModelObject* repaintContainer, LayoutRect& repaintRect, bool fixed) const
    7575{
    7676    SVGRenderSupport::computeRectForRepaint(this, repaintContainer, repaintRect, fixed);
  • trunk/Source/WebCore/rendering/svg/RenderSVGHiddenContainer.cpp

    r92438 r93050  
    4040}
    4141
    42 void RenderSVGHiddenContainer::paint(PaintInfo&, const IntPoint&)
     42void RenderSVGHiddenContainer::paint(PaintInfo&, const LayoutPoint&)
    4343{
    4444    // This subtree does not paint.
  • trunk/Source/WebCore/rendering/svg/RenderSVGImage.cpp

    r90698 r93050  
    104104}
    105105
    106 void RenderSVGImage::paint(PaintInfo& paintInfo, const IntPoint&)
     106void RenderSVGImage::paint(PaintInfo& paintInfo, const LayoutPoint&)
    107107{
    108108    if (paintInfo.context->paintingDisabled() || style()->visibility() == HIDDEN || !m_imageResource->hasImage())
  • trunk/Source/WebCore/rendering/svg/RenderSVGInlineText.cpp

    r92625 r93050  
    128128}
    129129
    130 IntRect RenderSVGInlineText::linesBoundingBox() const
    131 {
    132     IntRect boundingBox;
     130LayoutRect RenderSVGInlineText::linesBoundingBox() const
     131{
     132    LayoutRect boundingBox;
    133133    for (InlineTextBox* box = firstTextBox(); box; box = box->nextTextBox())
    134134        boundingBox.unite(box->calculateBoundaries());
  • trunk/Source/WebCore/rendering/svg/RenderSVGInlineText.h

    r90675 r93050  
    6161    virtual VisiblePosition positionForPoint(const LayoutPoint&);
    6262    virtual IntRect localCaretRect(InlineBox*, int caretOffset, int* extraWidthToEndOfLine = 0);
    63     virtual IntRect linesBoundingBox() const;
     63    virtual LayoutRect linesBoundingBox() const;
    6464    virtual InlineTextBox* createTextBox();
    6565
  • trunk/Source/WebCore/rendering/svg/RenderSVGModelObject.cpp

    r92438 r93050  
    6262// FIXME: This may also need to move into SVGRenderSupport as the RenderBox version depends
    6363// on borderBoundingBox() which SVG RenderBox subclases (like SVGRenderBlock) do not implement.
    64 IntRect RenderSVGModelObject::outlineBoundsForRepaint(RenderBoxModelObject* repaintContainer, IntPoint*) const
     64LayoutRect RenderSVGModelObject::outlineBoundsForRepaint(RenderBoxModelObject* repaintContainer, LayoutPoint*) const
    6565{
    66     IntRect box = enclosingIntRect(repaintRectInLocalCoordinates());
     66    LayoutRect box = enclosingLayoutRect(repaintRectInLocalCoordinates());
    6767    adjustRectForOutlineAndShadow(box);
    6868
  • trunk/Source/WebCore/rendering/svg/RenderSVGPath.cpp

    r91915 r93050  
    247247}
    248248
    249 void RenderSVGPath::paint(PaintInfo& paintInfo, const IntPoint&)
     249void RenderSVGPath::paint(PaintInfo& paintInfo, const LayoutPoint&)
    250250{
    251251    if (paintInfo.context->paintingDisabled() || style()->visibility() == HIDDEN || m_path.isEmpty())
  • trunk/Source/WebCore/rendering/svg/RenderSVGRoot.cpp

    r92545 r93050  
    347347AffineTransform RenderSVGRoot::localToBorderBoxTransform() const
    348348{
    349     IntSize borderAndPadding = borderOriginToContentBox();
     349    LayoutSize borderAndPadding = borderOriginToContentBox();
    350350    SVGSVGElement* svg = static_cast<SVGSVGElement*>(node());
    351351    float scale = style()->effectiveZoom();
     
    355355}
    356356
    357 IntSize RenderSVGRoot::parentOriginToBorderBox() const
    358 {
    359     return IntSize(x(), y());
    360 }
    361 
    362 IntSize RenderSVGRoot::borderOriginToContentBox() const
    363 {
    364     return IntSize(borderLeft() + paddingLeft(), borderTop() + paddingTop());
    365 }
    366 
    367 AffineTransform RenderSVGRoot::localToRepaintContainerTransform(const IntPoint& parentOriginInContainer) const
     357LayoutSize RenderSVGRoot::parentOriginToBorderBox() const
     358{
     359    return locationOffset();
     360}
     361
     362LayoutSize RenderSVGRoot::borderOriginToContentBox() const
     363{
     364    return LayoutSize(borderLeft() + paddingLeft(), borderTop() + paddingTop());
     365}
     366
     367AffineTransform RenderSVGRoot::localToRepaintContainerTransform(const LayoutPoint& parentOriginInContainer) const
    368368{
    369369    return AffineTransform::translation(parentOriginInContainer.x(), parentOriginInContainer.y()) * localToParentTransform();
     
    372372const AffineTransform& RenderSVGRoot::localToParentTransform() const
    373373{
    374     IntSize parentToBorderBoxOffset = parentOriginToBorderBox();
     374    LayoutSize parentToBorderBoxOffset = parentOriginToBorderBox();
    375375
    376376    m_localToParentTransform = AffineTransform::translation(parentToBorderBoxOffset.width(), parentToBorderBoxOffset.height()) * localToBorderBoxTransform();
     
    379379}
    380380
    381 IntRect RenderSVGRoot::clippedOverflowRectForRepaint(RenderBoxModelObject* repaintContainer) const
     381LayoutRect RenderSVGRoot::clippedOverflowRectForRepaint(RenderBoxModelObject* repaintContainer) const
    382382{
    383383    return SVGRenderSupport::clippedOverflowRectForRepaint(this, repaintContainer);
    384384}
    385385
    386 void RenderSVGRoot::computeRectForRepaint(RenderBoxModelObject* repaintContainer, IntRect& repaintRect, bool fixed) const
     386void RenderSVGRoot::computeRectForRepaint(RenderBoxModelObject* repaintContainer, LayoutRect& repaintRect, bool fixed) const
    387387{
    388388    // Apply our local transforms (except for x/y translation), then our shadow,
     
    391391
    392392    // Apply initial viewport clip - not affected by overflow settings   
    393     repaintRect.intersect(enclosingIntRect(FloatRect(FloatPoint(), m_viewportSize)));
     393    repaintRect.intersect(enclosingLayoutRect(FloatRect(FloatPoint(), m_viewportSize)));
    394394
    395395    const SVGRenderStyle* svgStyle = style()->svgStyle();
  • trunk/Source/WebCore/rendering/svg/RenderSVGRoot.h

    r92545 r93050  
    8888    virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction);
    8989
    90     virtual IntRect clippedOverflowRectForRepaint(RenderBoxModelObject* repaintContainer) const;
    91     virtual void computeRectForRepaint(RenderBoxModelObject* repaintContainer, IntRect& repaintRect, bool fixed) const;
     90    virtual LayoutRect clippedOverflowRectForRepaint(RenderBoxModelObject* repaintContainer) const;
     91    virtual void computeRectForRepaint(RenderBoxModelObject* repaintContainer, LayoutRect& repaintRect, bool fixed) const;
    9292
    9393    virtual void mapLocalToContainer(RenderBoxModelObject* repaintContainer, bool useTransforms, bool fixed, TransformState&, bool* wasFixed = 0) const;
     
    9898    void updateCachedBoundaries();
    9999
    100     IntSize parentOriginToBorderBox() const;
    101     IntSize borderOriginToContentBox() const;
    102     AffineTransform localToRepaintContainerTransform(const IntPoint& parentOriginInContainer) const;
     100    LayoutSize parentOriginToBorderBox() const;
     101    LayoutSize borderOriginToContentBox() const;
     102    AffineTransform localToRepaintContainerTransform(const LayoutPoint& parentOriginInContainer) const;
    103103    AffineTransform localToBorderBoxTransform() const;
    104104
  • trunk/Source/WebCore/rendering/svg/RenderSVGText.cpp

    r92438 r93050  
    230230}
    231231
    232 void RenderSVGText::paint(PaintInfo& paintInfo, const IntPoint&)
     232void RenderSVGText::paint(PaintInfo& paintInfo, const LayoutPoint&)
    233233{
    234234    if (paintInfo.context->paintingDisabled())
  • trunk/Source/WebCore/rendering/svg/SVGInlineFlowBox.cpp

    r90166 r93050  
    5050}
    5151
    52 void SVGInlineFlowBox::paint(PaintInfo& paintInfo, const IntPoint&, int, int)
     52void SVGInlineFlowBox::paint(PaintInfo& paintInfo, const LayoutPoint&, LayoutUnit, LayoutUnit)
    5353{
    5454    ASSERT(paintInfo.phase == PaintPhaseForeground || paintInfo.phase == PaintPhaseSelection);
     
    6666                computeTextMatchMarkerRectForRenderer(toRenderSVGInlineText(static_cast<SVGInlineTextBox*>(child)->textRenderer()));
    6767
    68             child->paint(childPaintInfo, IntPoint(), 0, 0);
     68            child->paint(childPaintInfo, LayoutPoint(), 0, 0);
    6969        }
    7070    }
  • trunk/Source/WebCore/rendering/svg/SVGInlineTextBox.cpp

    r92625 r93050  
    246246}
    247247
    248 void SVGInlineTextBox::paint(PaintInfo& paintInfo, const IntPoint&, int, int)
     248void SVGInlineTextBox::paint(PaintInfo& paintInfo, const LayoutPoint&, LayoutUnit, LayoutUnit)
    249249{
    250250    ASSERT(paintInfo.shouldPaintWithinRoot(renderer()));
  • trunk/Source/WebCore/rendering/svg/SVGRenderSupport.cpp

    r92434 r93050  
    4646namespace WebCore {
    4747
    48 IntRect SVGRenderSupport::clippedOverflowRectForRepaint(const RenderObject* object, RenderBoxModelObject* repaintContainer)
     48LayoutRect SVGRenderSupport::clippedOverflowRectForRepaint(const RenderObject* object, RenderBoxModelObject* repaintContainer)
    4949{
    5050    // Return early for any cases where we don't actually paint
    5151    if (object->style()->visibility() != VISIBLE && !object->enclosingLayer()->hasVisibleContent())
    52         return IntRect();
     52        return LayoutRect();
    5353
    5454    // Pass our local paint rect to computeRectForRepaint() which will
    5555    // map to parent coords and recurse up the parent chain.
    56     IntRect repaintRect = enclosingIntRect(object->repaintRectInLocalCoordinates());
     56    LayoutRect repaintRect = enclosingLayoutRect(object->repaintRectInLocalCoordinates());
    5757    object->computeRectForRepaint(repaintContainer, repaintRect);
    5858    return repaintRect;
    5959}
    6060
    61 void SVGRenderSupport::computeRectForRepaint(const RenderObject* object, RenderBoxModelObject* repaintContainer, IntRect& repaintRect, bool fixed)
     61void SVGRenderSupport::computeRectForRepaint(const RenderObject* object, RenderBoxModelObject* repaintContainer, LayoutRect& repaintRect, bool fixed)
    6262{
    6363    const SVGRenderStyle* svgStyle = object->style()->svgStyle();
  • trunk/Source/WebCore/rendering/svg/SVGRenderSupport.h

    r92434 r93050  
    6262
    6363    // Important functions used by nearly all SVG renderers centralizing coordinate transformations / repaint rect calculations
    64     static IntRect clippedOverflowRectForRepaint(const RenderObject*, RenderBoxModelObject* repaintContainer);
    65     static void computeRectForRepaint(const RenderObject*, RenderBoxModelObject* repaintContainer, IntRect&, bool fixed);
     64    static LayoutRect clippedOverflowRectForRepaint(const RenderObject*, RenderBoxModelObject* repaintContainer);
     65    static void computeRectForRepaint(const RenderObject*, RenderBoxModelObject* repaintContainer, LayoutRect&, bool fixed);
    6666    static void mapLocalToContainer(const RenderObject*, RenderBoxModelObject* repaintContainer, bool useTransforms, bool fixed, TransformState&, bool* wasFixed = 0);
    6767
  • trunk/Source/WebCore/rendering/svg/SVGRootInlineBox.cpp

    r89183 r93050  
    3737namespace WebCore {
    3838
    39 void SVGRootInlineBox::paint(PaintInfo& paintInfo, const IntPoint&, int, int)
     39void SVGRootInlineBox::paint(PaintInfo& paintInfo, const LayoutPoint&, LayoutUnit, LayoutUnit)
    4040{
    4141    ASSERT(paintInfo.phase == PaintPhaseForeground || paintInfo.phase == PaintPhaseSelection);
     
    6565                SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer(toRenderSVGInlineText(static_cast<SVGInlineTextBox*>(child)->textRenderer()));
    6666
    67             child->paint(childPaintInfo, IntPoint(), 0, 0);
     67            child->paint(childPaintInfo, LayoutPoint(), 0, 0);
    6868        }
    6969    }
     
    9393    // Perform SVG text layout phase four
    9494    // Position & resize all SVGInlineText/FlowBoxes in the inline box tree, resize the root box as well as the RenderSVGText parent block.
    95     IntRect childRect;
     95    LayoutRect childRect;
    9696    layoutChildBoxes(this, &childRect);
    9797    layoutRootBox(childRect);
     
    137137}
    138138
    139 void SVGRootInlineBox::layoutChildBoxes(InlineFlowBox* start, IntRect* childRect)
     139void SVGRootInlineBox::layoutChildBoxes(InlineFlowBox* start, LayoutRect* childRect)
    140140{
    141141    for (InlineBox* child = start->firstChild(); child; child = child->nextOnLine()) {
    142         IntRect boxRect;
     142        LayoutRect boxRect;
    143143        if (child->isSVGInlineTextBox()) {
    144144            ASSERT(child->renderer());
     
    172172}
    173173
    174 void SVGRootInlineBox::layoutRootBox(const IntRect& childRect)
     174void SVGRootInlineBox::layoutRootBox(const LayoutRect& childRect)
    175175{
    176176    RenderBlock* parentBlock = block();
    177177    ASSERT(parentBlock);
    178178
    179     int widthBlock = childRect.width();
    180     int heightBlock = childRect.height();
     179    LayoutUnit widthBlock = childRect.width();
     180    LayoutUnit heightBlock = childRect.height();
    181181
    182182    // Finally, assign the root block position, now that all content is laid out.
     
    201201}
    202202
    203 InlineBox* SVGRootInlineBox::closestLeafChildForPosition(const IntPoint& point)
     203InlineBox* SVGRootInlineBox::closestLeafChildForPosition(const LayoutPoint& point)
    204204{
    205205    InlineBox* firstLeaf = firstLeafChild();
  • trunk/Source/WebCore/rendering/svg/SVGRootInlineBox.h

    r90791 r93050  
    5353    virtual FloatRect repaintRectInLocalCoordinates() const { return FloatRect(); }
    5454
    55     InlineBox* closestLeafChildForPosition(const IntPoint&);
     55    InlineBox* closestLeafChildForPosition(const LayoutPoint&);
    5656
    5757private:
    5858    void reorderValueLists(Vector<SVGTextLayoutAttributes>&);
    5959    void layoutCharactersInTextBoxes(InlineFlowBox*, SVGTextLayoutEngine&);
    60     void layoutChildBoxes(InlineFlowBox*, IntRect* = 0);
    61     void layoutRootBox(const IntRect&);
     60    void layoutChildBoxes(InlineFlowBox*, LayoutRect* = 0);
     61    void layoutRootBox(const LayoutRect&);
    6262
    6363private:
Note: See TracChangeset for help on using the changeset viewer.