Line data Source code
1 : /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 : // vim:cindent:ts=2:et:sw=2:
3 : /* This Source Code Form is subject to the terms of the Mozilla Public
4 : * License, v. 2.0. If a copy of the MPL was not distributed with this
5 : * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 :
7 : /* rendering object for CSS "::backdrop" */
8 :
9 : #ifndef nsBackdropFrame_h___
10 : #define nsBackdropFrame_h___
11 :
12 : #include "nsFrame.h"
13 :
14 0 : class nsBackdropFrame final : public nsFrame
15 : {
16 : public:
17 0 : NS_DECL_FRAMEARENA_HELPERS(nsBackdropFrame)
18 :
19 0 : explicit nsBackdropFrame(nsStyleContext* aContext)
20 0 : : nsFrame(aContext, kClassID)
21 0 : {}
22 :
23 : #ifdef DEBUG_FRAME_DUMP
24 : virtual nsresult GetFrameName(nsAString& aResult) const override;
25 : #endif
26 : virtual nsStyleContext*
27 : GetParentStyleContext(nsIFrame** aProviderFrame) const override;
28 : virtual void BuildDisplayList(nsDisplayListBuilder* aBuilder,
29 : const nsRect& aDirtyRect,
30 : const nsDisplayListSet& aLists) override;
31 : virtual mozilla::LogicalSize
32 : ComputeAutoSize(gfxContext* aRenderingContext,
33 : mozilla::WritingMode aWM,
34 : const mozilla::LogicalSize& aCBSize,
35 : nscoord aAvailableISize,
36 : const mozilla::LogicalSize& aMargin,
37 : const mozilla::LogicalSize& aBorder,
38 : const mozilla::LogicalSize& aPadding,
39 : ComputeSizeFlags aFlags) override;
40 : virtual void Reflow(nsPresContext* aPresContext,
41 : ReflowOutput& aDesiredSize,
42 : const ReflowInput& aReflowInput,
43 : nsReflowStatus& aStatus) override;
44 : };
45 :
46 : #endif // nsBackdropFrame_h___
|