blob: 68ba08468195965077bfaac912bb35b85b814580 [file] [log] [blame]
eseidele8ab6a12006-05-12 23:44:39 +00001/*
eseidele8ab6a12006-05-12 23:44:39 +00002 * Copyright (C) 2002 Lars Knoll (knoll@kde.org)
3 * (C) 2002 Dirk Mueller (mueller@kde.org)
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.
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
ddkilzerc8eccec2007-09-26 02:29:57 +000017 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18 * Boston, MA 02110-1301, USA.
eseidele8ab6a12006-05-12 23:44:39 +000019 */
20
bdash432dc322007-01-12 04:28:05 +000021#ifndef FixedTableLayout_h
22#define FixedTableLayout_h
eseidele8ab6a12006-05-12 23:44:39 +000023
eae@chromium.org9717cd82012-11-07 18:33:44 +000024#include "LayoutUnit.h"
eseidele8ab6a12006-05-12 23:44:39 +000025#include "Length.h"
darin91298e52006-06-12 01:10:17 +000026#include "TableLayout.h"
27#include <wtf/Vector.h>
eseidele8ab6a12006-05-12 23:44:39 +000028
29namespace WebCore {
30
31class RenderTable;
32
weinig1497a7e2006-10-26 20:23:55 +000033class FixedTableLayout : public TableLayout {
eseidele8ab6a12006-05-12 23:44:39 +000034public:
35 FixedTableLayout(RenderTable*);
eseidele8ab6a12006-05-12 23:44:39 +000036
ojan@chromium.org021e2202013-02-22 19:40:43 +000037 virtual void computeIntrinsicLogicalWidths(LayoutUnit& minWidth, LayoutUnit& maxWidth) OVERRIDE;
38 virtual void applyPreferredLogicalWidthQuirks(LayoutUnit& minWidth, LayoutUnit& maxWidth) const OVERRIDE;
ddkilzer260f3d22007-01-05 05:56:31 +000039 virtual void layout();
eseidele8ab6a12006-05-12 23:44:39 +000040
mitz@apple.coma4d43b92010-11-03 20:44:49 +000041private:
ojan@chromium.org2160cda2013-02-22 03:12:04 +000042 int calcWidthArray();
eseidele8ab6a12006-05-12 23:44:39 +000043
darin91298e52006-06-12 01:10:17 +000044 Vector<Length> m_width;
eseidele8ab6a12006-05-12 23:44:39 +000045};
46
weinig1497a7e2006-10-26 20:23:55 +000047} // namespace WebCore
eseidele8ab6a12006-05-12 23:44:39 +000048
bdash432dc322007-01-12 04:28:05 +000049#endif // FixedTableLayout_h