nsListBoxLayout.h 1.0 KB

123456789101112131415161718192021222324252627282930313233
  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 nsListBoxLayout_h___
  6. #define nsListBoxLayout_h___
  7. #include "mozilla/Attributes.h"
  8. #include "nsGridRowGroupLayout.h"
  9. class nsIFrame;
  10. typedef class nsIFrame nsIFrame;
  11. class nsBoxLayoutState;
  12. class nsListBoxLayout : public nsGridRowGroupLayout
  13. {
  14. public:
  15. nsListBoxLayout();
  16. // nsBoxLayout
  17. NS_IMETHOD XULLayout(nsIFrame* aBox, nsBoxLayoutState& aState) override;
  18. virtual nsSize GetXULPrefSize(nsIFrame* aBox, nsBoxLayoutState& aBoxLayoutState) override;
  19. virtual nsSize GetXULMinSize(nsIFrame* aBox, nsBoxLayoutState& aBoxLayoutState) override;
  20. virtual nsSize GetXULMaxSize(nsIFrame* aBox, nsBoxLayoutState& aBoxLayoutState) override;
  21. protected:
  22. NS_IMETHOD LayoutInternal(nsIFrame* aBox, nsBoxLayoutState& aState);
  23. };
  24. #endif