]> git.saurik.com Git - iphone-api.git/blame - WebCore/LengthBox.h
Add support for new WinterBoard Settings features.
[iphone-api.git] / WebCore / LengthBox.h
CommitLineData
a90939db
JF
1/*
2 Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 Copyright (C) 2006, 2008 Apple Inc. All rights reserved.
4
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.
9
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.
14
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.
19*/
20
21#ifndef LengthBox_h
22#define LengthBox_h
23
24#include "Length.h"
25
26namespace WebCore {
27
28struct LengthBox {
29 LengthBox()
30 {
31 }
32
33 LengthBox(LengthType t)
34 : m_left(t)
35 , m_right(t)
36 , m_top(t)
37 , m_bottom(t)
38 {
39 }
40
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))
46 {
47 }
48
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))
54 {
55 }
56
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; }
61
62 bool operator==(const LengthBox& o) const
63 {
64 return m_left == o.m_left && m_right == o.m_right && m_top == o.m_top && m_bottom == o.m_bottom;
65 }
66
67 bool operator!=(const LengthBox& o) const
68 {
69 return !(*this == o);
70 }
71
72 bool nonZero() const
73 {
74 return !(m_left.isZero() && m_right.isZero() && m_top.isZero() && m_bottom.isZero());
75 }
76
77 Length m_left;
78 Length m_right;
79 Length m_top;
80 Length m_bottom;
81};
82
83} // namespace WebCore
84
85#endif // LengthBox_h