Line data Source code
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 :
6 : /**
7 :
8 : Author:
9 : Eric D Vaughan
10 :
11 : **/
12 :
13 : #ifndef nsGridRow_h___
14 : #define nsGridRow_h___
15 :
16 : #include "nsCoord.h"
17 :
18 : class nsIFrame;
19 :
20 : /**
21 : * The row (or column) data structure in the grid cellmap.
22 : */
23 : class nsGridRow
24 : {
25 : public:
26 : nsGridRow();
27 : ~nsGridRow();
28 :
29 : void Init(nsIFrame* aBox, bool aIsBogus);
30 :
31 : // accessors
32 0 : nsIFrame* GetBox() { return mBox; }
33 0 : bool IsPrefSet() { return (mPref != -1); }
34 0 : bool IsMinSet() { return (mMin != -1); }
35 0 : bool IsMaxSet() { return (mMax != -1); }
36 0 : bool IsFlexSet() { return (mFlex != -1); }
37 0 : bool IsOffsetSet() { return (mTop != -1 && mBottom != -1); }
38 : bool IsXULCollapsed();
39 :
40 : public:
41 :
42 : bool mIsBogus;
43 : nsIFrame* mBox;
44 : nscoord mFlex;
45 : nscoord mPref;
46 : nscoord mMin;
47 : nscoord mMax;
48 : nscoord mTop;
49 : nscoord mBottom;
50 : nscoord mTopMargin;
51 : nscoord mBottomMargin;
52 :
53 : };
54 :
55 :
56 : #endif
57 :
|