]>
git.saurik.com Git - iphone-api.git/blob - WebCore/AutoTableLayout.h
2 * This file is part of the HTML rendering engine for KDE.
4 * Copyright (C) 2002 Lars Knoll (knoll@kde.org)
5 * (C) 2002 Dirk Mueller (mueller@kde.org)
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Library General Public
9 * License as published by the Free Software Foundation; either
10 * version 2 of the License.
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Library General Public License for more details.
17 * You should have received a copy of the GNU Library General Public License
18 * along with this library; see the file COPYING.LIB. If not, write to
19 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20 * Boston, MA 02110-1301, USA.
23 #ifndef AutoTableLayout_h
24 #define AutoTableLayout_h
27 #include "TableLayout.h"
28 #include <wtf/Vector.h>
33 class RenderTableCell
;
35 class AutoTableLayout
: public TableLayout
{
37 AutoTableLayout(RenderTable
*);
40 virtual void calcPrefWidths(int& minWidth
, int& maxWidth
);
41 virtual void layout();
45 void recalcColumn(int effCol
);
47 void calcPercentages() const;
48 int totalPercent() const
50 if (m_percentagesDirty
)
52 return m_totalPercent
;
55 int calcEffectiveWidth();
57 void insertSpanCell(RenderTableCell
*);
66 , emptyCellsOnly(true) {}
77 Vector
<Layout
, 4> m_layoutStruct
;
78 Vector
<RenderTableCell
*, 4> m_spanCells
;
79 bool m_hasPercent
: 1;
80 mutable bool m_percentagesDirty
: 1;
81 mutable bool m_effWidthDirty
: 1;
82 mutable unsigned short m_totalPercent
;
85 } // namespace WebCore
87 #endif // AutoTableLayout_h