Line data Source code
1 : /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 : /* This Source Code Form is subject to the terms of the Mozilla Public
3 : * License, v. 2.0. If a copy of the MPL was not distributed with this
4 : * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5 : #ifndef nsPageContentFrame_h___
6 : #define nsPageContentFrame_h___
7 :
8 : #include "mozilla/Attributes.h"
9 : #include "mozilla/ViewportFrame.h"
10 :
11 : class nsPageFrame;
12 : class nsSharedPageData;
13 :
14 : // Page frame class used by the simple page sequence frame
15 0 : class nsPageContentFrame final : public mozilla::ViewportFrame
16 : {
17 : public:
18 0 : NS_DECL_FRAMEARENA_HELPERS(nsPageContentFrame)
19 :
20 : friend nsPageContentFrame* NS_NewPageContentFrame(nsIPresShell* aPresShell,
21 : nsStyleContext* aContext);
22 : friend class nsPageFrame;
23 :
24 : // nsIFrame
25 : virtual void Reflow(nsPresContext* aPresContext,
26 : ReflowOutput& aDesiredSize,
27 : const ReflowInput& aMaxSize,
28 : nsReflowStatus& aStatus) override;
29 :
30 0 : virtual bool IsFrameOfType(uint32_t aFlags) const override
31 : {
32 0 : return ViewportFrame::IsFrameOfType(aFlags &
33 0 : ~(nsIFrame::eCanContainOverflowContainers));
34 : }
35 :
36 0 : virtual void SetSharedPageData(nsSharedPageData* aPD) { mPD = aPD; }
37 :
38 0 : virtual bool HasTransformGetter() const override { return true; }
39 :
40 : /**
41 : * Return our canvas frame.
42 : */
43 : void AppendDirectlyOwnedAnonBoxes(nsTArray<OwnedAnonBox>& aResult) override;
44 :
45 : #ifdef DEBUG_FRAME_DUMP
46 : // Debugging
47 : virtual nsresult GetFrameName(nsAString& aResult) const override;
48 : #endif
49 :
50 : protected:
51 0 : explicit nsPageContentFrame(nsStyleContext* aContext)
52 0 : : ViewportFrame(aContext, kClassID)
53 0 : {}
54 :
55 : nsSharedPageData* mPD;
56 : };
57 :
58 : #endif /* nsPageContentFrame_h___ */
59 :
|