Changeset 93333 in webkit


Ignore:
Timestamp:
Aug 18, 2011 12:23:22 PM (13 years ago)
Author:
leviw@chromium.org
Message:

Switch Inline rendering classes to new layout types
https://bugs.webkit.org/show_bug.cgi?id=66239

Reviewed by Eric Seidel.

Converting inline rendering classes to use the LayoutUnit abstraction from ints.

No new tests as no change in functionality.

  • rendering/InlineBox.h:

(WebCore::InlineBox::logicalFrameRect):
(WebCore::InlineBox::baselinePosition):
(WebCore::InlineBox::lineHeight):

  • rendering/InlineFlowBox.h:
  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::logicalOverflowRect):
(WebCore::InlineTextBox::setLogicalOverflowRect):
(WebCore::InlineTextBox::baselinePosition):
(WebCore::InlineTextBox::lineHeight):

  • rendering/InlineTextBox.h:

(WebCore::InlineTextBox::logicalTopVisualOverflow):
(WebCore::InlineTextBox::logicalBottomVisualOverflow):
(WebCore::InlineTextBox::logicalLeftVisualOverflow):
(WebCore::InlineTextBox::logicalRightVisualOverflow):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::culledInlineAbsoluteRects):
(WebCore::computeMargin):
(WebCore::RenderInline::culledInlineBoundingBox):
(WebCore::RenderInline::culledInlineVisualOverflowBoundingBox):
(WebCore::RenderInline::linesVisualOverflowBoundingBox):
(WebCore::RenderInline::clippedOverflowRectForRepaint):
(WebCore::RenderInline::rectWithOutlineForRepaint):
(WebCore::RenderInline::computeRectForRepaint):
(WebCore::RenderInline::mapLocalToContainer):
(WebCore::RenderInline::lineHeight):
(WebCore::RenderInline::baselinePosition):
(WebCore::RenderInline::addDashboardRegions):

  • rendering/RenderInline.h:
Location:
trunk/Source/WebCore
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r93332 r93333  
     12011-08-18  Levi Weintraub  <leviw@chromium.org>
     2
     3        Switch Inline rendering classes to new layout types
     4        https://bugs.webkit.org/show_bug.cgi?id=66239
     5
     6        Reviewed by Eric Seidel.
     7
     8        Converting inline rendering classes to use the LayoutUnit abstraction from ints.
     9
     10        No new tests as no change in functionality.
     11
     12        * rendering/InlineBox.h:
     13        (WebCore::InlineBox::logicalFrameRect):
     14        (WebCore::InlineBox::baselinePosition):
     15        (WebCore::InlineBox::lineHeight):
     16        * rendering/InlineFlowBox.h:
     17        * rendering/InlineTextBox.cpp:
     18        (WebCore::InlineTextBox::logicalOverflowRect):
     19        (WebCore::InlineTextBox::setLogicalOverflowRect):
     20        (WebCore::InlineTextBox::baselinePosition):
     21        (WebCore::InlineTextBox::lineHeight):
     22        * rendering/InlineTextBox.h:
     23        (WebCore::InlineTextBox::logicalTopVisualOverflow):
     24        (WebCore::InlineTextBox::logicalBottomVisualOverflow):
     25        (WebCore::InlineTextBox::logicalLeftVisualOverflow):
     26        (WebCore::InlineTextBox::logicalRightVisualOverflow):
     27        * rendering/RenderInline.cpp:
     28        (WebCore::RenderInline::culledInlineAbsoluteRects):
     29        (WebCore::computeMargin):
     30        (WebCore::RenderInline::culledInlineBoundingBox):
     31        (WebCore::RenderInline::culledInlineVisualOverflowBoundingBox):
     32        (WebCore::RenderInline::linesVisualOverflowBoundingBox):
     33        (WebCore::RenderInline::clippedOverflowRectForRepaint):
     34        (WebCore::RenderInline::rectWithOutlineForRepaint):
     35        (WebCore::RenderInline::computeRectForRepaint):
     36        (WebCore::RenderInline::mapLocalToContainer):
     37        (WebCore::RenderInline::lineHeight):
     38        (WebCore::RenderInline::baselinePosition):
     39        (WebCore::RenderInline::addDashboardRegions):
     40        * rendering/RenderInline.h:
     41
    1422011-08-18  Jeffrey Pfau  <jpfau@apple.com>
    243
  • trunk/Source/WebCore/rendering/InlineBox.h

    r90869 r93333  
    272272    LayoutUnit logicalHeight() const;
    273273
    274     FloatRect logicalFrameRect() const { return isHorizontal() ? IntRect(m_topLeft.x(), m_topLeft.y(), m_logicalWidth, logicalHeight()) : IntRect(m_topLeft.y(), m_topLeft.x(), m_logicalWidth, logicalHeight()); }
    275 
    276     virtual int baselinePosition(FontBaseline baselineType) const { return boxModelObject()->baselinePosition(baselineType, m_firstLine, isHorizontal() ? HorizontalLine : VerticalLine, PositionOnContainingLine); }
    277     virtual int lineHeight() const { return boxModelObject()->lineHeight(m_firstLine, isHorizontal() ? HorizontalLine : VerticalLine, PositionOnContainingLine); }
     274    FloatRect logicalFrameRect() const { return isHorizontal() ? FloatRect(m_topLeft.x(), m_topLeft.y(), m_logicalWidth, logicalHeight()) : FloatRect(m_topLeft.y(), m_topLeft.x(), m_logicalWidth, logicalHeight()); }
     275
     276    virtual LayoutUnit baselinePosition(FontBaseline baselineType) const { return boxModelObject()->baselinePosition(baselineType, m_firstLine, isHorizontal() ? HorizontalLine : VerticalLine, PositionOnContainingLine); }
     277    virtual LayoutUnit lineHeight() const { return boxModelObject()->lineHeight(m_firstLine, isHorizontal() ? HorizontalLine : VerticalLine, PositionOnContainingLine); }
    278278   
    279279    virtual int caretMinOffset() const;
  • trunk/Source/WebCore/rendering/InlineFlowBox.h

    r92340 r93333  
    249249    }
    250250
    251     void setOverflowFromLogicalRects(const LayoutRect& logicalLayoutOverflow, const IntRect& logicalVisualOverflow, LayoutUnit lineTop, LayoutUnit lineBottom);
     251    void setOverflowFromLogicalRects(const LayoutRect& logicalLayoutOverflow, const LayoutRect& logicalVisualOverflow, LayoutUnit lineTop, LayoutUnit lineBottom);
    252252    void setLayoutOverflow(const LayoutRect&, LayoutUnit lineTop, LayoutUnit lineBottom);
    253253    void setVisualOverflow(const LayoutRect&, LayoutUnit lineTop, LayoutUnit lineBottom);
  • trunk/Source/WebCore/rendering/InlineTextBox.cpp

    r92625 r93333  
    5454namespace WebCore {
    5555
    56 typedef WTF::HashMap<const InlineTextBox*, IntRect> InlineTextBoxOverflowMap;
     56typedef WTF::HashMap<const InlineTextBox*, LayoutRect> InlineTextBoxOverflowMap;
    5757static InlineTextBoxOverflowMap* gTextBoxesWithOverflow;
    5858
     
    6464}
    6565
    66 IntRect InlineTextBox::logicalOverflowRect() const
     66LayoutRect InlineTextBox::logicalOverflowRect() const
    6767{
    6868    if (m_knownToHaveNoOverflow || !gTextBoxesWithOverflow)
     
    7171}
    7272
    73 void InlineTextBox::setLogicalOverflowRect(const IntRect& rect)
     73void InlineTextBox::setLogicalOverflowRect(const LayoutRect& rect)
    7474{
    7575    ASSERT(!m_knownToHaveNoOverflow);
     
    7979}
    8080
    81 int InlineTextBox::baselinePosition(FontBaseline baselineType) const
     81LayoutUnit InlineTextBox::baselinePosition(FontBaseline baselineType) const
    8282{
    8383    if (!isText() || !parent())
     
    8787    return toRenderBoxModelObject(renderer()->parent())->baselinePosition(baselineType, m_firstLine, isHorizontal() ? HorizontalLine : VerticalLine, PositionOnContainingLine);
    8888}
    89    
    90 int InlineTextBox::lineHeight() const
     89
     90LayoutUnit InlineTextBox::lineHeight() const
    9191{
    9292    if (!isText() || !renderer()->parent())
  • trunk/Source/WebCore/rendering/InlineTextBox.h

    r92625 r93333  
    7979    static inline bool compareByStart(const InlineTextBox* first, const InlineTextBox* second) { return first->start() < second->start(); }
    8080
    81     virtual int baselinePosition(FontBaseline) const;
    82     virtual int lineHeight() const;
     81    virtual LayoutUnit baselinePosition(FontBaseline) const;
     82    virtual LayoutUnit lineHeight() const;
    8383
    8484    bool getEmphasisMarkPosition(RenderStyle*, TextEmphasisPosition&) const;
    8585
    86     IntRect logicalOverflowRect() const;
    87     void setLogicalOverflowRect(const IntRect&);
    88     int logicalTopVisualOverflow() const { return logicalOverflowRect().y(); }
    89     int logicalBottomVisualOverflow() const { return logicalOverflowRect().maxY(); }
    90     int logicalLeftVisualOverflow() const { return logicalOverflowRect().x(); }
    91     int logicalRightVisualOverflow() const { return logicalOverflowRect().maxX(); }
     86    LayoutRect logicalOverflowRect() const;
     87    void setLogicalOverflowRect(const LayoutRect&);
     88    LayoutUnit logicalTopVisualOverflow() const { return logicalOverflowRect().y(); }
     89    LayoutUnit logicalBottomVisualOverflow() const { return logicalOverflowRect().maxY(); }
     90    LayoutUnit logicalLeftVisualOverflow() const { return logicalOverflowRect().x(); }
     91    LayoutUnit logicalRightVisualOverflow() const { return logicalOverflowRect().maxX(); }
    9292
    9393#ifndef NDEBUG
  • trunk/Source/WebCore/rendering/RenderInline.cpp

    r93303 r93333  
    486486}
    487487
    488 void RenderInline::culledInlineAbsoluteRects(const RenderInline* container, Vector<IntRect>& rects, const IntSize& offset)
     488void RenderInline::culledInlineAbsoluteRects(const RenderInline* container, Vector<LayoutRect>& rects, const LayoutSize& offset)
    489489{
    490490    if (!culledInlineFirstLineBox()) {
     
    661661        return margin.value();
    662662    if (margin.isPercent())
    663         return margin.calcMinValue(max(0, renderer->containingBlock()->availableLogicalWidth()));
     663        return margin.calcMinValue(max<LayoutUnit>(0, renderer->containingBlock()->availableLogicalWidth()));
    664664    return 0;
    665665}
     
    838838        }
    839839    }
    840     return enclosingIntRect(result);
     840    return enclosingLayoutRect(result);
    841841}
    842842
     
    889889}
    890890
    891 IntRect RenderInline::culledInlineVisualOverflowBoundingBox() const
    892 {
    893     IntRect result(culledInlineBoundingBox(this));
     891LayoutRect RenderInline::culledInlineVisualOverflowBoundingBox() const
     892{
     893    LayoutRect result(culledInlineBoundingBox(this));
    894894    bool isHorizontal = style()->isHorizontalWritingMode();
    895895    for (RenderObject* curr = firstChild(); curr; curr = curr->nextSibling()) {
     
    901901            RenderBox* currBox = toRenderBox(curr);
    902902            if (!currBox->hasSelfPaintingLayer() && currBox->inlineBoxWrapper()) {
    903                 IntRect logicalRect = currBox->logicalVisualOverflowRectForPropagation(style());
     903                LayoutRect logicalRect = currBox->logicalVisualOverflowRectForPropagation(style());
    904904                if (isHorizontal) {
    905905                    logicalRect.moveBy(currBox->location());
     
    927927}
    928928
    929 IntRect RenderInline::linesVisualOverflowBoundingBox() const
     929LayoutRect RenderInline::linesVisualOverflowBoundingBox() const
    930930{
    931931    if (!alwaysCreateLineBoxes())
     
    933933
    934934    if (!firstLineBox() || !lastLineBox())
    935         return IntRect();
     935        return LayoutRect();
    936936
    937937    // Return the width of the minimal left side and the maximal right side.
    938     int logicalLeftSide = numeric_limits<int>::max();
    939     int logicalRightSide = numeric_limits<int>::min();
     938    LayoutUnit logicalLeftSide = numeric_limits<LayoutUnit>::max();
     939    LayoutUnit logicalRightSide = numeric_limits<LayoutUnit>::min();
    940940    for (InlineFlowBox* curr = firstLineBox(); curr; curr = curr->nextLineBox()) {
    941941        logicalLeftSide = min(logicalLeftSide, curr->logicalLeftVisualOverflow());
     
    946946    RootInlineBox* lastRootBox = lastLineBox()->root();
    947947   
    948     int logicalTop = firstLineBox()->logicalTopVisualOverflow(firstRootBox->lineTop());
    949     int logicalWidth = logicalRightSide - logicalLeftSide;
    950     int logicalHeight = lastLineBox()->logicalBottomVisualOverflow(lastRootBox->lineBottom()) - logicalTop;
    951    
    952     IntRect rect(logicalLeftSide, logicalTop, logicalWidth, logicalHeight);
     948    LayoutUnit logicalTop = firstLineBox()->logicalTopVisualOverflow(firstRootBox->lineTop());
     949    LayoutUnit logicalWidth = logicalRightSide - logicalLeftSide;
     950    LayoutUnit logicalHeight = lastLineBox()->logicalBottomVisualOverflow(lastRootBox->lineBottom()) - logicalTop;
     951   
     952    LayoutRect rect(logicalLeftSide, logicalTop, logicalWidth, logicalHeight);
    953953    if (!style()->isHorizontalWritingMode())
    954954        rect = rect.transposedRect();
     
    956956}
    957957
    958 IntRect RenderInline::clippedOverflowRectForRepaint(RenderBoxModelObject* repaintContainer) const
     958LayoutRect RenderInline::clippedOverflowRectForRepaint(RenderBoxModelObject* repaintContainer) const
    959959{
    960960    // Only run-ins are allowed in here during layout.
     
    962962
    963963    if (!firstLineBoxIncludingCulling() && !continuation())
    964         return IntRect();
     964        return LayoutRect();
    965965
    966966    // Find our leftmost position.
    967     IntRect boundingBox(linesVisualOverflowBoundingBox());
    968     int left = boundingBox.x();
    969     int top = boundingBox.y();
     967    LayoutRect boundingBox(linesVisualOverflowBoundingBox());
     968    LayoutUnit left = boundingBox.x();
     969    LayoutUnit top = boundingBox.y();
    970970
    971971    // Now invalidate a rectangle.
    972     int ow = style() ? style()->outlineSize() : 0;
     972    LayoutUnit ow = style() ? style()->outlineSize() : 0;
    973973   
    974974    // We need to add in the relative position offsets of any inlines (including us) up to our
     
    981981    }
    982982
    983     IntRect r(-ow + left, -ow + top, boundingBox.width() + ow * 2, boundingBox.height() + ow * 2);
     983    LayoutRect r(-ow + left, -ow + top, boundingBox.width() + ow * 2, boundingBox.height() + ow * 2);
    984984
    985985    if (cb->hasColumns())
     
    990990        // layer's size instead.  Even if the layer's size is wrong, the layer itself will repaint
    991991        // anyway if its size does change.
    992         IntRect repaintRect(r);
     992        LayoutRect repaintRect(r);
    993993        repaintRect.move(-cb->layer()->scrolledContentOffset()); // For overflow:auto/scroll/hidden.
    994994
    995         IntRect boxRect(IntPoint(), cb->layer()->size());
     995        LayoutRect boxRect(LayoutPoint(), cb->layer()->size());
    996996        r = intersection(repaintRect, boxRect);
    997997    }
     
    10051005        for (RenderObject* curr = firstChild(); curr; curr = curr->nextSibling()) {
    10061006            if (!curr->isText()) {
    1007                 IntRect childRect = curr->rectWithOutlineForRepaint(repaintContainer, ow);
     1007                LayoutRect childRect = curr->rectWithOutlineForRepaint(repaintContainer, ow);
    10081008                r.unite(childRect);
    10091009            }
     
    10111011
    10121012        if (continuation() && !continuation()->isInline()) {
    1013             IntRect contRect = continuation()->rectWithOutlineForRepaint(repaintContainer, ow);
     1013            LayoutRect contRect = continuation()->rectWithOutlineForRepaint(repaintContainer, ow);
    10141014            r.unite(contRect);
    10151015        }
     
    10191019}
    10201020
    1021 IntRect RenderInline::rectWithOutlineForRepaint(RenderBoxModelObject* repaintContainer, int outlineWidth) const
    1022 {
    1023     IntRect r(RenderBoxModelObject::rectWithOutlineForRepaint(repaintContainer, outlineWidth));
     1021LayoutRect RenderInline::rectWithOutlineForRepaint(RenderBoxModelObject* repaintContainer, LayoutUnit outlineWidth) const
     1022{
     1023    LayoutRect r(RenderBoxModelObject::rectWithOutlineForRepaint(repaintContainer, outlineWidth));
    10241024    for (RenderObject* curr = firstChild(); curr; curr = curr->nextSibling()) {
    10251025        if (!curr->isText())
     
    10291029}
    10301030
    1031 void RenderInline::computeRectForRepaint(RenderBoxModelObject* repaintContainer, IntRect& rect, bool fixed) const
     1031void RenderInline::computeRectForRepaint(RenderBoxModelObject* repaintContainer, LayoutRect& rect, bool fixed) const
    10321032{
    10331033    if (RenderView* v = view()) {
     
    10521052        return;
    10531053
    1054     IntPoint topLeft = rect.location();
     1054    LayoutPoint topLeft = rect.location();
    10551055
    10561056    if (o->isBlockFlow() && style()->position() != AbsolutePosition && style()->position() != FixedPosition) {
    10571057        RenderBlock* cb = toRenderBlock(o);
    10581058        if (cb->hasColumns()) {
    1059             IntRect repaintRect(topLeft, rect.size());
     1059            LayoutRect repaintRect(topLeft, rect.size());
    10601060            cb->adjustRectForColumns(repaintRect);
    10611061            topLeft = repaintRect.location();
     
    10821082        topLeft -= containerBox->layer()->scrolledContentOffset(); // For overflow:auto/scroll/hidden.
    10831083
    1084         IntRect repaintRect(topLeft, rect.size());
    1085         IntRect boxRect(IntPoint(), containerBox->layer()->size());
     1084        LayoutRect repaintRect(topLeft, rect.size());
     1085        LayoutRect boxRect(LayoutPoint(), containerBox->layer()->size());
    10861086        rect = intersection(repaintRect, boxRect);
    10871087        if (rect.isEmpty())
     
    10921092    if (containerSkipped) {
    10931093        // If the repaintContainer is below o, then we need to map the rect into repaintContainer's coordinates.
    1094         IntSize containerOffset = repaintContainer->offsetFromAncestorContainer(o);
     1094        LayoutSize containerOffset = repaintContainer->offsetFromAncestorContainer(o);
    10951095        rect.move(-containerOffset);
    10961096        return;
     
    11541154        // There can't be a transform between repaintContainer and o, because transforms create containers, so it should be safe
    11551155        // to just subtract the delta between the repaintContainer and o.
    1156         IntSize containerOffset = repaintContainer->offsetFromAncestorContainer(o);
     1156        LayoutSize containerOffset = repaintContainer->offsetFromAncestorContainer(o);
    11571157        transformState.move(-containerOffset.width(), -containerOffset.height(), preserve3D ? TransformState::AccumulateTransform : TransformState::FlattenTransform);
    11581158        return;
     
    12721272}
    12731273
    1274 int RenderInline::lineHeight(bool firstLine, LineDirectionMode /*direction*/, LinePositionMode /*linePositionMode*/) const
     1274LayoutUnit RenderInline::lineHeight(bool firstLine, LineDirectionMode /*direction*/, LinePositionMode /*linePositionMode*/) const
    12751275{
    12761276    if (firstLine && document()->usesFirstLineRules()) {
     
    12861286}
    12871287
    1288 int RenderInline::baselinePosition(FontBaseline baselineType, bool firstLine, LineDirectionMode direction, LinePositionMode linePositionMode) const
     1288LayoutUnit RenderInline::baselinePosition(FontBaseline baselineType, bool firstLine, LineDirectionMode direction, LinePositionMode linePositionMode) const
    12891289{
    12901290    const FontMetrics& fontMetrics = style(firstLine)->fontMetrics();
     
    15121512        StyleDashboardRegion styleRegion = styleRegions[i];
    15131513
    1514         IntRect linesBoundingBox = this->linesBoundingBox();
    1515         int w = linesBoundingBox.width();
    1516         int h = linesBoundingBox.height();
     1514        LayoutRect linesBoundingBox = this->linesBoundingBox();
     1515        LayoutUnit w = linesBoundingBox.width();
     1516        LayoutUnit h = linesBoundingBox.height();
    15171517
    15181518        DashboardRegionValue region;
    15191519        region.label = styleRegion.label;
    1520         region.bounds = IntRect(linesBoundingBox.x() + styleRegion.offset.left().value(),
     1520        region.bounds = LayoutRect(linesBoundingBox.x() + styleRegion.offset.left().value(),
    15211521                                linesBoundingBox.y() + styleRegion.offset.top().value(),
    15221522                                w - styleRegion.offset.left().value() - styleRegion.offset.right().value(),
  • trunk/Source/WebCore/rendering/RenderInline.h

    r92692 r93333  
    5353
    5454    LayoutRect linesBoundingBox() const;
    55     IntRect linesVisualOverflowBoundingBox() const;
     55    LayoutRect linesVisualOverflowBoundingBox() const;
    5656
    5757    InlineFlowBox* createAndAppendInlineFlowBox();
     
    100100
    101101    FloatRect culledInlineBoundingBox(const RenderInline* container) const;
    102     IntRect culledInlineVisualOverflowBoundingBox() const;
     102    LayoutRect culledInlineVisualOverflowBoundingBox() const;
    103103    InlineBox* culledInlineFirstLineBox() const;
    104104    InlineBox* culledInlineLastLineBox() const;
    105     void culledInlineAbsoluteRects(const RenderInline* container, Vector<IntRect>&, const IntSize&);
     105    void culledInlineAbsoluteRects(const RenderInline* container, Vector<LayoutRect>&, const LayoutSize&);
    106106    void culledInlineAbsoluteQuads(const RenderInline* container, Vector<FloatQuad>&);
    107107
     
    127127    virtual LayoutUnit offsetHeight() const { return linesBoundingBox().height(); }
    128128
    129     virtual IntRect clippedOverflowRectForRepaint(RenderBoxModelObject* repaintContainer) const;
    130     virtual IntRect rectWithOutlineForRepaint(RenderBoxModelObject* repaintContainer, int outlineWidth) const;
    131     virtual void computeRectForRepaint(RenderBoxModelObject* repaintContainer, IntRect&, bool fixed) const;
     129    virtual LayoutRect clippedOverflowRectForRepaint(RenderBoxModelObject* repaintContainer) const;
     130    virtual LayoutRect rectWithOutlineForRepaint(RenderBoxModelObject* repaintContainer, LayoutUnit outlineWidth) const;
     131    virtual void computeRectForRepaint(RenderBoxModelObject* repaintContainer, LayoutRect&, bool fixed) const;
    132132
    133133    virtual void mapLocalToContainer(RenderBoxModelObject* repaintContainer, bool fixed, bool useTransforms, TransformState&, bool* wasFixed = 0) const;
     
    146146    virtual void dirtyLinesFromChangedChild(RenderObject* child) { m_lineBoxes.dirtyLinesFromChangedChild(this, child); }
    147147
    148     virtual int lineHeight(bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const;
    149     virtual int baselinePosition(FontBaseline, bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const;
     148    virtual LayoutUnit lineHeight(bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const;
     149    virtual LayoutUnit baselinePosition(FontBaseline, bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const;
    150150   
    151151    virtual void childBecameNonInline(RenderObject* child);
     
    170170    RenderLineBoxList m_lineBoxes;   // All of the line boxes created for this inline flow.  For example, <i>Hello<br>world.</i> will have two <i> line boxes.
    171171
    172     mutable int m_lineHeight : 31;
     172    mutable LayoutUnit m_lineHeight;
    173173    bool m_alwaysCreateLineBoxes : 1;
    174174};
Note: See TracChangeset for help on using the changeset viewer.