OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
4 * Copyright (C) 2003, 2006, 2007, 2015 Apple Inc. All rights reserved. | 4 * Copyright (C) 2003, 2006, 2007, 2015 Apple Inc. All rights reserved. |
5 * | 5 * |
6 * This library is free software; you can redistribute it and/or | 6 * This library is free software; you can redistribute it and/or |
7 * modify it under the terms of the GNU Library General Public | 7 * modify it under the terms of the GNU Library General Public |
8 * License as published by the Free Software Foundation; either | 8 * License as published by the Free Software Foundation; either |
9 * version 2 of the License, or (at your option) any later version. | 9 * version 2 of the License, or (at your option) any later version. |
10 * | 10 * |
(...skipping 353 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
364 void dirtyLineBoxes(bool fullLayout); | 364 void dirtyLineBoxes(bool fullLayout); |
365 | 365 |
366 // For inline replaced elements, this function returns the inline box that o
wns us. Enables | 366 // For inline replaced elements, this function returns the inline box that o
wns us. Enables |
367 // the replaced RenderObject to quickly determine what line it is contained
on and to easily | 367 // the replaced RenderObject to quickly determine what line it is contained
on and to easily |
368 // iterate over structures on the line. | 368 // iterate over structures on the line. |
369 InlineElementBox* inlineBoxWrapper() const { return m_inlineBoxWrapper; } | 369 InlineElementBox* inlineBoxWrapper() const { return m_inlineBoxWrapper; } |
370 void setInlineBoxWrapper(InlineElementBox*); | 370 void setInlineBoxWrapper(InlineElementBox*); |
371 void deleteLineBoxWrapper(); | 371 void deleteLineBoxWrapper(); |
372 | 372 |
373 LayoutRect clippedOverflowRectForRepaint(const RenderLayerModelObject* repai
ntContainer) const override; | 373 LayoutRect clippedOverflowRectForRepaint(const RenderLayerModelObject* repai
ntContainer) const override; |
374 LayoutRect computeRectForRepaint(const LayoutRect&, const RenderLayerModelOb
ject* repaintContainer, RepaintContext context = { false, false }) const overrid
e; | 374 std::optional<LayoutRect> computeVisibleRectInContainer(const LayoutRect&, c
onst RenderLayerModelObject* container, VisibleRectContext) const |
| 375 override; |
375 void repaintDuringLayoutIfMoved(const LayoutRect&); | 376 void repaintDuringLayoutIfMoved(const LayoutRect&); |
376 virtual void repaintOverhangingFloats(bool paintAllDescendants); | 377 virtual void repaintOverhangingFloats(bool paintAllDescendants); |
377 | 378 |
378 LayoutUnit containingBlockLogicalWidthForContent() const override; | 379 LayoutUnit containingBlockLogicalWidthForContent() const override; |
379 LayoutUnit containingBlockLogicalHeightForContent(AvailableLogicalHeightType
) const; | 380 LayoutUnit containingBlockLogicalHeightForContent(AvailableLogicalHeightType
) const; |
380 | 381 |
381 LayoutUnit containingBlockLogicalWidthForContentInFragment(RenderFragmentCon
tainer*) const; | 382 LayoutUnit containingBlockLogicalWidthForContentInFragment(RenderFragmentCon
tainer*) const; |
382 LayoutUnit containingBlockAvailableLineWidthInFragment(RenderFragmentContain
er*) const; | 383 LayoutUnit containingBlockAvailableLineWidthInFragment(RenderFragmentContain
er*) const; |
383 LayoutUnit perpendicularContainingBlockLogicalHeight() const; | 384 LayoutUnit perpendicularContainingBlockLogicalHeight() const; |
384 | 385 |
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
561 | 562 |
562 bool hasRenderOverflow() const { return m_overflow; }···· | 563 bool hasRenderOverflow() const { return m_overflow; }···· |
563 bool hasVisualOverflow() const { return m_overflow && !borderBoxRect().conta
ins(m_overflow->visualOverflowRect()); } | 564 bool hasVisualOverflow() const { return m_overflow && !borderBoxRect().conta
ins(m_overflow->visualOverflowRect()); } |
564 | 565 |
565 virtual bool needsPreferredWidthsRecalculation() const; | 566 virtual bool needsPreferredWidthsRecalculation() const; |
566 virtual void computeIntrinsicRatioInformation(FloatSize& /* intrinsicSize */
, double& /* intrinsicRatio */) const { } | 567 virtual void computeIntrinsicRatioInformation(FloatSize& /* intrinsicSize */
, double& /* intrinsicRatio */) const { } |
567 | 568 |
568 ScrollPosition scrollPosition() const; | 569 ScrollPosition scrollPosition() const; |
569 LayoutSize cachedSizeForOverflowClip() const; | 570 LayoutSize cachedSizeForOverflowClip() const; |
570 | 571 |
571 bool shouldApplyClipAndScrollPositionForRepaint(const RenderLayerModelObject
* repaintContainer) const; | 572 bool applyCachedClipAndScrollPosition(LayoutRect&, const RenderLayerModelObj
ect* container, bool applyCompositedClips, bool applyCompositedContainerScrolls,
bool useEdgeInclusiveIntersection) const; |
572 void applyCachedClipAndScrollPositionForRepaint(LayoutRect& paintRect) const
; | |
573 | 573 |
574 virtual bool hasRelativeDimensions() const; | 574 virtual bool hasRelativeDimensions() const; |
575 virtual bool hasRelativeLogicalHeight() const; | 575 virtual bool hasRelativeLogicalHeight() const; |
576 virtual bool hasRelativeLogicalWidth() const; | 576 virtual bool hasRelativeLogicalWidth() const; |
577 | 577 |
578 bool hasHorizontalLayoutOverflow() const | 578 bool hasHorizontalLayoutOverflow() const |
579 { | 579 { |
580 if (!m_overflow) | 580 if (!m_overflow) |
581 return false; | 581 return false; |
582 | 582 |
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
706 LayoutUnit fillAvailableMeasure(LayoutUnit availableLogicalWidth, LayoutUnit
& marginStart, LayoutUnit& marginEnd) const; | 706 LayoutUnit fillAvailableMeasure(LayoutUnit availableLogicalWidth, LayoutUnit
& marginStart, LayoutUnit& marginEnd) const; |
707 | 707 |
708 virtual void computeIntrinsicLogicalWidths(LayoutUnit& minLogicalWidth, Layo
utUnit& maxLogicalWidth) const; | 708 virtual void computeIntrinsicLogicalWidths(LayoutUnit& minLogicalWidth, Layo
utUnit& maxLogicalWidth) const; |
709 | 709 |
710 // This function calculates the minimum and maximum preferred widths for an
object. | 710 // This function calculates the minimum and maximum preferred widths for an
object. |
711 // These values are used in shrink-to-fit layout systems. | 711 // These values are used in shrink-to-fit layout systems. |
712 // These include tables, positioned objects, floats and flexible boxes. | 712 // These include tables, positioned objects, floats and flexible boxes. |
713 virtual void computePreferredLogicalWidths() { setPreferredLogicalWidthsDirt
y(false); } | 713 virtual void computePreferredLogicalWidths() { setPreferredLogicalWidthsDirt
y(false); } |
714 | 714 |
715 LayoutRect frameRectForStickyPositioning() const final { return frameRect();
} | 715 LayoutRect frameRectForStickyPositioning() const final { return frameRect();
} |
| 716 |
| 717 LayoutRect computeAbsoluteVisibleRectUsingPaintOffsetCache(const LayoutRect&
) const; |
716 ···· | 718 ···· |
717 void applyTopLeftLocationOffsetWithFlipping(LayoutPoint&) const; | 719 void applyTopLeftLocationOffsetWithFlipping(LayoutPoint&) const; |
718 | 720 |
719 private: | 721 private: |
720 // The width/height of the contents + borders + padding. The x/y location i
s relative to our container (which is not always our parent). | 722 // The width/height of the contents + borders + padding. The x/y location i
s relative to our container (which is not always our parent). |
721 LayoutRect m_frameRect; | 723 LayoutRect m_frameRect; |
722 | 724 |
723 protected: | 725 protected: |
724 LayoutBoxExtent m_marginBox; | 726 LayoutBoxExtent m_marginBox; |
725 | 727 |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
796 if (UNLIKELY(m_inlineBoxWrapper != nullptr)) | 798 if (UNLIKELY(m_inlineBoxWrapper != nullptr)) |
797 deleteLineBoxWrapper(); | 799 deleteLineBoxWrapper(); |
798 } | 800 } |
799 | 801 |
800 m_inlineBoxWrapper = boxWrapper; | 802 m_inlineBoxWrapper = boxWrapper; |
801 } | 803 } |
802 | 804 |
803 } // namespace WebCore | 805 } // namespace WebCore |
804 | 806 |
805 SPECIALIZE_TYPE_TRAITS_RENDER_OBJECT(RenderBox, isBox()) | 807 SPECIALIZE_TYPE_TRAITS_RENDER_OBJECT(RenderBox, isBox()) |
OLD | NEW |