Rubber-stamped by Brady Eidson.
[webbrowser.git] / WebCore / platform / LengthBox.h
blob7d7698d91b408994944c5b1528cc20e788f5828c
1 /*
2 Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 Copyright (C) 2006, 2008 Apple Inc. All rights reserved.
5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Library General Public
7 License as published by the Free Software Foundation; either
8 version 2 of the License, or (at your option) any later version.
10 This library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Library General Public License for more details.
15 You should have received a copy of the GNU Library General Public License
16 along with this library; see the file COPYING.LIB. If not, write to
17 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18 Boston, MA 02110-1301, USA.
21 #ifndef LengthBox_h
22 #define LengthBox_h
24 #include "Length.h"
26 namespace WebCore {
28 struct LengthBox {
29 LengthBox()
33 LengthBox(LengthType t)
34 : m_left(t)
35 , m_right(t)
36 , m_top(t)
37 , m_bottom(t)
41 LengthBox(int v)
42 : m_left(Length(v, Fixed))
43 , m_right(Length(v, Fixed))
44 , m_top(Length(v, Fixed))
45 , m_bottom(Length(v, Fixed))
49 LengthBox(int t, int r, int b, int l)
50 : m_left(Length(l, Fixed))
51 , m_right(Length(r, Fixed))
52 , m_top(Length(t, Fixed))
53 , m_bottom(Length(b, Fixed))
57 Length left() const { return m_left; }
58 Length right() const { return m_right; }
59 Length top() const { return m_top; }
60 Length bottom() const { return m_bottom; }
62 bool operator==(const LengthBox& o) const
64 return m_left == o.m_left && m_right == o.m_right && m_top == o.m_top && m_bottom == o.m_bottom;
67 bool operator!=(const LengthBox& o) const
69 return !(*this == o);
72 bool nonZero() const
74 return !(m_left.isZero() && m_right.isZero() && m_top.isZero() && m_bottom.isZero());
77 Length m_left;
78 Length m_right;
79 Length m_top;
80 Length m_bottom;
83 } // namespace WebCore
85 #endif // LengthBox_h