SimpleXULLeafFrame.h (1543B)
1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 2 /* vim: set ts=8 sts=2 et sw=2 tw=80: */ 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 // A simple frame class for XUL frames that are leafs on the tree but need 8 // background / border painting, and for some reason or another need special 9 // code (like event handling code) which we haven't ported to the DOM. 10 // 11 // This should generally not be used for new frame classes. 12 13 #ifndef mozilla_SimpleXULLeafFrame_h 14 #define mozilla_SimpleXULLeafFrame_h 15 16 #include "nsLeafFrame.h" 17 18 namespace mozilla { 19 20 // Shared class for thumb and scrollbar buttons. 21 class SimpleXULLeafFrame : public nsLeafFrame { 22 public: 23 NS_DECL_FRAMEARENA_HELPERS(SimpleXULLeafFrame) 24 25 void Reflow(nsPresContext* aPresContext, ReflowOutput& aDesiredSize, 26 const ReflowInput& aReflowInput, 27 nsReflowStatus& aStatus) override; 28 SimpleXULLeafFrame(ComputedStyle* aStyle, nsPresContext* aPresContext, 29 ClassID aClassID) 30 : nsLeafFrame(aStyle, aPresContext, aClassID) {} 31 32 SimpleXULLeafFrame(ComputedStyle* aStyle, nsPresContext* aPresContext) 33 : SimpleXULLeafFrame(aStyle, aPresContext, kClassID) {} 34 35 friend nsIFrame* NS_NewSimpleXULLeafFrame(mozilla::PresShell* aPresShell, 36 ComputedStyle* aStyle); 37 }; 38 39 } // namespace mozilla 40 41 #endif