2002-01-12 04:18:10 +03:00
|
|
|
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
2012-05-21 15:12:37 +04:00
|
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
2002-01-12 04:18:10 +03:00
|
|
|
|
|
|
|
#ifndef nsListBoxLayout_h___
|
|
|
|
#define nsListBoxLayout_h___
|
|
|
|
|
2012-09-14 20:10:08 +04:00
|
|
|
#include "mozilla/Attributes.h"
|
2002-01-12 04:18:10 +03:00
|
|
|
#include "nsGridRowGroupLayout.h"
|
|
|
|
|
2012-08-06 07:00:56 +04:00
|
|
|
class nsIFrame;
|
2012-08-06 07:00:57 +04:00
|
|
|
typedef class nsIFrame nsIFrame;
|
2002-01-12 04:18:10 +03:00
|
|
|
class nsBoxLayoutState;
|
|
|
|
|
2017-05-02 04:50:16 +03:00
|
|
|
class nsListBoxLayout final : public nsGridRowGroupLayout
|
2002-01-12 04:18:10 +03:00
|
|
|
{
|
|
|
|
public:
|
2009-01-19 21:31:33 +03:00
|
|
|
nsListBoxLayout();
|
2002-01-12 04:18:10 +03:00
|
|
|
|
2011-07-11 18:05:10 +04:00
|
|
|
// nsBoxLayout
|
2016-04-21 07:28:32 +03:00
|
|
|
NS_IMETHOD XULLayout(nsIFrame* aBox, nsBoxLayoutState& aState) override;
|
2016-04-21 07:28:31 +03:00
|
|
|
virtual nsSize GetXULPrefSize(nsIFrame* aBox, nsBoxLayoutState& aBoxLayoutState) override;
|
2016-04-21 07:28:31 +03:00
|
|
|
virtual nsSize GetXULMinSize(nsIFrame* aBox, nsBoxLayoutState& aBoxLayoutState) override;
|
2016-04-21 07:28:31 +03:00
|
|
|
virtual nsSize GetXULMaxSize(nsIFrame* aBox, nsBoxLayoutState& aBoxLayoutState) override;
|
2002-01-12 04:18:10 +03:00
|
|
|
|
|
|
|
protected:
|
2012-08-06 07:00:57 +04:00
|
|
|
NS_IMETHOD LayoutInternal(nsIFrame* aBox, nsBoxLayoutState& aState);
|
2002-01-12 04:18:10 +03:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|