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 nsGfxCheckboxControlFrame_h___ 6 #define nsGfxCheckboxControlFrame_h___ 7 8 #include "mozilla/Attributes.h" 9 #include "nsFormControlFrame.h" 10 11 class nsGfxCheckboxControlFrame : public nsFormControlFrame 12 { 13 public: 14 NS_DECL_FRAMEARENA_HELPERS 15 16 explicit nsGfxCheckboxControlFrame(nsStyleContext* aContext); 17 virtual ~nsGfxCheckboxControlFrame(); 18 19 #ifdef DEBUG_FRAME_DUMP GetFrameName(nsAString & aResult)20 virtual nsresult GetFrameName(nsAString& aResult) const override { 21 return MakeFrameName(NS_LITERAL_STRING("CheckboxControl"), aResult); 22 } 23 #endif 24 25 virtual void BuildDisplayList(nsDisplayListBuilder* aBuilder, 26 const nsRect& aDirtyRect, 27 const nsDisplayListSet& aLists) override; 28 29 #ifdef ACCESSIBILITY 30 virtual mozilla::a11y::AccType AccessibleType() override; 31 #endif 32 33 protected: 34 35 bool IsChecked(); 36 bool IsIndeterminate(); 37 }; 38 39 #endif 40 41