michael@0: /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: /** michael@0: michael@0: Author: michael@0: Eric D Vaughan michael@0: michael@0: **/ michael@0: michael@0: #ifndef nsGridRow_h___ michael@0: #define nsGridRow_h___ michael@0: michael@0: #include "nsCoord.h" michael@0: michael@0: class nsGridLayout2; michael@0: class nsBoxLayoutState; michael@0: class nsIFrame; michael@0: michael@0: /** michael@0: * The row (or column) data structure in the grid cellmap. michael@0: */ michael@0: class nsGridRow michael@0: { michael@0: public: michael@0: nsGridRow(); michael@0: ~nsGridRow(); michael@0: michael@0: void Init(nsIFrame* aBox, bool aIsBogus); michael@0: michael@0: // accessors michael@0: nsIFrame* GetBox() { return mBox; } michael@0: bool IsPrefSet() { return (mPref != -1); } michael@0: bool IsMinSet() { return (mMin != -1); } michael@0: bool IsMaxSet() { return (mMax != -1); } michael@0: bool IsFlexSet() { return (mFlex != -1); } michael@0: bool IsOffsetSet() { return (mTop != -1 && mBottom != -1); } michael@0: bool IsCollapsed(); michael@0: michael@0: public: michael@0: michael@0: bool mIsBogus; michael@0: nsIFrame* mBox; michael@0: nscoord mFlex; michael@0: nscoord mPref; michael@0: nscoord mMin; michael@0: nscoord mMax; michael@0: nscoord mTop; michael@0: nscoord mBottom; michael@0: nscoord mTopMargin; michael@0: nscoord mBottomMargin; michael@0: michael@0: }; michael@0: michael@0: michael@0: #endif michael@0: