]> git.saurik.com Git - iphone-api.git/blob - WebCore/RenderWidget.h
Add support for new WinterBoard Settings features.
[iphone-api.git] / WebCore / RenderWidget.h
1 /*
2 * This file is part of the HTML widget for KDE.
3 *
4 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
5 * Copyright (C) 2004, 2005, 2006 Apple Computer, Inc.
6 *
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, or (at your option) any later version.
11 *
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.
16 *
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.
21 *
22 */
23
24 #ifndef RenderWidget_h
25 #define RenderWidget_h
26
27 #include "RenderReplaced.h"
28
29 namespace WebCore {
30
31 class Widget;
32
33 class RenderWidget : public RenderReplaced {
34 public:
35 RenderWidget(Node*);
36 virtual ~RenderWidget();
37
38 virtual bool isWidget() const { return true; }
39
40 virtual void paint(PaintInfo&, int tx, int ty);
41
42 virtual void destroy();
43 virtual void layout();
44
45 Widget* widget() const { return m_widget; }
46 static RenderWidget* find(const Widget*);
47
48 RenderArena* ref() { ++m_refCount; return renderArena(); }
49 void deref(RenderArena*);
50
51 virtual void setSelectionState(SelectionState);
52
53 virtual void updateWidgetPosition();
54
55 virtual void setWidget(Widget*);
56
57 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, int x, int y, int tx, int ty, HitTestAction);
58
59 protected:
60 virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle);
61
62 private:
63 void setWidgetGeometry(const IntRect&);
64
65 virtual void deleteWidget();
66
67 protected:
68 Widget* m_widget;
69 FrameView* m_view;
70
71 private:
72 int m_refCount;
73 };
74
75 } // namespace WebCore
76
77 #endif // RenderWidget_h