Add runtime and compile time flags for enabling Web Animations API and model.
[WebKit-https.git] / WebKitLibraries / WebKitSystemInterface.h
1 /*      
2     WebKitSystemInterface.h
3     Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc. All rights reserved.
4
5     Public header file.
6 */
7
8 #import <Foundation/Foundation.h>
9 #import <dispatch/dispatch.h>
10
11 #if !TARGET_OS_IPHONE
12 #import <AppKit/AppKit.h>
13 #import <Carbon/Carbon.h>
14 #else
15 #import <CoreImage/CoreImage.h>
16 #import <CoreText/CoreText.h>
17 #import <WebKitSystemInterfaceIOS.h>
18 #endif
19
20 @class AVAsset;
21 @class AVPlayer;
22 @class CALayer;
23 @class QTMovie;
24 @class QTMovieView;
25
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29
30 #pragma mark Shared
31
32 typedef struct _CFURLResponse* CFURLResponseRef;
33 typedef const struct _CFURLRequest* CFURLRequestRef;
34 typedef struct _CFURLRequest* CFMutableURLRequestRef;
35
36 typedef struct _CFURLCredential* WKCFURLCredentialRef;
37 typedef struct _CFURLProtectionSpace* CFURLProtectionSpaceRef;
38
39 typedef enum {
40     WKCertificateParseResultSucceeded  = 0,
41     WKCertificateParseResultFailed     = 1,
42     WKCertificateParseResultPKCS7      = 2,
43 } WKCertificateParseResult;
44
45 CFStringRef WKSignedPublicKeyAndChallengeString(unsigned keySize, CFStringRef challenge, CFStringRef keyDescription);
46 WKCertificateParseResult WKAddCertificatesToKeychainFromData(const void *bytes, unsigned length);
47
48 NSDate *WKGetNSURLResponseLastModifiedDate(NSURLResponse *response);
49 NSString *WKCopyNSURLResponseStatusLine(NSURLResponse *response);
50
51 CFArrayRef WKCopyNSURLResponseCertificateChain(NSURLResponse *response);
52
53 CFStringEncoding WKGetWebDefaultCFStringEncoding(void);
54
55 void WKSetMetadataURL(NSString *URLString, NSString *referrer, NSString *path);
56 void WKSetNSURLConnectionDefersCallbacks(NSURLConnection *connection, BOOL defers);
57 void WKSetNSURLRequestShouldContentSniff(NSMutableURLRequest *request, BOOL shouldContentSniff);
58     
59 typedef enum {
60     WKPlugInModuleLoadPolicyLoadNormally = 0,
61     WKPlugInModuleLoadPolicyLoadUnsandboxed,
62     WKPlugInModuleLoadPolicyBlockedForSecurity,
63     WKPlugInModuleLoadPolicyBlockedForCompatibility,
64 } WKPlugInModuleLoadPolicy;
65
66 WKPlugInModuleLoadPolicy WKLoadPolicyForPluginVersion(NSString *bundleIdentifier, NSString *bundleVersionString);
67 BOOL WKShouldBlockPlugin(NSString *bundleIdentifier, NSString *bundleVersionString);
68 BOOL WKIsPluginUpdateAvailable(NSString *bundleIdentifier);
69
70 BOOL WKShouldBlockWebGL();
71 BOOL WKShouldSuggestBlockingWebGL();
72
73 BOOL WKCGContextGetShouldSmoothFonts(CGContextRef cgContext);
74
75 void WKSetUpFontCache(void);
76
77 void WKSetBaseCTM(CGContextRef, CGAffineTransform);
78 void WKSetPatternPhaseInUserSpace(CGContextRef, CGPoint);
79 CGAffineTransform WKGetUserToBaseCTM(CGContextRef);
80
81 void WKGetGlyphsForCharacters(CGFontRef, const UniChar[], CGGlyph[], size_t);
82 bool WKGetVerticalGlyphsForCharacters(CTFontRef, const UniChar[], CGGlyph[], size_t);
83
84 CTLineRef WKCreateCTLineWithUniCharProvider(const UniChar* (*provide)(CFIndex stringIndex, CFIndex* charCount, CFDictionaryRef* attributes, void*), void (*dispose)(const UniChar* chars, void*), void*);
85
86 CTTypesetterRef WKCreateCTTypesetterWithUniCharProviderAndOptions(const UniChar* (*provide)(CFIndex stringIndex, CFIndex* charCount, CFDictionaryRef* attributes, void*), void (*dispose)(const UniChar* chars, void*), void*, CFDictionaryRef options);
87
88 CGSize WKCTRunGetInitialAdvance(CTRunRef);
89
90 enum {
91     WKCTFontTransformApplyShaping = (1 << 0),
92     WKCTFontTransformApplyPositioning = (1 << 1)
93 };
94 typedef int WKCTFontTransformOptions;
95
96 bool WKCTFontTransformGlyphs(CTFontRef font, CGGlyph glyphs[], CGSize advances[], CFIndex count, WKCTFontTransformOptions options);
97
98 typedef enum {
99     WKPatternTilingNoDistortion,
100     WKPatternTilingConstantSpacingMinimalDistortion,
101     WKPatternTilingConstantSpacing
102 } WKPatternTiling;
103
104 CGPatternRef WKCGPatternCreateWithImageAndTransform(CGImageRef image, CGAffineTransform transform, int tiling);
105 void WKCGContextResetClip(CGContextRef);
106
107 BOOL WKCGContextIsBitmapContext(CGContextRef context);
108 bool WKCGContextIsPDFContext(CGContextRef context);
109
110 CFStringRef WKCopyFoundationCacheDirectory(void);
111
112 typedef const struct __CFURLStorageSession* CFURLStorageSessionRef;
113 CFURLStorageSessionRef WKCreatePrivateStorageSession(CFStringRef);
114 NSURLRequest *WKCopyRequestWithStorageSession(CFURLStorageSessionRef, NSURLRequest *);
115 NSCachedURLResponse *WKCachedResponseForRequest(CFURLStorageSessionRef, NSURLRequest *);
116 void WKSetRequestStorageSession(CFURLStorageSessionRef, CFMutableURLRequestRef);
117
118 typedef struct OpaqueCFHTTPCookieStorage* CFHTTPCookieStorageRef;
119 CFHTTPCookieStorageRef WKCopyHTTPCookieStorage(CFURLStorageSessionRef);
120 unsigned WKGetHTTPCookieAcceptPolicy(CFHTTPCookieStorageRef);
121 void WKSetHTTPCookieAcceptPolicy(CFHTTPCookieStorageRef, unsigned policy);
122 NSArray *WKHTTPCookies(CFHTTPCookieStorageRef);
123 NSArray *WKHTTPCookiesForURL(CFHTTPCookieStorageRef, NSURL *, NSURL *);
124 void WKSetHTTPCookiesForURL(CFHTTPCookieStorageRef, NSArray *, NSURL *, NSURL *);
125 void WKDeleteAllHTTPCookies(CFHTTPCookieStorageRef);
126 void WKDeleteHTTPCookie(CFHTTPCookieStorageRef, NSHTTPCookie *);
127
128 CFHTTPCookieStorageRef WKGetDefaultHTTPCookieStorage(void);
129 WKCFURLCredentialRef WKCopyCredentialFromCFPersistentStorage(CFURLProtectionSpaceRef);
130 void WKSetCFURLRequestShouldContentSniff(CFMutableURLRequestRef, bool flag);
131
132 CFURLRef WKCopyBundleURLForExecutableURL(CFURLRef);
133
134
135 CALayer *WKMakeRenderLayer(uint32_t contextID);
136
137 typedef struct __WKCAContextRef *WKCAContextRef;
138 WKCAContextRef WKCAContextMakeRemoteWithServerPort(mach_port_t port);
139 void WKCAContextInvalidate(WKCAContextRef);
140 uint32_t WKCAContextGetContextId(WKCAContextRef);
141 void WKCAContextSetLayer(WKCAContextRef, CALayer *);
142 CALayer *WKCAContextGetLayer(WKCAContextRef);
143 void WKCAContextSetColorSpace(WKCAContextRef, CGColorSpaceRef);
144 CGColorSpaceRef WKCAContextGetColorSpace(WKCAContextRef);
145 void WKDestroyRenderingResources(void);
146
147 void WKCALayerEnumerateRectsBeingDrawnWithBlock(CALayer *layer, CGContextRef context, void (^block)(CGRect rect));
148
149 unsigned WKInitializeMaximumHTTPConnectionCountPerHost(unsigned preferredConnectionCount);
150 int WKGetHTTPRequestPriority(CFURLRequestRef);
151 void WKSetHTTPRequestMaximumPriority(int maximumPriority);
152 void WKSetHTTPRequestPriority(CFURLRequestRef, int priority);
153 void WKSetHTTPRequestMinimumFastLanePriority(int priority);
154 void WKHTTPRequestEnablePipelining(CFURLRequestRef);
155
156 void WKSetCONNECTProxyForStream(CFReadStreamRef, CFStringRef proxyHost, CFNumberRef proxyPort);
157 void WKSetCONNECTProxyAuthorizationForStream(CFReadStreamRef, CFStringRef proxyAuthorizationString);
158 CFHTTPMessageRef WKCopyCONNECTProxyResponse(CFReadStreamRef, CFURLRef responseURL, CFStringRef proxyHost, CFNumberRef proxyPort);
159
160 CFDictionaryRef WKNSURLRequestCreateSerializableRepresentation(NSURLRequest *request, CFTypeRef tokenNull);
161 NSURLRequest *WKNSURLRequestFromSerializableRepresentation(CFDictionaryRef representation, CFTypeRef tokenNull);
162 CFDictionaryRef WKCFURLRequestCreateSerializableRepresentation(CFURLRequestRef cfRequest, CFTypeRef tokenNull);
163 CFURLRequestRef WKCreateCFURLRequestFromSerializableRepresentation(CFDictionaryRef representation, CFTypeRef tokenNull);
164
165 CFDictionaryRef WKNSURLResponseCreateSerializableRepresentation(NSURLResponse *response, CFTypeRef tokenNull);
166 NSURLResponse *WKNSURLResponseFromSerializableRepresentation(CFDictionaryRef representation, CFTypeRef tokenNull);
167
168 CFArrayRef WKCFURLCacheCopyAllHostNamesInPersistentStore(void);
169 void WKCFURLCacheDeleteHostNamesInPersistentStore(CFArrayRef hostArray);    
170
171 CFStringRef WKGetCFURLResponseMIMEType(CFURLResponseRef);
172 CFURLRef WKGetCFURLResponseURL(CFURLResponseRef);
173 CFHTTPMessageRef WKGetCFURLResponseHTTPResponse(CFURLResponseRef);
174 CFStringRef WKCopyCFURLResponseSuggestedFilename(CFURLResponseRef);
175 void WKSetCFURLResponseMIMEType(CFURLResponseRef, CFStringRef mimeType);
176
177 typedef enum {
178     WKSandboxExtensionTypeReadOnly,
179     WKSandboxExtensionTypeReadWrite,
180 } WKSandboxExtensionType;
181 typedef struct __WKSandboxExtension *WKSandboxExtensionRef;
182
183 WKSandboxExtensionRef WKSandboxExtensionCreate(const char* path, WKSandboxExtensionType type);
184 void WKSandboxExtensionDestroy(WKSandboxExtensionRef sandboxExtension);
185
186 bool WKSandboxExtensionConsume(WKSandboxExtensionRef sandboxExtension);
187 bool WKSandboxExtensionInvalidate(WKSandboxExtensionRef sandboxExtension);
188
189 const char* WKSandboxExtensionGetSerializedFormat(WKSandboxExtensionRef sandboxExtension, size_t* length);
190 WKSandboxExtensionRef WKSandboxExtensionCreateFromSerializedFormat(const char* serializationFormat, size_t length);
191
192 void WKSetCrashReportApplicationSpecificInformation(CFStringRef);
193
194 void WKCGPathAddRoundedRect(CGMutablePathRef path, const CGAffineTransform* matrix, CGRect rect, CGFloat cornerWidth, CGFloat cornerHeight);
195
196 void WKCFURLRequestAllowAllPostCaching(CFURLRequestRef);
197 void WKCFNetworkSetOverrideSystemProxySettings(CFDictionaryRef);
198
199 bool WKIsPublicSuffix(NSString *domain);
200
201 CFArrayRef WKCFURLCacheCopyAllHostNamesInPersistentStoreForPartition(CFStringRef partition);
202 typedef void (^CFURLCacheCopyAllPartitionNamesResultsNotification)(CFArrayRef partitionNames);
203
204 void WKCFURLCacheDeleteHostNamesInPersistentStoreForPartition(CFArrayRef hostArray, CFStringRef partition);
205 CFStringRef WKCachePartitionKey(void);
206 void WKCFURLCacheCopyAllPartitionNames(CFURLCacheCopyAllPartitionNamesResultsNotification resultsBlock);
207
208 typedef enum {
209     WKExternalPlaybackTypeNone,
210     WKExternalPlaybackTypeAirPlay,
211     WKExternalPlaybackTypeTVOut,
212 } WKExternalPlaybackType;
213
214 int WKExernalDeviceTypeForPlayer(AVPlayer *);
215 NSString *WKExernalDeviceDisplayNameForPlayer(AVPlayer *);
216
217 bool WKQueryDecoderAvailability(void);
218
219 #pragma mark Mac Only
220
221 #if !TARGET_OS_IPHONE
222
223 void WKShowKeyAndMain(void);
224
225 void WKAdvanceDefaultButtonPulseAnimation(NSButtonCell *button);
226
227 NSString *WKWindowWillOrderOnScreenNotification(void);
228 NSString *WKWindowWillOrderOffScreenNotification(void);
229 void WKSetNSWindowShouldPostEventNotifications(NSWindow *window, BOOL post);
230
231 CFTypeID WKGetAXTextMarkerTypeID(void);
232 CFTypeID WKGetAXTextMarkerRangeTypeID(void);
233 CFTypeRef WKCreateAXTextMarker(const void *bytes, size_t len);
234 BOOL WKGetBytesFromAXTextMarker(CFTypeRef textMarker, void *bytes, size_t length);
235 CFTypeRef WKCreateAXTextMarkerRange(CFTypeRef start, CFTypeRef end);
236 CFTypeRef WKCopyAXTextMarkerRangeStart(CFTypeRef range);
237 CFTypeRef WKCopyAXTextMarkerRangeEnd(CFTypeRef range);
238 void WKAccessibilityHandleFocusChanged(void);
239 AXUIElementRef WKCreateAXUIElementRef(id element);
240 void WKUnregisterUniqueIdForElement(id element);
241     
242 NSArray *WKSpeechSynthesisGetVoiceIdentifiers(void);
243 NSString *WKSpeechSynthesisGetDefaultVoiceIdentifierForLocale(NSLocale*);
244
245 // Remote Accessibility API.
246 void WKAXRegisterRemoteApp(void);
247 void WKAXInitializeElementWithPresenterPid(id, pid_t);
248 NSData *WKAXRemoteTokenForElement(id);
249 id WKAXRemoteElementForToken(NSData *);
250 void WKAXSetWindowForRemoteElement(id remoteWindow, id remoteElement);
251 void WKAXRegisterRemoteProcess(bool registerProcess, pid_t);
252 pid_t WKAXRemoteProcessIdentifier(id remoteElement);
253
254 void WKDrawCapsLockIndicator(CGContextRef, CGRect);
255
256 // The CG context's current path is the focus ring's path.
257 // Color and radius are ignored. Older versions of WebKit expected to
258 // be able to change the rendering of the system focus ring.
259 void WKDrawFocusRing(CGContextRef context, CGColorRef color, int radius);
260 bool WKDrawFocusRingAtTime(CGContextRef context, NSTimeInterval time);
261 bool WKDrawCellFocusRingWithFrameAtTime(NSCell *cell, NSRect cellFrame, NSView *controlView, NSTimeInterval time);
262
263 void WKSetDragImage(NSImage *image, NSPoint offset);
264
265 void WKDrawBezeledTextArea(NSRect, BOOL enabled);
266
267 void WKPopupMenu(NSMenu*, NSPoint location, float width, NSView*, int selectedItem, NSFont*, NSControlSize controlSize, bool usesCustomAppearance);
268 void WKPopupContextMenu(NSMenu *menu, NSPoint screenLocation);
269 void WKSendUserChangeNotifications(void);
270
271 NSFont *WKGetFontInLanguageForRange(NSFont *font, NSString *string, NSRange range);
272 NSFont *WKGetFontInLanguageForCharacter(NSFont *font, UniChar ch);
273 void WKSetCGFontRenderingMode(CGContextRef cgContext, NSFont *font, BOOL shouldSubpixelQuantize);
274
275 bool WKCGContextDrawsWithCorrectShadowOffsets(CGContextRef);
276
277 CGContextRef WKNSWindowOverrideCGContext(NSWindow *, CGContextRef);
278 void WKNSWindowRestoreCGContext(NSWindow *, CGContextRef);
279
280 void WKGetWheelEventDeltas(NSEvent *, float *deltaX, float *deltaY, BOOL *continuous);
281
282 BOOL WKAppVersionCheckLessThan(NSString *, int, double);
283
284 typedef enum {
285     WKMovieTypeUnknown,
286     WKMovieTypeDownload,
287     WKMovieTypeStoredStream,
288     WKMovieTypeLiveStream
289 } WKMovieType;
290
291 int WKQTMovieGetType(QTMovie* movie);
292
293 BOOL WKQTMovieHasClosedCaptions(QTMovie* movie);
294 void WKQTMovieSetShowClosedCaptions(QTMovie* movie, BOOL showClosedCaptions);
295 void WKQTMovieSelectPreferredAlternates(QTMovie* movie);
296
297 unsigned WKQTIncludeOnlyModernMediaFileTypes(void);
298 float WKQTMovieMaxTimeLoaded(QTMovie* movie);
299 float WKQTMovieMaxTimeSeekable(QTMovie* movie);
300 NSString *WKQTMovieMaxTimeLoadedChangeNotification(void);
301 void WKQTMovieViewSetDrawSynchronously(QTMovieView* view, BOOL sync);
302 void WKQTMovieDisableComponent(uint32_t[5]);
303 NSURL *WKQTMovieResolvedURL(QTMovie* movie);
304
305 void WKSetVisibleApplicationName(CFStringRef);
306 void WKSetApplicationInformationItem(CFStringRef key, CFTypeRef value);
307
308 typedef enum {
309     WKMediaUIPartFullscreenButton   = 0,
310     WKMediaUIPartMuteButton,
311     WKMediaUIPartPlayButton,
312     WKMediaUIPartSeekBackButton,
313     WKMediaUIPartSeekForwardButton,
314     WKMediaUIPartTimelineSlider,
315     WKMediaUIPartTimelineSliderThumb,
316     WKMediaUIPartRewindButton,
317     WKMediaUIPartSeekToRealtimeButton,
318     WKMediaUIPartShowClosedCaptionsButton,
319     WKMediaUIPartHideClosedCaptionsButton,
320     WKMediaUIPartUnMuteButton,
321     WKMediaUIPartPauseButton,
322     WKMediaUIPartBackground,
323     WKMediaUIPartCurrentTimeDisplay,
324     WKMediaUIPartTimeRemainingDisplay,
325     WKMediaUIPartStatusDisplay,
326     WKMediaUIPartControlsPanel,
327     WKMediaUIPartVolumeSliderContainer,
328     WKMediaUIPartVolumeSlider,
329     WKMediaUIPartVolumeSliderThumb,
330     WKMediaUIPartFullScreenVolumeSlider,
331     WKMediaUIPartFullScreenVolumeSliderThumb,
332     WKMediaUIPartVolumeSliderMuteButton,
333     WKMediaUIPartTextTrackDisplayContainer,
334     WKMediaUIPartTextTrackDisplay,
335     WKMediaUIPartExitFullscreenButton,
336 } WKMediaUIPart;
337
338 typedef enum {
339     WKMediaControllerFlagDisabled = 1 << 0,
340     WKMediaControllerFlagPressed = 1 << 1,
341     WKMediaControllerFlagDrawEndCaps = 1 << 3,
342     WKMediaControllerFlagFocused = 1 << 4
343 } WKMediaControllerThemeState;
344
345 BOOL WKHitTestMediaUIPart(int part, CGRect bounds, CGPoint point);
346 void WKMeasureMediaUIPart(int part, CGRect *bounds, CGSize *naturalSize);
347 void WKDrawMediaUIPart(int part, CGContextRef context, CGRect rect, unsigned state);
348 void WKDrawMediaSliderTrack(CGContextRef context, CGRect rect, float timeLoaded, float currentTime, float duration, unsigned state);
349 NSView *WKCreateMediaUIBackgroundView(void);
350
351 typedef enum {
352     WKMediaUIControlTimeline,
353     WKMediaUIControlSlider,
354     WKMediaUIControlPlayPauseButton,
355     WKMediaUIControlExitFullscreenButton,
356     WKMediaUIControlRewindButton,
357     WKMediaUIControlFastForwardButton,
358     WKMediaUIControlVolumeUpButton,
359     WKMediaUIControlVolumeDownButton
360 } WKMediaUIControlType;
361     
362 NSControl *WKCreateMediaUIControl(int controlType);
363
364 NSArray *WKQTGetSitesInMediaDownloadCache();
365 void WKQTClearMediaDownloadCacheForSite(NSString *site);
366 void WKQTClearMediaDownloadCache();
367     
368 mach_port_t WKInitializeRenderServer(void);
369
370 typedef struct __WKSoftwareCARendererRef *WKSoftwareCARendererRef;
371
372 WKSoftwareCARendererRef WKSoftwareCARendererCreate(uint32_t contextID);
373 void WKSoftwareCARendererDestroy(WKSoftwareCARendererRef);
374 void WKSoftwareCARendererRender(WKSoftwareCARendererRef, CGContextRef, CGRect);
375 WKCAContextRef WKCAContextMakeRemoteForWindowServer(void);
376
377 void WKWindowSetClipRect(NSWindow*, NSRect);
378
379 NSUInteger WKGetInputPanelWindowStyle(void);
380 UInt8 WKGetNSEventKeyChar(NSEvent *);
381
382 void WKWindowSetAlpha(NSWindow *window, float alphaValue);
383 void WKWindowSetScaledFrame(NSWindow *window, NSRect scaleFrame, NSRect nonScaledFrame);
384
385 void WKEnableSettingCursorWhenInBackground(void);
386
387 OSStatus WKEnableSandboxStyleFileQuarantine(void);
388
389 int WKRecommendedScrollerStyle(void);
390
391 bool WKExecutableWasLinkedOnOrBeforeSnowLeopard(void);
392
393 CFStringRef WKCopyDefaultSearchProviderDisplayName(void);
394
395 NSCursor *WKCursor(const char *name);
396
397 bool WKExecutableWasLinkedOnOrBeforeLion(void);
398 bool WKExecutableWasLinkedOnOrBeforeMountainLion(void);
399
400 CGFloat WKNSElasticDeltaForTimeDelta(CGFloat initialPosition, CGFloat initialVelocity, CGFloat elapsedTime);
401 CGFloat WKNSElasticDeltaForReboundDelta(CGFloat delta);
402 CGFloat WKNSReboundDeltaForElasticDelta(CGFloat delta);
403
404 typedef enum {
405     WKOcclusionNotificationTypeApplicationBecameVisible,
406     WKOcclusionNotificationTypeApplicationBecameOccluded,
407     WKOcclusionNotificationTypeApplicationWindowModificationsStarted,
408     WKOcclusionNotificationTypeApplicationWindowModificationsStopped,
409     WKOcclusionNotificationTypeWindowBecameVisible,
410     WKOcclusionNotificationTypeWindowBecameOccluded,
411 } WKOcclusionNotificationType;
412
413 typedef uint32_t WKWindowID;
414
415 typedef void (*WKOcclusionNotificationHandler)(uint32_t, void* data, uint32_t dataLength, void*, uint32_t);
416
417 bool WKRegisterOcclusionNotificationHandler(WKOcclusionNotificationType, WKOcclusionNotificationHandler);
418 bool WKUnregisterOcclusionNotificationHandler(WKOcclusionNotificationType, WKOcclusionNotificationHandler);
419 bool WKEnableWindowOcclusionNotifications(NSInteger windowID, bool *outCurrentOcclusionState);
420
421 #if defined(__x86_64__)
422 #import <mach/mig.h>
423 CFRunLoopSourceRef WKCreateMIGServerSource(mig_subsystem_t subsystem, mach_port_t serverPort);
424 #endif
425
426
427 #ifndef __LP64__
428
429 OSStatus WKSyncWindowWithCGAfterMove(WindowRef);
430 unsigned WKCarbonWindowMask(void);
431 void *WKGetNativeWindowFromWindowRef(WindowRef);
432 OSType WKCarbonWindowPropertyCreator(void);
433 OSType WKCarbonWindowPropertyTag(void);
434
435 unsigned WKGetNSAutoreleasePoolCount(void);
436
437 BOOL WKConvertNSEventToCarbonEvent(EventRecord *carbonEvent, NSEvent *cocoaEvent);
438 void WKSendKeyEventToTSM(NSEvent *theEvent);
439 void WKCallDrawingNotification(CGrafPtr port, Rect *bounds);
440
441 NSEvent *WKCreateNSEventWithCarbonEvent(EventRef eventRef);
442 NSEvent *WKCreateNSEventWithCarbonMouseMoveEvent(EventRef inEvent, NSWindow *window);
443 NSEvent *WKCreateNSEventWithCarbonClickEvent(EventRef inEvent, WindowRef windowRef);
444
445 ScriptCode WKGetScriptCodeFromCurrentKeyboardInputSource(void);
446
447 #endif /* __LP64__ */
448
449 #endif /* !TARGET_OS_IPHONE */
450
451 #ifdef __cplusplus
452 }
453 #endif