WebCore shouldn't have a Objective-C class named NSCursor
[WebKit-https.git] / Source / WebCore / platform / ios / wak / WAKAppKitStubs.h
1 /*
2  * Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  * 1. Redistributions of source code must retain the above copyright
8  *    notice, this list of conditions and the following disclaimer.
9  * 2. Redistributions in binary form must reproduce the above copyright
10  *    notice, this list of conditions and the following disclaimer in the
11  *    documentation and/or other materials provided with the distribution.
12  *
13  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
14  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
15  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
17  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
18  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
19  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
20  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
21  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
22  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
23  * THE POSSIBILITY OF SUCH DAMAGE.
24  */
25
26 #ifndef WAKAppKitStubs_h
27 #define WAKAppKitStubs_h
28
29 #if TARGET_OS_IPHONE
30
31 #import <CoreGraphics/CoreGraphics.h>
32 #import <Foundation/Foundation.h>
33
34 #ifndef NSClipView
35 #define NSClipView WAKClipView
36 #endif
37 #ifndef NSView
38 #define NSView WAKView
39 #endif
40 #ifndef NSScrollView
41 #define NSScrollView WAKScrollView
42 #endif
43 #ifndef WebDynamicScrollBarsView
44 #define WebDynamicScrollBarsView WAKScrollView
45 #endif
46 #ifndef NSWindow
47 #define NSWindow WAKWindow
48 #endif
49 #ifndef NSResponder
50 #define NSResponder WAKResponder
51 #endif
52
53 // FIXME: <rdar://problem/6669434> Switch from using NSGeometry methods to CGGeometry methods
54 //
55 // We explicitly use __has_include() instead of the macro define USE_APPLE_INTERNAL_SDK as
56 // the condition for including the header Foundation/NSGeometry.h to support internal Apple
57 // clients that build without header wtf/Platform.h.
58 #if __has_include(<Foundation/NSGeometry.h>)
59
60 #import <Foundation/NSGeometry.h>
61
62 #else
63
64 typedef CGPoint NSPoint;
65 typedef CGRect NSRect;
66 typedef CGSize NSSize;
67 typedef NSUInteger NSRectEdge;
68
69 #ifndef NSZeroPoint
70 #define NSZeroPoint CGPointZero
71 #endif
72 #ifndef NSZeroRect
73 #define NSZeroRect CGRectZero
74 #endif
75 #ifndef NSZeroSize
76 #define NSZeroSize CGSizeZero
77 #endif
78 #ifndef NSMakePoint
79 #define NSMakePoint CGPointMake
80 #endif
81 #ifndef NSMakeRect
82 #define NSMakeRect CGRectMake
83 #endif
84 #ifndef NSMakeSize
85 #define NSMakeSize CGSizeMake
86 #endif
87 #ifndef NSEqualPoints
88 #define NSEqualPoints CGPointEqualToPoint
89 #endif
90 #ifndef NSEqualRects
91 #define NSEqualRects CGRectEqualToRect
92 #endif
93 #ifndef NSEqualSizes
94 #define NSEqualSizes CGSizeEqualToSize
95 #endif
96 #ifndef NSInsetRect
97 #define NSInsetRect CGRectInset
98 #endif
99 #ifndef NSIntersectionRect
100 #define NSIntersectionRect CGRectIntersection
101 #endif
102 #ifndef NSIsEmptyRect
103 #define NSIsEmptyRect CGRectIsEmpty
104 #endif
105 #ifndef NSContainsRect
106 #define NSContainsRect CGRectContainsRect
107 #endif
108 #ifndef NSPointInRect
109 #define NSPointInRect(x, y) CGRectContainsPoint((y), (x))
110 #endif
111 #ifndef NSMinX
112 #define NSMinX CGRectGetMinX
113 #endif
114 #ifndef NSMinY
115 #define NSMinY CGRectGetMinY
116 #endif
117 #ifndef NSMaxX
118 #define NSMaxX CGRectGetMaxX
119 #endif
120 #ifndef NSMaxY
121 #define NSMaxY CGRectGetMaxY
122 #endif
123 #ifndef NSMinXEdge
124 #define NSMinXEdge CGRectMinXEdge
125 #endif
126 #ifndef NSMinYEdge
127 #define NSMinYEdge CGRectMinYEdge
128 #endif
129 #ifndef NSMaxXEdge
130 #define NSMaxXEdge CGRectMaxXEdge
131 #endif
132 #ifndef NSMaxYEdge
133 #define NSMaxYEdge CGRectMaxYEdge
134 #endif
135
136 @interface NSValue (NSGeometryDetails)
137 + (NSValue *)valueWithPoint:(NSPoint)point;
138 + (NSValue *)valueWithRect:(NSRect)rect;
139 + (NSValue *)valueWithSize:(NSSize)size;
140 @property (readonly) NSPoint pointValue;
141 @property (readonly) NSRect rectValue;
142 @property (readonly) NSSize sizeValue;
143 @end
144
145 #endif // __has_include(<Foundation/NSGeometry.h>)
146
147 @class WAKClipView;
148 @class WAKResponder;
149 @class WAKScrollView;
150 @class WAKView;
151 @class WAKWindow;
152
153 /* Device-independent bits found in event modifier flags */
154 enum {
155     NSEventModifierFlagCapsLock = 1 << 16,
156     NSEventModifierFlagShift = 1 << 17,
157     NSEventModifierFlagControl = 1 << 18,
158     NSEventModifierFlagOption = 1 << 19,
159     NSEventModifierFlagCommand = 1 << 20,
160     NSEventModifierFlagNumericPad = 1 << 21,
161     NSEventModifierFlagHelp = 1 << 22,
162     NSEventModifierFlagFunction = 1 << 23,
163     NSEventModifierFlagDeviceIndependentFlagsMask = 0xffff0000U
164 };
165
166 typedef enum _WKWritingDirection {
167     WKWritingDirectionNatural     = -1, /* Determines direction using the Unicode Bidi Algorithm rules P2 and P3 */
168     WKWritingDirectionLeftToRight = 0,  /* Left to right writing direction */
169     WKWritingDirectionRightToLeft       /* Right to left writing direction */
170 } WKWritingDirection;
171
172 typedef enum _NSSelectionAffinity {
173     NSSelectionAffinityUpstream = 0,
174     NSSelectionAffinityDownstream = 1
175 } NSSelectionAffinity;
176
177 typedef enum _NSCellState {
178     NSControlStateValueMixed = -1,
179     NSControlStateValueOff   =  0,
180     NSControlStateValueOn    =  1
181 } NSControlStateValue;
182
183 typedef enum _NSCompositingOperation {
184     NSCompositeClear           = 0,
185     NSCompositeCopy            = 1,
186     NSCompositeSourceOver      = 2,
187     NSCompositeSourceIn        = 3,
188     NSCompositeSourceOut       = 4,
189     NSCompositeSourceAtop      = 5,
190     NSCompositeDestinationOver = 6,
191     NSCompositeDestinationIn   = 7,
192     NSCompositeDestinationOut  = 8,
193     NSCompositeDestinationAtop = 9,
194     NSCompositeXOR             = 10,
195     NSCompositePlusDarker      = 11,
196     NSCompositeHighlight       = 12,
197     NSCompositePlusLighter     = 13
198 } NSCompositingOperation;
199
200 typedef enum _NSSelectionDirection {
201     NSDirectSelection = 0,
202     NSSelectingNext,
203     NSSelectingPrevious
204 } NSSelectionDirection;
205
206 #endif // TARGET_OS_IPHONE
207
208 #endif // WAKAppKitStubs_h