X-Git-Url: https://git.webkit.org/?p=WebKit-https.git;a=blobdiff_plain;f=Source%2FWebCore%2Flayout%2FFormattingContext.h;h=5379ebdb3baddf805b6f3ac221b71c5afa6850e3;hp=3a4f5704e15e2b21474afdb531ce41acfc918e98;hb=69d8b0290ea825a1cc6912c16696a20674f0d3dd;hpb=3252af4316348a83686ead4deaad305a2b49a6f8;ds=sidebyside diff --git a/Source/WebCore/layout/FormattingContext.h b/Source/WebCore/layout/FormattingContext.h index 3a4f5704e15e..5379ebdb3bad 100644 --- a/Source/WebCore/layout/FormattingContext.h +++ b/Source/WebCore/layout/FormattingContext.h @@ -34,6 +34,10 @@ namespace WebCore { +namespace Display { +class Box; +} + namespace Layout { class Box; @@ -52,23 +56,29 @@ public: virtual Ref createOrFindFloatingState() const = 0; protected: + struct LayoutPair { + const Box& layoutBox; + Display::Box& displayBox; + }; + using LayoutQueue = Vector>; + const Box& root() const { return *m_root; } const LayoutContext& layoutContext() const { return m_layoutContext; } - virtual void computeStaticPosition(const Box&) const; - virtual void computeInFlowPositionedPosition(const Box&) const; - virtual void computeOutOfFlowPosition(const Box&) const; + virtual void computeStaticPosition(const Box&, Display::Box&) const; + virtual void computeInFlowPositionedPosition(const Box&, Display::Box&) const; + virtual void computeOutOfFlowPosition(const Box&, Display::Box&) const; - virtual void computeWidth(const Box&) const; - virtual void computeHeight(const Box&) const; + virtual void computeWidth(const Box&, Display::Box&) const; + virtual void computeHeight(const Box&, Display::Box&) const; - virtual void computeOutOfFlowWidth(const Box&) const; - virtual void computeFloatingWidth(const Box&) const; - virtual void computeInFlowWidth(const Box&) const = 0; + virtual void computeOutOfFlowWidth(const Box&, Display::Box&) const; + virtual void computeFloatingWidth(const Box&, Display::Box&) const; + virtual void computeInFlowWidth(const Box&, Display::Box&) const = 0; - virtual void computeOutOfFlowHeight(const Box&) const; - virtual void computeFloatingHeight(const Box&) const; - virtual void computeInFlowHeight(const Box&) const = 0; + virtual void computeOutOfFlowHeight(const Box&, Display::Box&) const; + virtual void computeFloatingHeight(const Box&, Display::Box&) const; + virtual void computeInFlowHeight(const Box&, Display::Box&) const = 0; virtual LayoutUnit marginTop(const Box&) const; virtual LayoutUnit marginLeft(const Box&) const;