]> git.saurik.com Git - iphone-api.git/blame - WebCore/WKView.h
Add support for new WinterBoard Settings features.
[iphone-api.git] / WebCore / WKView.h
CommitLineData
a90939db
JF
1//
2// WKView.h
3//
4// Copyright (C) 2005, 2006, 2007, 2008, Apple Inc. All rights reserved.
5//
6
7#import <CoreGraphics/CoreGraphics.h>
8#import <CoreGraphics/CGSRegion.h>
9#import <GraphicsServices/GSEvent.h>
10#import "WKUtilities.h"
11
12#ifdef __cplusplus
13extern "C" {
14#endif
15
16enum {
17 NSViewNotSizable = 0,
18 NSViewMinXMargin = 1,
19 NSViewWidthSizable = 2,
20 NSViewMaxXMargin = 4,
21 NSViewMinYMargin = 8,
22 NSViewHeightSizable = 16,
23 NSViewMaxYMargin = 32
24};
25
26typedef enum {
27 WKViewNotificationViewDidMoveToWindow,
28 WKViewNotificationViewFrameSizeChanged,
29 WKViewNotificationViewDidScroll
30} WKViewNotificationType;
31
32typedef enum {
33 WKViewResponderAcceptsFirstResponder,
34 WKViewResponderBecomeFirstResponder,
35 WKViewResponderResignFirstResponder,
36} WKViewResponderCallbackType;
37
38typedef void (*WKViewDrawCallback)(WKViewRef view, CGRect dirtyRect, void *userInfo);
39typedef bool (*WKViewEventCallback)(WKViewRef view, GSEventRef event, void *userInfo);
40typedef void (*WKViewNotificationCallback)(WKViewRef view, WKViewNotificationType type, void *userInfo);
41typedef void (*WKViewLayoutCallback)(WKViewRef view, void *userInfo, bool force);
42typedef bool (*WKViewResponderCallback)(WKViewRef view, WKViewResponderCallbackType type, void *userInfo);
43typedef WKViewRef (*WKViewHitTestCallback)(WKViewRef view, CGPoint point, void *userInfo);
44typedef void (*WKViewWillRemoveSubviewCallback)(WKViewRef view, WKViewRef subview);
45typedef void (*WKViewInvalidateGStateCallback)(WKViewRef view);
46
47typedef struct _WKViewContext {
48 WKViewDrawCallback drawCallback;
49 void *drawUserInfo;
50 WKViewEventCallback eventCallback;
51 void *eventUserInfo;
52 WKViewNotificationCallback notificationCallback;
53 void *notificationUserInfo;
54 WKViewLayoutCallback layoutCallback;
55 void *layoutUserInfo;
56 WKViewResponderCallback responderCallback;
57 void *responderUserInfo;
58 WKViewHitTestCallback hitTestCallback;
59 void *hitTestUserInfo;
60 WKViewWillRemoveSubviewCallback willRemoveSubviewCallback;
61 WKViewInvalidateGStateCallback invalidateGStateCallback;
62} WKViewContext;
63
64struct WKView {
65 WKObject isa;
66
67 WKViewContext *context;
68
69 WKWindowRef window;
70
71 WKViewRef superview;
72 CFMutableArrayRef subviews;
73
74 CGPoint origin;
75 CGRect bounds;
76
77 unsigned int isHidden:1;
78
79 unsigned int autoresizingMask;
80
81 float scale;
82
83 bool drawsOwnDescendants;
84};
85
86WKViewRef WKViewGetFocusView (void);
87
88extern WKClassInfo WKViewClassInfo;
89
90WKViewRef WKViewCreateWithFrame (CGRect rect, WKViewContext *context);
91void WKViewInitialize (WKViewRef view, CGRect rect, WKViewContext *context);
92
93void WKViewSetViewContext (WKViewRef view, WKViewContext *context);
94void WKViewGetViewContext (WKViewRef view, WKViewContext *context);
95
96CGRect WKViewGetBounds (WKViewRef view);
97
98void WKViewSetFrameOrigin (WKViewRef view, CGPoint newPoint);
99void WKViewSetFrameSize (WKViewRef view, CGSize newSize);
100void WKViewSetBoundsSize (WKViewRef view, CGSize newSize);
101
102CGRect WKViewGetFrame (WKViewRef view);
103
104void WKViewSetScale (WKViewRef view, float scale);
105float WKViewGetScale (WKViewRef view);
106
107WKWindowRef WKViewGetWindow (WKViewRef view);
108
109CFArrayRef WKViewGetSubviews (WKViewRef view);
110
111WKViewRef WKViewGetSuperview (WKViewRef view);
112
113void WKViewAddSubview (WKViewRef view, WKViewRef subview);
114void WKViewRemoveFromSuperview (WKViewRef view);
115
116void WKViewSetNeedsDisplay (WKViewRef view);
117void WKViewSetNeedsDisplayInRect (WKViewRef view, CGRect invalidRect);
118void WKViewDisplay (WKViewRef view);
119void WKViewDisplayRect (WKViewRef view, CGRect rectToDraw);
120
121void WKViewLockFocus (WKViewRef view);
122void WKViewUnlockFocus (WKViewRef view);
123
124bool WKViewGetIsHidden (WKViewRef view);
125void WKViewSetIsHidden (WKViewRef view, bool flag);
126
127CGPoint WKViewConvertPointToSuperview (WKViewRef view, CGPoint aPoint);
128CGPoint WKViewConvertPointFromSuperview (WKViewRef view, CGPoint aPoint);
129CGPoint WKViewConvertPointToBase(WKViewRef view, CGPoint aPoint);
130CGPoint WKViewConvertPointFromBase(WKViewRef view, CGPoint aPoint);
131
132CGRect WKViewConvertRectToSuperview (WKViewRef view, CGRect aRect);
133CGRect WKViewConvertRectFromSuperview (WKViewRef view, CGRect aRect);
134CGRect WKViewConvertRectToBase (WKViewRef view, CGRect r);
135CGRect WKViewConvertRectFromBase (WKViewRef view, CGRect aRect);
136
137CGRect WKViewGetVisibleRect (WKViewRef view);
138
139WKViewRef WKViewFirstChild (WKViewRef view);
140WKViewRef WKViewNextSibling (WKViewRef view);
141WKViewRef WKViewTraverseNext (WKViewRef view);
142
143bool WKViewAcceptsFirstResponder (WKViewRef view);
144bool WKViewBecomeFirstResponder (WKViewRef view);
145bool WKViewResignFirstResponder (WKViewRef view);
146
147unsigned int WKViewGetAutoresizingMask(WKViewRef view);
148void WKViewSetAutoresizingMask (WKViewRef view, unsigned int mask);
149
150WKViewRef WKViewHitTest(WKViewRef view, CGPoint superviewPoint);
151void WKViewScrollToPoint(WKViewRef view, CGPoint point);
152void WKViewScrollToRect(WKViewRef view, CGRect rect);
153
154void WKViewLayout(WKViewRef view, bool force);
155
156CGImageRef WKViewCreateImage(WKViewRef view);
157
158#ifdef __cplusplus
159}
160#endif
161