cd5281fcf374bc4321a4642d0419740849190fb0
[WebKit-https.git] / WebKitLibraries / WebKitSystemInterface.h
1 /*      
2     WebKitSystemInterface.h
3     Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserved.
4
5     Public header file.
6 */
7
8 #import <Cocoa/Cocoa.h>
9 #import <Carbon/Carbon.h>
10
11 @class QTMovie;
12 @class QTMovieView;
13
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17
18 typedef enum {
19     WKCertificateParseResultSucceeded  = 0,
20     WKCertificateParseResultFailed     = 1,
21     WKCertificateParseResultPKCS7      = 2,
22 } WKCertificateParseResult;
23
24 CFStringRef WKCopyCFLocalizationPreferredName(CFStringRef localization);
25 void WKSetDefaultLocalization(CFStringRef localization);
26
27 CFStringRef WKSignedPublicKeyAndChallengeString(unsigned keySize, CFStringRef challenge, CFStringRef keyDescription);
28 WKCertificateParseResult WKAddCertificatesToKeychainFromData(const void *bytes, unsigned length);
29
30 NSString *WKGetPreferredExtensionForMIMEType(NSString *type);
31 NSArray *WKGetExtensionsForMIMEType(NSString *type);
32 NSString *WKGetMIMETypeForExtension(NSString *extension);
33
34 NSDate *WKGetNSURLResponseLastModifiedDate(NSURLResponse *response);
35 NSTimeInterval WKGetNSURLResponseFreshnessLifetime(NSURLResponse *response);
36 NSString *WKCopyNSURLResponseStatusLine(NSURLResponse *response);
37
38 #if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD)
39 CFArrayRef WKCopyNSURLResponseCertificateChain(NSURLResponse *response);
40 #endif
41
42 CFStringEncoding WKGetWebDefaultCFStringEncoding(void);
43
44 void WKSetMetadataURL(NSString *URLString, NSString *referrer, NSString *path);
45 void WKSetNSURLConnectionDefersCallbacks(NSURLConnection *connection, BOOL defers);
46
47 void WKShowKeyAndMain(void);
48 #ifndef __LP64__
49 OSStatus WKSyncWindowWithCGAfterMove(WindowRef);
50 unsigned WKCarbonWindowMask(void);
51 void *WKGetNativeWindowFromWindowRef(WindowRef);
52 OSType WKCarbonWindowPropertyCreator(void);
53 OSType WKCarbonWindowPropertyTag(void);
54 #endif
55
56 typedef id WKNSURLConnectionDelegateProxyPtr;
57
58 WKNSURLConnectionDelegateProxyPtr WKCreateNSURLConnectionDelegateProxy(void);
59
60 void WKDisableCGDeferredUpdates(void);
61
62 Class WKNSURLProtocolClassForRequest(NSURLRequest *request);
63 void WKSetNSURLRequestShouldContentSniff(NSMutableURLRequest *request, BOOL shouldContentSniff);
64
65 void WKSetCookieStoragePrivateBrowsingEnabled(BOOL enabled);
66
67 unsigned WKGetNSAutoreleasePoolCount(void);
68
69 void WKAdvanceDefaultButtonPulseAnimation(NSButtonCell *button);
70
71 NSString *WKMouseMovedNotification(void);
72 NSString *WKWindowWillOrderOnScreenNotification(void);
73 void WKSetNSWindowShouldPostEventNotifications(NSWindow *window, BOOL post);
74
75 CFTypeID WKGetAXTextMarkerTypeID(void);
76 CFTypeID WKGetAXTextMarkerRangeTypeID(void);
77 CFTypeRef WKCreateAXTextMarker(const void *bytes, size_t len);
78 BOOL WKGetBytesFromAXTextMarker(CFTypeRef textMarker, void *bytes, size_t length);
79 CFTypeRef WKCreateAXTextMarkerRange(CFTypeRef start, CFTypeRef end);
80 CFTypeRef WKCopyAXTextMarkerRangeStart(CFTypeRef range);
81 CFTypeRef WKCopyAXTextMarkerRangeEnd(CFTypeRef range);
82 void WKAccessibilityHandleFocusChanged(void);
83 AXUIElementRef WKCreateAXUIElementRef(id element);
84 void WKUnregisterUniqueIdForElement(id element);
85
86
87 #if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD) && !defined(BUILDING_ON_SNOW_LEOPARD)
88 // Remote Accessibility API.
89 void WKAXRegisterRemoteApp(void);
90 void WKAXInitializeElementWithPresenterPid(id, pid_t);
91 NSData *WKAXRemoteTokenForElement(id);
92 id WKAXRemoteElementForToken(NSData *);
93 void WKAXSetWindowForRemoteElement(id remoteWindow, id remoteElement);
94 void WKAXRegisterRemoteProcess(bool registerProcess, pid_t);
95 pid_t WKAXRemoteProcessIdentifier(id remoteElement);
96 #endif
97
98 void WKSetUpFontCache(void);
99
100 void WKSignalCFReadStreamEnd(CFReadStreamRef stream);
101 void WKSignalCFReadStreamHasBytes(CFReadStreamRef stream);
102 void WKSignalCFReadStreamError(CFReadStreamRef stream, CFStreamError *error);
103
104 CFReadStreamRef WKCreateCustomCFReadStream(void *(*formCreate)(CFReadStreamRef, void *), 
105     void (*formFinalize)(CFReadStreamRef, void *), 
106     Boolean (*formOpen)(CFReadStreamRef, CFStreamError *, Boolean *, void *), 
107     CFIndex (*formRead)(CFReadStreamRef, UInt8 *, CFIndex, CFStreamError *, Boolean *, void *), 
108     Boolean (*formCanRead)(CFReadStreamRef, void *), 
109     void (*formClose)(CFReadStreamRef, void *), 
110     void (*formSchedule)(CFReadStreamRef, CFRunLoopRef, CFStringRef, void *), 
111     void (*formUnschedule)(CFReadStreamRef, CFRunLoopRef, CFStringRef, void *),
112     void *context);
113
114 void WKDrawCapsLockIndicator(CGContextRef, CGRect);
115
116 void WKDrawFocusRing(CGContextRef context, CGColorRef color, int radius);
117     // The CG context's current path is the focus ring's path.
118     // A color of 0 means "use system focus ring color".
119     // A radius of 0 means "use default focus ring radius".
120
121 void WKSetDragImage(NSImage *image, NSPoint offset);
122
123 void WKDrawBezeledTextFieldCell(NSRect, BOOL enabled);
124 void WKDrawTextFieldCellFocusRing(NSTextFieldCell*, NSRect);
125 void WKDrawBezeledTextArea(NSRect, BOOL enabled);
126 void WKPopupMenu(NSMenu*, NSPoint location, float width, NSView*, int selectedItem, NSFont*);
127 void WKPopupContextMenu(NSMenu *menu, NSPoint screenLocation);
128 void WKSendUserChangeNotifications(void);
129 #ifndef __LP64__
130 BOOL WKConvertNSEventToCarbonEvent(EventRecord *carbonEvent, NSEvent *cocoaEvent);
131 void WKSendKeyEventToTSM(NSEvent *theEvent);
132 void WKCallDrawingNotification(CGrafPtr port, Rect *bounds);
133 #endif
134
135 BOOL WKGetGlyphTransformedAdvances(CGFontRef, NSFont*, CGAffineTransform *m, ATSGlyphRef *glyph, CGSize *advance);
136 NSFont *WKGetFontInLanguageForRange(NSFont *font, NSString *string, NSRange range);
137 NSFont *WKGetFontInLanguageForCharacter(NSFont *font, UniChar ch);
138 void WKSetCGFontRenderingMode(CGContextRef cgContext, NSFont *font);
139 BOOL WKCGContextGetShouldSmoothFonts(CGContextRef cgContext);
140
141 #ifdef BUILDING_ON_TIGER
142 // CGFontGetAscent, CGFontGetDescent, CGFontGetLeading and CGFontGetUnitsPerEm were not available until Leopard
143 void WKGetFontMetrics(CGFontRef font, int *ascent, int *descent, int *lineGap, unsigned *unitsPerEm);
144 // CTFontCopyGraphicsFont was not available until Leopard
145 CGFontRef WKGetCGFontFromNSFont(NSFont *font);
146 // CTFontGetPlatformFont was not available until Leopard
147 ATSUFontID WKGetNSFontATSUFontId(NSFont *font);
148 // CGFontCopyFullName was not available until Leopard
149 CFStringRef WKCopyFullFontName(CGFontRef font);
150 #endif
151
152 void WKSetPatternBaseCTM(CGContextRef, CGAffineTransform);
153 void WKSetPatternPhaseInUserSpace(CGContextRef, CGPoint);
154 CGAffineTransform WKGetUserToBaseCTM(CGContextRef);
155
156 #ifndef BUILDING_ON_TIGER
157 void WKGetGlyphsForCharacters(CGFontRef, const UniChar[], CGGlyph[], size_t);
158 #else
159 typedef void *WKGlyphVectorRef;
160 OSStatus WKConvertCharToGlyphs(void *styleGroup, const UniChar* characters, unsigned numCharacters, WKGlyphVectorRef glyphs);
161 OSStatus WKGetATSStyleGroup(ATSUStyle fontStyle, void **styleGroup);
162 void WKReleaseStyleGroup(void *group);
163 OSStatus WKInitializeGlyphVector(int count, WKGlyphVectorRef glyphs);
164 void WKClearGlyphVector(WKGlyphVectorRef glyphs);
165
166 int WKGetGlyphVectorNumGlyphs(WKGlyphVectorRef glyphVector);
167 ATSLayoutRecord *WKGetGlyphVectorFirstRecord(WKGlyphVectorRef glyphVector);
168 size_t WKGetGlyphVectorRecordSize(WKGlyphVectorRef glyphVector);
169 #endif
170
171 CTLineRef WKCreateCTLineWithUniCharProvider(const UniChar* (*provide)(CFIndex stringIndex, CFIndex* charCount, CFDictionaryRef* attributes, void*), void (*dispose)(const UniChar* chars, void*), void*);
172 #if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD) && !defined(BUILDING_ON_SNOW_LEOPARD)
173 CTTypesetterRef WKCreateCTTypesetterWithUniCharProviderAndOptions(const UniChar* (*provide)(CFIndex stringIndex, CFIndex* charCount, CFDictionaryRef* attributes, void*), void (*dispose)(const UniChar* chars, void*), void*, CFDictionaryRef options);
174
175 CGContextRef WKIOSurfaceContextCreate(IOSurfaceRef, unsigned width, unsigned height, CGColorSpaceRef);
176 CGImageRef WKIOSurfaceContextCreateImage(CGContextRef context);
177 #endif
178
179 #ifndef __LP64__
180 NSEvent *WKCreateNSEventWithCarbonEvent(EventRef eventRef);
181 NSEvent *WKCreateNSEventWithCarbonMouseMoveEvent(EventRef inEvent, NSWindow *window);
182 NSEvent *WKCreateNSEventWithCarbonClickEvent(EventRef inEvent, WindowRef windowRef);
183 #endif
184
185 CGContextRef WKNSWindowOverrideCGContext(NSWindow *, CGContextRef);
186 void WKNSWindowRestoreCGContext(NSWindow *, CGContextRef);
187
188 void WKNSWindowMakeBottomCornersSquare(NSWindow *);
189
190 // These constants match the ones used by ThemeScrollbarArrowStyle (some of the values are private, so we can't just
191 // use that enum directly).
192 typedef enum {
193     WKThemeScrollBarArrowsSingle     = 0,
194     WKThemeScrollBarArrowsLowerRight = 1,
195     WKThemeScrollBarArrowsDouble     = 2,
196     WKThemeScrollBarArrowsUpperLeft  = 3,
197 } WKThemeScrollBarArrowStyle;
198
199 OSStatus WKThemeDrawTrack(const HIThemeTrackDrawInfo* inDrawInfo, CGContextRef inContext, int inArrowStyle);
200
201 #ifdef BUILDING_ON_TIGER
202 // WKSupportsMultipartXMixedReplace is not required on Leopard as multipart/x-mixed-replace is always handled by NSURLRequest
203 BOOL WKSupportsMultipartXMixedReplace(NSMutableURLRequest *request);
204 #endif
205
206 BOOL WKCGContextIsBitmapContext(CGContextRef context);
207
208 void WKGetWheelEventDeltas(NSEvent *, float *deltaX, float *deltaY, BOOL *continuous);
209
210 BOOL WKAppVersionCheckLessThan(NSString *, int, double);
211
212 typedef enum {
213     WKMovieTypeUnknown,
214     WKMovieTypeDownload,
215     WKMovieTypeStoredStream,
216     WKMovieTypeLiveStream
217 } WKMovieType;
218
219 int WKQTMovieGetType(QTMovie* movie);
220
221 BOOL WKQTMovieHasClosedCaptions(QTMovie* movie);
222 void WKQTMovieSetShowClosedCaptions(QTMovie* movie, BOOL showClosedCaptions);
223 void WKQTMovieSelectPreferredAlternates(QTMovie* movie);
224 void WKQTMovieSelectPreferredAlternateTrackForMediaType(QTMovie* movie, NSString* mediaType);
225
226 unsigned WKQTIncludeOnlyModernMediaFileTypes(void);
227 int WKQTMovieDataRate(QTMovie* movie);
228 float WKQTMovieMaxTimeLoaded(QTMovie* movie);
229 float WKQTMovieMaxTimeSeekable(QTMovie* movie);
230 NSString *WKQTMovieMaxTimeLoadedChangeNotification(void);
231 void WKQTMovieViewSetDrawSynchronously(QTMovieView* view, BOOL sync);
232 void WKQTMovieDisableComponent(uint32_t[5]);
233
234 CFStringRef WKCopyFoundationCacheDirectory(void);
235
236 typedef const struct __CFURLStorageSession* CFURLStorageSessionRef;
237 CFURLStorageSessionRef WKCreatePrivateStorageSession(CFStringRef);
238 NSURLRequest *WKCopyRequestWithStorageSession(CFURLStorageSessionRef, NSURLRequest*);
239 NSCachedURLResponse *WKCachedResponseForRequest(CFURLStorageSessionRef, NSURLRequest*);
240
241 void WKSetVisibleApplicationName(CFStringRef);
242
243 typedef enum {
244     WKMediaUIPartFullscreenButton   = 0,
245     WKMediaUIPartMuteButton,
246     WKMediaUIPartPlayButton,
247     WKMediaUIPartSeekBackButton,
248     WKMediaUIPartSeekForwardButton,
249     WKMediaUIPartTimelineSlider,
250     WKMediaUIPartTimelineSliderThumb,
251     WKMediaUIPartRewindButton,
252     WKMediaUIPartSeekToRealtimeButton,
253     WKMediaUIPartShowClosedCaptionsButton,
254     WKMediaUIPartHideClosedCaptionsButton,
255     WKMediaUIPartUnMuteButton,
256     WKMediaUIPartPauseButton,
257     WKMediaUIPartBackground,
258     WKMediaUIPartCurrentTimeDisplay,
259     WKMediaUIPartTimeRemainingDisplay,
260     WKMediaUIPartStatusDisplay,
261     WKMediaUIPartControlsPanel,
262     WKMediaUIPartVolumeSliderContainer,
263     WKMediaUIPartVolumeSlider,
264     WKMediaUIPartVolumeSliderThumb
265 } WKMediaUIPart;
266
267 typedef enum {
268     WKMediaControllerThemeClassic   = 1,
269     WKMediaControllerThemeQuickTime = 2
270 } WKMediaControllerThemeStyle;
271
272 typedef enum {
273     WKMediaControllerFlagDisabled = 1 << 0,
274     WKMediaControllerFlagPressed = 1 << 1,
275     WKMediaControllerFlagDrawEndCaps = 1 << 3,
276     WKMediaControllerFlagFocused = 1 << 4
277 } WKMediaControllerThemeState;
278
279 BOOL WKMediaControllerThemeAvailable(int themeStyle);
280 BOOL WKHitTestMediaUIPart(int part, int themeStyle, CGRect bounds, CGPoint point);
281 void WKMeasureMediaUIPart(int part, int themeStyle, CGRect *bounds, CGSize *naturalSize);
282 void WKDrawMediaUIPart(int part, int themeStyle, CGContextRef context, CGRect rect, unsigned state);
283 void WKDrawMediaSliderTrack(int themeStyle, CGContextRef context, CGRect rect, float timeLoaded, float currentTime, float duration, unsigned state);
284 NSView *WKCreateMediaUIBackgroundView(void);
285
286 typedef enum {
287     WKMediaUIControlTimeline,
288     WKMediaUIControlSlider,
289     WKMediaUIControlPlayPauseButton,
290     WKMediaUIControlExitFullscreenButton,
291     WKMediaUIControlRewindButton,
292     WKMediaUIControlFastForwardButton,
293     WKMediaUIControlVolumeUpButton,
294     WKMediaUIControlVolumeDownButton
295 } WKMediaUIControlType;
296     
297 NSControl *WKCreateMediaUIControl(int controlType);
298
299 #if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD)
300 mach_port_t WKInitializeRenderServer(void);
301     
302 @class CALayer;
303
304 CALayer *WKMakeRenderLayer(uint32_t contextID);
305     
306 typedef struct __WKSoftwareCARendererRef *WKSoftwareCARendererRef;
307
308 WKSoftwareCARendererRef WKSoftwareCARendererCreate(uint32_t contextID);
309 void WKSoftwareCARendererDestroy(WKSoftwareCARendererRef);
310 void WKSoftwareCARendererRender(WKSoftwareCARendererRef, CGContextRef, CGRect);
311
312 typedef struct __WKCARemoteLayerClientRef *WKCARemoteLayerClientRef;
313
314 WKCARemoteLayerClientRef WKCARemoteLayerClientMakeWithServerPort(mach_port_t port);
315 void WKCARemoteLayerClientInvalidate(WKCARemoteLayerClientRef);
316 uint32_t WKCARemoteLayerClientGetClientId(WKCARemoteLayerClientRef);
317 void WKCARemoteLayerClientSetLayer(WKCARemoteLayerClientRef, CALayer *);
318 CALayer *WKCARemoteLayerClientGetLayer(WKCARemoteLayerClientRef);
319
320 @class CARenderer;
321
322 void WKCARendererAddChangeNotificationObserver(CARenderer *, void (*callback)(void*), void* context);
323 void WKCARendererRemoveChangeNotificationObserver(CARenderer *, void (*callback)(void*), void* context);
324
325 typedef struct __WKWindowBounceAnimationContext *WKWindowBounceAnimationContextRef;
326
327 WKWindowBounceAnimationContextRef WKWindowBounceAnimationContextCreate(NSWindow *window);
328 void WKWindowBounceAnimationContextDestroy(WKWindowBounceAnimationContextRef context);
329 void WKWindowBounceAnimationSetAnimationProgress(WKWindowBounceAnimationContextRef context, double animationProgress);
330
331 #if defined(__x86_64__)
332 #import <mach/mig.h>
333 CFRunLoopSourceRef WKCreateMIGServerSource(mig_subsystem_t subsystem, mach_port_t serverPort);
334 #endif // defined(__x86_64__)
335
336 NSUInteger WKGetInputPanelWindowStyle(void);
337 UInt8 WKGetNSEventKeyChar(NSEvent *);
338 #endif // !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD)
339
340 @class CAPropertyAnimation;
341 void WKSetCAAnimationValueFunction(CAPropertyAnimation*, NSString* function);
342
343 unsigned WKInitializeMaximumHTTPConnectionCountPerHost(unsigned preferredConnectionCount);
344 int WKGetHTTPPipeliningPriority(NSURLRequest *);
345 void WKSetHTTPPipeliningPriority(NSMutableURLRequest *, int priority);
346
347 void WKSetCONNECTProxyForStream(CFReadStreamRef, CFStringRef proxyHost, CFNumberRef proxyPort);
348 void WKSetCONNECTProxyAuthorizationForStream(CFReadStreamRef, CFStringRef proxyAuthorizationString);
349 CFHTTPMessageRef WKCopyCONNECTProxyResponse(CFReadStreamRef, CFURLRef responseURL);
350
351 BOOL WKIsLatchingWheelEvent(NSEvent *);
352
353 #ifndef BUILDING_ON_TIGER
354 void WKWindowSetAlpha(NSWindow *window, float alphaValue);
355 void WKWindowSetScaledFrame(NSWindow *window, NSRect scaleFrame, NSRect nonScaledFrame);
356 #endif
357
358 #if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD)
359 void WKSyncSurfaceToView(NSView *view);
360
361 void WKEnableSettingCursorWhenInBackground(void);
362
363 CFDictionaryRef WKNSURLRequestCreateSerializableRepresentation(NSURLRequest *request, CFTypeRef tokenNull);
364 NSURLRequest *WKNSURLRequestFromSerializableRepresentation(CFDictionaryRef representation, CFTypeRef tokenNull);
365
366 CFDictionaryRef WKNSURLResponseCreateSerializableRepresentation(NSURLResponse *response, CFTypeRef tokenNull);
367 NSURLResponse *WKNSURLResponseFromSerializableRepresentation(CFDictionaryRef representation, CFTypeRef tokenNull);
368
369 #ifndef __LP64__
370 ScriptCode WKGetScriptCodeFromCurrentKeyboardInputSource(void);
371 #endif
372
373 #endif
374
375 #if defined(BUILDING_ON_TIGER) || defined(BUILDING_ON_LEOPARD) || defined(BUILDING_ON_SNOW_LEOPARD)
376 CFIndex WKGetHyphenationLocationBeforeIndex(CFStringRef string, CFIndex index);
377 #endif
378
379 CFArrayRef WKCFURLCacheCopyAllHostNamesInPersistentStore(void);
380 void WKCFURLCacheDeleteHostNamesInPersistentStore(CFArrayRef hostArray);    
381
382 #if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD) && !defined(BUILDING_ON_SNOW_LEOPARD)
383 typedef enum {
384     WKSandboxExtensionTypeReadOnly,
385     WKSandboxExtensionTypeWriteOnly,    
386     WKSandboxExtensionTypeReadWrite,
387 } WKSandboxExtensionType;
388 typedef struct __WKSandboxExtension *WKSandboxExtensionRef;
389
390 WKSandboxExtensionRef WKSandboxExtensionCreate(const char* path, WKSandboxExtensionType type);
391 void WKSandboxExtensionDestroy(WKSandboxExtensionRef sandboxExtension);
392
393 bool WKSandboxExtensionConsume(WKSandboxExtensionRef sandboxExtension);
394 bool WKSandboxExtensionInvalidate(WKSandboxExtensionRef sandboxExtension);
395
396 const char* WKSandboxExtensionGetSerializedFormat(WKSandboxExtensionRef sandboxExtension, size_t* length);
397 WKSandboxExtensionRef WKSandboxExtensionCreateFromSerializedFormat(const char* serializationFormat, size_t length);
398
399 typedef struct __WKScrollbarPainter *WKScrollbarPainterRef;
400 WKScrollbarPainterRef WKMakeScrollbarPainter(int controlSize, bool isHorizontal);
401 WKScrollbarPainterRef WKMakeScrollbarReplacementPainter(WKScrollbarPainterRef oldPainter, int newStyle, int controlSize, bool isHorizontal);
402 void WKScrollbarPainterSetDelegate(WKScrollbarPainterRef, id scrollbarPainterDelegate);
403 void WKScrollbarPainterPaint(WKScrollbarPainterRef, bool enabled, double value, CGFloat proportion, CGRect frameRect);
404 int WKScrollbarThickness(int controlSize);
405 int WKScrollbarMinimumThumbLength(WKScrollbarPainterRef);
406 int WKScrollbarMinimumTotalLengthNeededForThumb(WKScrollbarPainterRef);
407 CGFloat WKScrollbarPainterKnobAlpha(WKScrollbarPainterRef);
408 void WKSetScrollbarPainterKnobAlpha(WKScrollbarPainterRef, CGFloat);
409 CGFloat WKScrollbarPainterTrackAlpha(WKScrollbarPainterRef);
410 void WKSetScrollbarPainterTrackAlpha(WKScrollbarPainterRef, CGFloat);
411 bool WKScrollbarPainterIsHorizontal(WKScrollbarPainterRef);
412 void WKScrollbarPainterSetOverlayState(WKScrollbarPainterRef, int overlayScrollerState);
413
414 typedef struct __WKScrollbarPainterController *WKScrollbarPainterControllerRef;
415 WKScrollbarPainterControllerRef WKMakeScrollbarPainterController(id painterControllerDelegate);
416 void WKSetPainterForPainterController(WKScrollbarPainterControllerRef, WKScrollbarPainterRef, bool isHorizontal);
417 WKScrollbarPainterRef WKVerticalScrollbarPainterForController(WKScrollbarPainterControllerRef);
418 WKScrollbarPainterRef WKHorizontalScrollbarPainterForController(WKScrollbarPainterControllerRef);
419 void WKSetScrollbarPainterControllerStyle(WKScrollbarPainterControllerRef, int newStyle);
420 void WKContentAreaScrolled(WKScrollbarPainterControllerRef);
421 void WKContentAreaWillPaint(WKScrollbarPainterControllerRef);
422 void WKMouseEnteredContentArea(WKScrollbarPainterControllerRef);
423 void WKMouseExitedContentArea(WKScrollbarPainterControllerRef);
424 void WKMouseMovedInContentArea(WKScrollbarPainterControllerRef);
425 void WKWillStartLiveResize(WKScrollbarPainterControllerRef);
426 void WKContentAreaResized(WKScrollbarPainterControllerRef);
427 void WKWillEndLiveResize(WKScrollbarPainterControllerRef);
428 void WKContentAreaDidShow(WKScrollbarPainterControllerRef);
429 void WKContentAreaDidHide(WKScrollbarPainterControllerRef);
430
431 bool WKScrollbarPainterUsesOverlayScrollers(void);
432
433 #endif
434
435 #ifdef __cplusplus
436 }
437 #endif