#ifndef CYDIA_UIKITPRIVATE_H #define CYDIA_UIKITPRIVATE_H // #include <*> {{{ #include #include // }}} // typedef GS* {{{ typedef struct __GSEvent *GSEventRef; // }}} // enum UI* {{{ typedef enum { UIGestureAttributeMinDegrees, /*float*/ UIGestureAttributeMaxDegrees, /*float*/ UIGestureAttributeMinScale, /*float*/ UIGestureAttributeMaxScale, /*float*/ UIGestureAttributeIsZoomRubberBandEnabled, /*BOOL*/ UIGestureAttributeZoomsFromCurrentToMinOrMax, /*BOOL*/ UIGestureAttributeVisibleSize, /*CGSize*/ UIGestureAttributeUpdatesScroller, /*BOOL*/ } UIGestureAttribute; typedef enum { UINavigationButtonStyleNormal, UINavigationButtonStyleBack, UINavigationButtonStyleHighlighted, UINavigationButtonStyleDestructive } UINavigationButtonStyle; static const UIActivityIndicatorViewStyle UIActivityIndicatorViewStyleWhiteSmall(static_cast(3)); static const UIActivityIndicatorViewStyle UIActivityIndicatorViewStyleGraySmall(static_cast(4)); static const UIActivityIndicatorViewStyle UIActivityIndicatorViewStyleWhiteTiny(static_cast(5)); // }}} // #define * * {{{ #define UIDataDetectorTypeAutomatic 0x80000000 // }}} // @class DOM*; {{{ @class DOMRGBColor; // }}} // @class Web*; {{{ @class WebScriptObject; @class WebView; // }}} // enum DOM_* {{{ enum { DOM_CSS_UNKNOWN = 0, DOM_CSS_NUMBER = 1, DOM_CSS_PERCENTAGE = 2, DOM_CSS_EMS = 3, DOM_CSS_EXS = 4, DOM_CSS_PX = 5, DOM_CSS_CM = 6, DOM_CSS_MM = 7, DOM_CSS_IN = 8, DOM_CSS_PT = 9, DOM_CSS_PC = 10, DOM_CSS_DEG = 11, DOM_CSS_RAD = 12, DOM_CSS_GRAD = 13, DOM_CSS_MS = 14, DOM_CSS_S = 15, DOM_CSS_HZ = 16, DOM_CSS_KHZ = 17, DOM_CSS_DIMENSION = 18, DOM_CSS_STRING = 19, DOM_CSS_URI = 20, DOM_CSS_IDENT = 21, DOM_CSS_ATTR = 22, DOM_CSS_COUNTER = 23, DOM_CSS_RECT = 24, DOM_CSS_RGBCOLOR = 25, DOM_CSS_VW = 26, DOM_CSS_VH = 27, DOM_CSS_VMIN = 28, DOM_CSS_VMAX = 29 }; // }}} // enum Web* {{{ typedef NS_ENUM(NSUInteger, WebCacheModel) { WebCacheModelDocumentViewer = 0, WebCacheModelDocumentBrowser = 1, WebCacheModelPrimaryWebBrowser = 2 }; typedef enum { WebEventMouseDown, WebEventMouseUp, WebEventMouseMoved, WebEventScrollWheel, WebEventKeyDown, WebEventKeyUp, WebEventTouchBegin, WebEventTouchChange, WebEventTouchEnd, WebEventTouchCancel } WebEventType; enum { WebKitErrorCannotShowMIMEType = 100, WebKitErrorCannotShowURL = 101, WebKitErrorFrameLoadInterruptedByPolicyChange = 102, }; // }}} // @protocol Web*; {{{ @protocol WebPolicyDecisionListener - (void) use; - (void) download; - (void) ignore; @end // }}} // @interface * : UIView {{{ @interface UIFormAssistant : UIView + (UIFormAssistant *) sharedFormAssistant; - (CGRect) peripheralFrame; @end @interface UIKeyboard : UIView + (void) initImplementationNow; @end @interface UIProgressBar : UIView + (CGSize) defaultSize; - (void) setProgress:(float)progress; - (void) setStyle:(NSInteger)style; @end @interface UIProgressHUD : UIView - (void) hide; - (void) setText:(NSString *)text; - (void) showInView:(UIView *)view; @end @interface UIScroller : UIView - (CGSize) contentSize; - (void) setDirectionalScrolling:(BOOL)directional; - (void) setEventMode:(NSInteger)mode; - (void) setOffset:(CGPoint)offset; - (void) setScrollDecelerationFactor:(CGFloat)factor; - (void) setScrollHysteresis:(CGFloat)hysteresis; - (void) setScrollerIndicatorStyle:(UIScrollViewIndicatorStyle)style; - (void) setThumbDetectionEnabled:(BOOL)enabled; @end @interface UITextLabel : UIView - (void) setCentersHorizontally:(BOOL)centers; - (void) setColor:(UIColor *)color; - (void) setFont:(UIFont *)font; - (void) setText:(NSString *)text; @end @interface UITransitionView : UIView @end @interface UIWebDocumentView : UIView - (CGRect) documentBounds; - (void) enableReachability; - (void) loadRequest:(NSURLRequest *)request; - (void) redrawScaledDocument; - (void) setAllowsImageSheet:(BOOL)allows; - (void) setAllowsMessaging:(BOOL)allows; - (void) setAutoresizes:(BOOL)autoresizes; - (void) setContentsPosition:(NSInteger)position; - (void) setDrawsBackground:(BOOL)draws; - (void) _setDocumentType:(NSInteger)type; - (void) setDrawsGrid:(BOOL)draws; - (void) setInitialScale:(float)scale forDocumentTypes:(NSInteger)types; - (void) setLogsTilingChanges:(BOOL)logs; - (void) setMinimumScale:(float)scale forDocumentTypes:(NSInteger)types; - (void) setMinimumSize:(CGSize)size; - (void) setMaximumScale:(float)scale forDocumentTypes:(NSInteger)tpyes; - (void) setSmoothsFonts:(BOOL)smooths; - (void) setTileMinificationFilter:(NSString *)filter; - (void) setTileSize:(CGSize)size; - (void) setTilingEnabled:(BOOL)enabled; - (void) setViewportSize:(CGSize)size forDocumentTypes:(NSInteger)types; - (void) setZoomsFocusedFormControl:(BOOL)zooms; - (void) useSelectionAssistantWithMode:(NSInteger)mode; - (WebView *) webView; @end @interface UIWebViewWebViewDelegate : NSObject { @public UIWebView *uiWebView; } - (void) _clearUIWebView; @end // }}} // @interface *Button : * {{{ @interface UINavigationButton : UIButton - (id) initWithTitle:(NSString *)title style:(UINavigationButtonStyle)style; - (void) setBarStyle:(UIBarStyle)style; @end @interface UIPushButton : UIControl - (id) backgroundForState:(NSUInteger)state; - (void) setAutosizesToFit:(BOOL)autosizes; - (void) setBackground:(id)background forState:(NSUInteger)state; - (void) setDrawsShadow:(BOOL)draws; - (void) setStretchBackground:(BOOL)stretch; - (void) setTitle:(NSString *)title; - (void) setTitleFont:(UIFont *)font; @end @interface UIThreePartButton : UIPushButton @end // }}} // @interface * : NS* {{{ @interface WebDefaultUIKitDelegate : NSObject + (WebDefaultUIKitDelegate *) sharedUIKitDelegate; @end // }}} // @interface DOM* {{{ @interface DOMObject @end @interface DOMCSSValue : DOMObject @end @interface DOMCSSPrimitiveValue : DOMCSSValue @property (readonly) unsigned short primitiveType; - (DOMRGBColor *) getRGBColorValue; - (float) getFloatValue:(unsigned short)unit; @end @interface DOMRGBColor : DOMObject @property (readonly, strong) DOMCSSPrimitiveValue *red; @property (readonly, strong) DOMCSSPrimitiveValue *green; @property (readonly, strong) DOMCSSPrimitiveValue *blue; @property (readonly, strong) DOMCSSPrimitiveValue *alpha; @end @interface DOMCSSStyleDeclaration : DOMObject - (DOMCSSValue *) getPropertyCSSValue:(NSString *)name; - (void) setProperty:(NSString *)name value:(NSString *)value priority:(NSString *)priority; @end @interface DOMNode : DOMObject @end @interface DOMNodeList : DOMObject @property (readonly) unsigned length; - (DOMNode *) item:(unsigned)index; @end @interface DOMElement : DOMNode @property (readonly) int scrollHeight; @end @interface DOMHTMLElement : DOMElement @property (readonly, strong) DOMCSSStyleDeclaration *style; @end @interface DOMHTMLBodyElement : DOMHTMLElement @end @interface DOMHTMLIFrameElement : DOMHTMLElement @end @interface DOMDocument : DOMNode @property (strong) DOMHTMLElement *body; - (DOMCSSStyleDeclaration *) getComputedStyle:(DOMElement *)element pseudoElement:(NSString *)pseudo; - (DOMNodeList *) getElementsByTagName:(NSString *)name; @end // }}} // @interface WAK* : * {{{ @interface WAKResponder : NSObject @end @interface WAKView : NSObject + (BOOL) hasLandscapeOrientation; @end @interface WAKWindow : NSObject + (BOOL) hasLandscapeOrientation; @end // }}} // @interface Web* {{{ @interface WebPreferences : NSObject + (void) setWebKitLinkTimeVersion:(NSInteger)version; - (void) setCacheModel:(WebCacheModel)value; - (void) setJavaScriptCanOpenWindowsAutomatically:(BOOL)value; @end @interface WebDataSource : NSObject - (NSURLRequest *) request; - (NSURLResponse *) response; @end @interface WebFrame : NSObject @property (nonatomic, readonly, copy) NSArray *childFrames; @property (nonatomic, readonly, strong) WebDataSource *dataSource; @property (nonatomic, readonly, strong) DOMDocument *DOMDocument; @property (nonatomic, readonly, strong) DOMHTMLElement *frameElement; @property (nonatomic, readonly) JSGlobalContextRef globalContext; @property (nonatomic, readonly, strong) WebFrame *parentFrame; @property (nonatomic, readonly, strong) WebDataSource *provisionalDataSource; @property (nonatomic, readonly, strong) WebScriptObject *windowObject; @end @interface WebView : WAKView @property (nonatomic, readonly, strong) WebFrame *mainFrame; @property (nonatomic, strong) WebPreferences *preferences; - (IBAction) reloadFromOrigin:(id)sender; - (void) setApplicationNameForUserAgent:(NSString *)value; - (void) setShouldUpdateWhileOffscreen:(BOOL)value; @end @interface WebScriptObject : NSObject - (id) evaluateWebScript:(NSString *)script; + (BOOL) isKeyExcludedFromWebScript:(const char *)name; - (JSObjectRef) JSObject; - (void) setWebScriptValueAtIndex:(unsigned)index value:(id)value; - (id) webScriptValueAtIndex:(unsigned)index; @end @interface WebUndefined : NSObject + (WebUndefined *) undefined; @end // }}} // @interface UIWeb* : * {{{ @interface UIWebBrowserView : UIWebDocumentView @end @interface UIWebTouchEventsGestureRecognizer : UIGestureRecognizer - (int) type; - (NSString *) _typeDescription; @end // }}} // @interface NS* (*) {{{ @interface NSMutableURLRequest (Apple) - (void) setHTTPShouldUsePipelining:(BOOL)pipelining; @end @interface NSObject (Apple) + (BOOL) isKeyExcludedFromWebScript:(const char *)name; - (NSArray *) attributeKeys; @end @interface NSString (Apple) - (NSString *) stringByAddingPercentEscapes; - (NSString *) stringByReplacingCharacter:(UniChar)from withCharacter:(UniChar)to; @end @interface NSURL (Apple) - (BOOL) isGoogleMapsURL; - (BOOL) isSpringboardHandledURL; // XXX: make this an enum - (NSURL *) itmsURL:(NSInteger *)store; - (NSURL *) mapsURL; - (NSURL *) phobosURL; - (NSURL *) youTubeURL; @end @interface NSURLRequest (Apple) + (BOOL) allowsAnyHTTPSCertificateForHost:(NSString *)host; + (void) setAllowsAnyHTTPSCertificate:(BOOL)allow forHost:(NSString *)host; @end @interface NSValue (Apple) + (NSValue *) valueWithSize:(CGSize)size; @end // }}} // @interface UI* (*) {{{ @interface UIActionSheet (Apple) - (void) setContext:(NSString *)context; - (NSString *) context; @end @interface UIAlertView (Apple) - (void) addTextFieldWithValue:(NSString *)value label:(NSString *)label; - (id) buttons; - (NSString *) context; - (void) setContext:(NSString *)context; - (void) setNumberOfRows:(int)rows; - (void) setRunsModal:(BOOL)modal; - (UITextField *) textField; - (UITextField *) textFieldAtIndex:(NSUInteger)index; - (void) _updateFrameForDisplay; @end @interface UIApplication (Apple) - (void) suspendReturningToLastApp:(BOOL)returning; - (void) suspend; - (void) applicationSuspend; - (void) applicationSuspend:(GSEventRef)event; - (void) _animateSuspension:(BOOL)suspend duration:(double)duration startTime:(double)start scale:(float)scale; - (void) applicationOpenURL:(NSURL *)url; - (void) applicationWillResignActive:(UIApplication *)application; - (void) applicationWillSuspend; - (void) launchApplicationWithIdentifier:(NSString *)identifier suspended:(BOOL)suspended; - (void) openURL:(NSURL *)url asPanel:(BOOL)panel; - (void) setStatusBarShowsProgress:(BOOL)shows; - (void) _setSuspended:(BOOL)suspended; - (void) terminateWithSuccess; @end @interface UIBarButtonItem (Apple) - (UIView *) view; @end @interface UIColor (Apple) + (UIColor *) pinStripeColor; @end @interface UIControl (Apple) - (void) addTarget:(id)target action:(SEL)action forEvents:(NSInteger)events; @end @interface UIDevice (Apple) - (NSString *) uniqueIdentifier; @end @interface UIImage (Apple) + (UIImage *) imageAtPath:(NSString *)path; @end @interface UILocalizedIndexedCollation (Apple) - (id) initWithDictionary:(NSDictionary *)dictionary; - (NSString *) transformedCollationStringForString:(NSString *)string; @end @interface UINavigationBar (Apple) + (CGSize) defaultSize; - (UIBarStyle) _barStyle:(BOOL)style; @end @interface UIScrollView (Apple) - (void) setScrollingEnabled:(BOOL)enabled; - (void) setShowBackgroundShadow:(BOOL)show; @end @interface UISearchBar (Apple) - (UITextField *) searchField; @end @interface UITabBarController (Apple) - (UITransitionView *) _transitionView; - (void) concealTabBarSelection; - (void) revealTabBarSelection; @end @interface UITabBarItem (Apple) - (void) setAnimatedBadge:(BOOL)animated; - (UIView *) view; @end @interface UITableViewCell (Apple) - (float) selectionPercent; - (void) _updateHighlightColorsForView:(id)view highlighted:(BOOL)highlighted; @end @interface UITextField (Apple) - (NSObject *) textInputTraits; @end @interface UITextView (Apple) - (UIFont *) font; - (void) setAllowsRubberBanding:(BOOL)rubberbanding; - (void) setFont:(UIFont *)font; - (void) setMarginTop:(int)margin; - (void) setTextColor:(UIColor *)color; @end @interface UIView (Apple) - (UIScroller *) _scroller; - (void) setClipsSubviews:(BOOL)clips; - (void) setEnabledGestures:(NSInteger)gestures; - (void) setFixedBackgroundPattern:(BOOL)fixed; - (void) setGestureDelegate:(id)delegate; - (void) setNeedsDisplayOnBoundsChange:(BOOL)needs; - (void) setValue:(NSValue *)value forGestureAttribute:(NSInteger)attribute; - (void) setZoomScale:(float)scale duration:(double)duration; - (void) _setZoomScale:(float)scale duration:(double)duration; - (void) setOrigin:(CGPoint)origin; @end @interface UIViewController (Apple) - (void) _updateLayoutForStatusBarAndInterfaceOrientation; - (void) unloadView; @end @interface UIWindow (Apple) - (UIResponder *) firstResponder; - (void) makeKey:(UIApplication *)application; - (void) orderFront:(UIApplication *)application; @end @interface UIWebView (Apple) - (UIWebDocumentView *) _documentView; - (UIScrollView *) _scrollView; - (UIScroller *) _scroller; - (void) _updateViewSettings; - (void) webView:(WebView *)view addMessageToConsole:(NSDictionary *)message; //- (WebView *) webView:(WebView *)view createWebViewWithRequest:(NSURLRequest *)request; - (void) webView:(WebView *)view decidePolicyForNavigationAction:(NSDictionary *)action request:(NSURLRequest *)request frame:(WebFrame *)frame decisionListener:(id)listener; - (void) webView:(WebView *)view decidePolicyForNewWindowAction:(NSDictionary *)action request:(NSURLRequest *)request newFrameName:(NSString *)name decisionListener:(id)listener; - (void) webView:(WebView *)view didClearWindowObject:(WebScriptObject *)window forFrame:(WebFrame *)frame; - (void) webView:(WebView *)view didCommitLoadForFrame:(WebFrame *)frame; - (void) webView:(WebView *)view didFailLoadWithError:(NSError *)error forFrame:(WebFrame *)frame; - (void) webView:(WebView *)view didFailProvisionalLoadWithError:(NSError *)error forFrame:(WebFrame *)frame; - (void) webView:(WebView *)view didFinishLoadForFrame:(WebFrame *)frame; - (void) webView:(WebView *)view didReceiveTitle:(id)title forFrame:(id)frame; - (void) webView:(WebView *)view didStartProvisionalLoadForFrame:(WebFrame *)frame; - (void) webView:(WebView *)view resource:(id)identifier didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge fromDataSource:(WebDataSource *)source; - (void) webView:(WebView *)view resource:(id)identifier didCancelAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge fromDataSource:(WebDataSource *)source; - (NSURLRequest *) webView:(WebView *)view resource:(id)identifier willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)response fromDataSource:(WebDataSource *)source; - (NSURLRequest *) webThreadWebView:(WebView *)view resource:(id)identifier willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)response fromDataSource:(WebDataSource *)source; - (void) webView:(WebView *)view runJavaScriptAlertPanelWithMessage:(NSString *)message initiatedByFrame:(WebFrame *)frame; - (BOOL) webView:(WebView *)view runJavaScriptConfirmPanelWithMessage:(NSString *)message initiatedByFrame:(WebFrame *)frame; - (NSString *) webView:(WebView *)view runJavaScriptTextInputPanelWithPrompt:(NSString *)prompt defaultText:(NSString *)text initiatedByFrame:(WebFrame *)frame; - (void) webViewClose:(WebView *)view; @end // }}} // @interface Web* (*) {{{ @interface WebFrame (Apple) - (void) setNeedsLayout; @end @interface WebPreferences (Apple) + (void) _setInitialDefaultTextEncodingToSystemEncoding; - (void) _setLayoutInterval:(NSInteger)interval; - (void) setOfflineWebApplicationCacheEnabled:(BOOL)enabled; @end @interface WebView (Apple) - (void) _preferencesChanged:(WebPreferences *)preferences; - (void) _preferencesChangedNotification:(NSNotification *)notification; - (void) _setLayoutInterval:(float)interval; - (void) _setAllowsMessaging:(BOOL)allows; @end // }}} // #ifndef AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER {{{ #ifndef AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER #define AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER // XXX: this is a random jumble of garbage typedef enum { UIModalPresentationFullScreen, UIModalPresentationPageSheet, UIModalPresentationFormSheet, UIModalPresentationCurrentContext, } UIModalPresentationStyle; #define kSCNetworkReachabilityFlagsConnectionOnTraffic kSCNetworkReachabilityFlagsConnectionAutomatic #define UIBarStyleBlack UIBarStyleBlackOpaque @class NSUndoManager; @class UIPasteboard; @interface UIActionSheet (iPad) - (void) showFromBarButtonItem:(UIBarButtonItem *)item animated:(BOOL)animated; @end @interface UIViewController (iPad) - (void) setModalPresentationStyle:(UIModalPresentationStyle)style; @end @interface UIApplication (iOS_3_0) @property(nonatomic) BOOL applicationSupportsShakeToEdit; @end @interface UIScrollView (iOS_3_0) @property(assign,nonatomic) CGFloat decelerationRate; @end @interface UIWebView (iOS_3_0) @property(assign,nonatomic) NSUInteger dataDetectorTypes; @end extern CGFloat const UIScrollViewDecelerationRateNormal; #endif//AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER // }}} // #if __IPHONE_OS_VERSION_MIN_REQUIRED < 30000 {{{ #if __IPHONE_OS_VERSION_MIN_REQUIRED < 30000 #define kSCNetworkReachabilityFlagsConnectionOnDemand (1 << 5) #define kCFCoreFoundationVersionNumber_iPhoneOS_3_0 478.47 #endif // }}} #ifndef kCFCoreFoundationVersionNumber_iPhoneOS_4_0 #define kCFCoreFoundationVersionNumber_iPhoneOS_4_0 550.32 #endif @interface UITabBarItem (iOS_7_0) - (id) initWithTitle:(NSString *)title image:(UIImage *)image selectedImage:(UIImage *)selectedImage; @end @interface UIScreen (iOS_4_0) @property(nonatomic,readonly) CGFloat scale; @end @interface DOMHTMLIFrameElement (IDL) - (WebFrame *) contentFrame; @end // extern *; {{{ extern CFStringRef const kGSDisplayIdentifiersCapability; extern float const UIWebViewGrowsAndShrinksToFitHeight; extern float const UIWebViewScalesToFitScale; extern NSString *WebKitErrorDomain; // }}} // extern "C" *(); {{{ extern "C" void *reboot2(uint64_t flags); extern "C" mach_port_t SBSSpringBoardServerPort(); extern "C" int SBBundlePathForDisplayIdentifier(mach_port_t port, const char *identifier, char *path); extern "C" NSArray *SBSCopyApplicationDisplayIdentifiers(bool active, bool debuggable); extern "C" NSString *SBSCopyLocalizedApplicationNameForDisplayIdentifier(NSString *); extern "C" NSString *SBSCopyIconImagePathForDisplayIdentifier(NSString *); extern "C" UIImage *_UIImageWithName(NSString *name); extern "C" void UISetColor(CGColorRef color); // }}} #endif//CYDIA_UIKITPRIVATE_H