summaryrefslogtreecommitdiffstats
path: root/layout/xul/grid/nsGridRow.h
diff options
context:
space:
mode:
Diffstat (limited to 'layout/xul/grid/nsGridRow.h')
-rw-r--r--layout/xul/grid/nsGridRow.h57
1 files changed, 57 insertions, 0 deletions
diff --git a/layout/xul/grid/nsGridRow.h b/layout/xul/grid/nsGridRow.h
new file mode 100644
index 000000000..a5bc39158
--- /dev/null
+++ b/layout/xul/grid/nsGridRow.h
@@ -0,0 +1,57 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* 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/. */
+
+/**
+
+ Author:
+ Eric D Vaughan
+
+**/
+
+#ifndef nsGridRow_h___
+#define nsGridRow_h___
+
+#include "nsCoord.h"
+
+class nsIFrame;
+
+/**
+ * The row (or column) data structure in the grid cellmap.
+ */
+class nsGridRow
+{
+public:
+ nsGridRow();
+ ~nsGridRow();
+
+ void Init(nsIFrame* aBox, bool aIsBogus);
+
+// accessors
+ nsIFrame* GetBox() { return mBox; }
+ bool IsPrefSet() { return (mPref != -1); }
+ bool IsMinSet() { return (mMin != -1); }
+ bool IsMaxSet() { return (mMax != -1); }
+ bool IsFlexSet() { return (mFlex != -1); }
+ bool IsOffsetSet() { return (mTop != -1 && mBottom != -1); }
+ bool IsXULCollapsed();
+
+public:
+
+ bool mIsBogus;
+ nsIFrame* mBox;
+ nscoord mFlex;
+ nscoord mPref;
+ nscoord mMin;
+ nscoord mMax;
+ nscoord mTop;
+ nscoord mBottom;
+ nscoord mTopMargin;
+ nscoord mBottomMargin;
+
+};
+
+
+#endif
+