LEFT | RIGHT |
1 /* | 1 /* |
2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) |
3 * (C) 2000 Antti Koivisto (koivisto@kde.org) | 3 * (C) 2000 Antti Koivisto (koivisto@kde.org) |
4 * (C) 2000 Dirk Mueller (mueller@kde.org) | 4 * (C) 2000 Dirk Mueller (mueller@kde.org) |
5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com) | 5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com) |
6 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2012 Apple Inc. All r
ights reserved. | 6 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2012 Apple Inc. All r
ights reserved. |
7 * Copyright (C) 2009 Google Inc. All rights reserved. | 7 * Copyright (C) 2009 Google Inc. All rights reserved. |
8 * | 8 * |
9 * This library is free software; you can redistribute it and/or | 9 * This library is free software; you can redistribute it and/or |
10 * modify it under the terms of the GNU Library General Public | 10 * modify it under the terms of the GNU Library General Public |
(...skipping 267 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
278 #endif | 278 #endif |
279 virtual bool isRenderGrid() const { return false; } | 279 virtual bool isRenderGrid() const { return false; } |
280 bool isInFlowRenderFragmentedFlow() const { return isRenderFragmentedFlow()
&& !isOutOfFlowPositioned(); } | 280 bool isInFlowRenderFragmentedFlow() const { return isRenderFragmentedFlow()
&& !isOutOfFlowPositioned(); } |
281 bool isOutOfFlowRenderFragmentedFlow() const { return isRenderFragmentedFlow
() && isOutOfFlowPositioned(); } | 281 bool isOutOfFlowRenderFragmentedFlow() const { return isRenderFragmentedFlow
() && isOutOfFlowPositioned(); } |
282 | 282 |
283 virtual bool isMultiColumnBlockFlow() const { return false; } | 283 virtual bool isMultiColumnBlockFlow() const { return false; } |
284 virtual bool isRenderMultiColumnSet() const { return false; } | 284 virtual bool isRenderMultiColumnSet() const { return false; } |
285 virtual bool isRenderMultiColumnFlow() const { return false; } | 285 virtual bool isRenderMultiColumnFlow() const { return false; } |
286 virtual bool isRenderMultiColumnSpannerPlaceholder() const { return false; } | 286 virtual bool isRenderMultiColumnSpannerPlaceholder() const { return false; } |
287 | 287 |
288 virtual bool isRenderLinesClampFlow() const { return false; } | |
289 virtual bool isRenderLinesClampSet() const { return false; } | |
290 | |
291 virtual bool isRenderScrollbarPart() const { return false; } | 288 virtual bool isRenderScrollbarPart() const { return false; } |
292 | 289 |
293 bool isDocumentElementRenderer() const { return document().documentElement()
== &m_node; } | 290 bool isDocumentElementRenderer() const { return document().documentElement()
== &m_node; } |
294 bool isBody() const { return node() && node()->hasTagName(HTMLNames::bodyTag
); } | 291 bool isBody() const { return node() && node()->hasTagName(HTMLNames::bodyTag
); } |
295 bool isHR() const { return node() && node()->hasTagName(HTMLNames::hrTag); } | 292 bool isHR() const { return node() && node()->hasTagName(HTMLNames::hrTag); } |
296 bool isLegend() const; | 293 bool isLegend() const; |
297 | 294 |
298 bool isHTMLMarquee() const; | 295 bool isHTMLMarquee() const; |
299 | 296 |
300 bool isTablePart() const { return isTableCell() || isRenderTableCol() || isT
ableCaption() || isTableRow() || isTableSection(); } | 297 bool isTablePart() const { return isTableCell() || isRenderTableCol() || isT
ableCaption() || isTableRow() || isTableSection(); } |
(...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
575 | 572 |
576 bool hitTest(const HitTestRequest&, HitTestResult&, const HitTestLocation& l
ocationInContainer, const LayoutPoint& accumulatedOffset, HitTestFilter = HitTes
tAll); | 573 bool hitTest(const HitTestRequest&, HitTestResult&, const HitTestLocation& l
ocationInContainer, const LayoutPoint& accumulatedOffset, HitTestFilter = HitTes
tAll); |
577 virtual void updateHitTestResult(HitTestResult&, const LayoutPoint&); | 574 virtual void updateHitTestResult(HitTestResult&, const LayoutPoint&); |
578 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTes
tLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAct
ion); | 575 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTes
tLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAct
ion); |
579 | 576 |
580 virtual Position positionForPoint(const LayoutPoint&); | 577 virtual Position positionForPoint(const LayoutPoint&); |
581 virtual VisiblePosition positionForPoint(const LayoutPoint&, const RenderFra
gmentContainer*); | 578 virtual VisiblePosition positionForPoint(const LayoutPoint&, const RenderFra
gmentContainer*); |
582 VisiblePosition createVisiblePosition(int offset, EAffinity) const; | 579 VisiblePosition createVisiblePosition(int offset, EAffinity) const; |
583 VisiblePosition createVisiblePosition(const Position&) const; | 580 VisiblePosition createVisiblePosition(const Position&) const; |
584 | 581 |
585 // Returns the containing block level element for this element. | 582 // returns the containing block level element for this element. |
586 WEBCORE_EXPORT RenderBlock* containingBlock() const; | 583 WEBCORE_EXPORT RenderBlock* containingBlock() const; |
587 RenderBlock* containingBlockForObjectInFlow() const; | 584 RenderBlock* containingBlockForObjectInFlow() const; |
588 | 585 |
589 // Convert the given local point to absolute coordinates. If MapCoordinatesF
lags includes UseTransforms, take transforms into account. | 586 // Convert the given local point to absolute coordinates. If MapCoordinatesF
lags includes UseTransforms, take transforms into account. |
590 WEBCORE_EXPORT FloatPoint localToAbsolute(const FloatPoint& localPoint = Flo
atPoint(), MapCoordinatesFlags = 0, bool* wasFixed = nullptr) const; | 587 WEBCORE_EXPORT FloatPoint localToAbsolute(const FloatPoint& localPoint = Flo
atPoint(), MapCoordinatesFlags = 0, bool* wasFixed = nullptr) const; |
591 FloatPoint absoluteToLocal(const FloatPoint&, MapCoordinatesFlags = 0) const
; | 588 FloatPoint absoluteToLocal(const FloatPoint&, MapCoordinatesFlags = 0) const
; |
592 | 589 |
593 // Convert a local quad to absolute coordinates, taking transforms into acco
unt. | 590 // Convert a local quad to absolute coordinates, taking transforms into acco
unt. |
594 FloatQuad localToAbsoluteQuad(const FloatQuad& quad, MapCoordinatesFlags mod
e = UseTransforms, bool* wasFixed = nullptr) const | 591 FloatQuad localToAbsoluteQuad(const FloatQuad& quad, MapCoordinatesFlags mod
e = UseTransforms, bool* wasFixed = nullptr) const |
595 { | 592 { |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
672 | 669 |
673 // Given a rect in the object's coordinate space, compute a rect suitable fo
r repainting | 670 // Given a rect in the object's coordinate space, compute a rect suitable fo
r repainting |
674 // that rect in view coordinates. | 671 // that rect in view coordinates. |
675 LayoutRect computeAbsoluteRepaintRect(const LayoutRect& r, bool fixed = fals
e) const | 672 LayoutRect computeAbsoluteRepaintRect(const LayoutRect& r, bool fixed = fals
e) const |
676 { | 673 { |
677 return computeRectForRepaint(r, nullptr, { fixed, false }); | 674 return computeRectForRepaint(r, nullptr, { fixed, false }); |
678 } | 675 } |
679 // Given a rect in the object's coordinate space, compute a rect suitable fo
r repainting | 676 // Given a rect in the object's coordinate space, compute a rect suitable fo
r repainting |
680 // that rect in the coordinate space of repaintContainer. | 677 // that rect in the coordinate space of repaintContainer. |
681 struct RepaintContext { | 678 struct RepaintContext { |
682 RepaintContext(bool hasPositionFixedDescendant = false, bool dirtyRectIs
Flipped = false) | 679 RepaintContext(bool hasPositionFixedDescendant = false, bool dirtyRectIs
Flipped = false, bool useInclusiveIntersection = false, bool* intersects = nullp
tr) |
683 : m_hasPositionFixedDescendant(hasPositionFixedDescendant) | 680 : m_hasPositionFixedDescendant(hasPositionFixedDescendant) |
684 , m_dirtyRectIsFlipped(dirtyRectIsFlipped) | 681 , m_dirtyRectIsFlipped(dirtyRectIsFlipped) |
| 682 , m_useInclusiveIntersection(useInclusiveIntersection) |
| 683 , m_intersects(intersects) |
685 { | 684 { |
686 } | 685 } |
687 bool m_hasPositionFixedDescendant; | 686 bool m_hasPositionFixedDescendant; |
688 bool m_dirtyRectIsFlipped; | 687 bool m_dirtyRectIsFlipped; |
| 688 bool m_useInclusiveIntersection; |
| 689 bool* m_intersects; |
689 }; | 690 }; |
690 virtual LayoutRect computeRectForRepaint(const LayoutRect&, const RenderLaye
rModelObject* repaintContainer, RepaintContext = { }) const; | 691 virtual LayoutRect computeRectForRepaint(const LayoutRect&, const RenderLaye
rModelObject* repaintContainer, RepaintContext = { }) const; |
691 virtual FloatRect computeFloatRectForRepaint(const FloatRect&, const RenderL
ayerModelObject* repaintContainer, bool fixed = false) const; | 692 virtual FloatRect computeFloatRectForRepaint(const FloatRect&, const RenderL
ayerModelObject* repaintContainer, bool fixed = false, bool useInclusiveIntersec
tion = false, bool* intersects = nullptr) const; |
692 | 693 |
693 virtual unsigned int length() const { return 1; } | 694 virtual unsigned int length() const { return 1; } |
694 | 695 |
695 bool isFloatingOrOutOfFlowPositioned() const { return (isFloating() || isOut
OfFlowPositioned()); } | 696 bool isFloatingOrOutOfFlowPositioned() const { return (isFloating() || isOut
OfFlowPositioned()); } |
696 | 697 |
697 enum SelectionState { | 698 enum SelectionState { |
698 SelectionNone, // The object is not selected. | 699 SelectionNone, // The object is not selected. |
699 SelectionStart, // The object either contains the start of a selection r
un or is the start of a run | 700 SelectionStart, // The object either contains the start of a selection r
un or is the start of a run |
700 SelectionInside, // The object is fully encompassed by a selection run | 701 SelectionInside, // The object is fully encompassed by a selection run |
701 SelectionEnd, // The object either contains the end of a selection run o
r is the end of a run | 702 SelectionEnd, // The object either contains the end of a selection run o
r is the end of a run |
(...skipping 410 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1112 SPECIALIZE_TYPE_TRAITS_BEGIN(WebCore::ToValueTypeName) \ | 1113 SPECIALIZE_TYPE_TRAITS_BEGIN(WebCore::ToValueTypeName) \ |
1113 static bool isType(const WebCore::RenderObject& renderer) { return renderer.
predicate; } \ | 1114 static bool isType(const WebCore::RenderObject& renderer) { return renderer.
predicate; } \ |
1114 SPECIALIZE_TYPE_TRAITS_END() | 1115 SPECIALIZE_TYPE_TRAITS_END() |
1115 | 1116 |
1116 #if ENABLE(TREE_DEBUGGING) | 1117 #if ENABLE(TREE_DEBUGGING) |
1117 // Outside the WebCore namespace for ease of invocation from the debugger. | 1118 // Outside the WebCore namespace for ease of invocation from the debugger. |
1118 void showNodeTree(const WebCore::RenderObject*); | 1119 void showNodeTree(const WebCore::RenderObject*); |
1119 void showLineTree(const WebCore::RenderObject*); | 1120 void showLineTree(const WebCore::RenderObject*); |
1120 void showRenderTree(const WebCore::RenderObject*); | 1121 void showRenderTree(const WebCore::RenderObject*); |
1121 #endif | 1122 #endif |
LEFT | RIGHT |