diff options
author | Jay Freeman (saurik) <saurik@saurik.com> | 2013-12-23 16:18:02 -0800 |
---|---|---|
committer | Jay Freeman (saurik) <saurik@saurik.com> | 2013-12-23 16:18:02 -0800 |
commit | d32f96beabb726c84dfeaa3a51bb365eded7f8f9 (patch) | |
tree | c60863e6007bd76307d1929b7c98a6eb129b50a4 | |
parent | 5738f070516b40d0ae4e0ebb570ec86449b4ad60 (diff) |
Fix background color so it works on all iOS builds.
-rw-r--r-- | CyteKit/ViewController.h | 5 | ||||
-rw-r--r-- | CyteKit/ViewController.mm | 11 | ||||
-rw-r--r-- | CyteKit/WebViewController.h | 3 | ||||
-rw-r--r-- | CyteKit/WebViewController.mm | 31 |
4 files changed, 30 insertions, 20 deletions
diff --git a/CyteKit/ViewController.h b/CyteKit/ViewController.h index e371268..b137249 100644 --- a/CyteKit/ViewController.h +++ b/CyteKit/ViewController.h @@ -26,6 +26,8 @@ #include <UIKit/UIKit.h> +#include <Menes/ObjectHandle.h> + @interface UIViewController (Cydia) - (BOOL) hasLoaded; - (void) reloadData; @@ -36,6 +38,7 @@ @interface CyteViewController : UIViewController { _transient id delegate_; BOOL loaded_; + _H<UIColor> color_; } // The default implementation of this method is essentially a no-op, @@ -62,6 +65,8 @@ // just happens not to be visible. - (void) releaseSubviews; +- (void) setPageColor:(UIColor *)color; + @end #endif//CyteKit_ViewController_H diff --git a/CyteKit/ViewController.mm b/CyteKit/ViewController.mm index a036595..df2ba61 100644 --- a/CyteKit/ViewController.mm +++ b/CyteKit/ViewController.mm @@ -24,6 +24,8 @@ #include <Foundation/Foundation.h> #include <UIKit/UIKit.h> +#include "iPhonePrivate.h" + extern bool IsWildcat_; @implementation UIViewController (Cydia) @@ -110,4 +112,13 @@ extern bool IsWildcat_; return IsWildcat_ || orientation == UIInterfaceOrientationPortrait; } +- (void) setPageColor:(UIColor *)color { + if (color == nil) { + color = [UIColor groupTableViewBackgroundColor]; + if ([color isEqual:[UIColor clearColor]]) + color = [UIColor pinStripeColor]; + //color = [UIColor colorWithRed:(215.0/255.0) green:(217.0/255.0) blue:(223.0/255.0) alpha:1.0]; + } color_ = color; +} + @end diff --git a/CyteKit/WebViewController.h b/CyteKit/WebViewController.h index c8d9d51..cb1bf61 100644 --- a/CyteKit/WebViewController.h +++ b/CyteKit/WebViewController.h @@ -71,7 +71,6 @@ float width_; Class class_; - _H<UIColor> color_; _H<UIBarButtonItem> reloaditem_; _H<UIBarButtonItem> loadingitem_; @@ -103,8 +102,6 @@ - (id) initWithWidth:(float)width; - (id) initWithWidth:(float)width ofClass:(Class)_class; -- (void) setColor:(UIColor *)color; - - (void) callFunction:(WebScriptObject *)function; - (void) webView:(WebView *)view didClearWindowObject:(WebScriptObject *)window forFrame:(WebFrame *)frame; diff --git a/CyteKit/WebViewController.mm b/CyteKit/WebViewController.mm index f5ec060..c4931cb 100644 --- a/CyteKit/WebViewController.mm +++ b/CyteKit/WebViewController.mm @@ -418,12 +418,12 @@ float CYScrollViewDecelerationRateNormal; if (page == nil) { CyteWebViewController *browser([[[class_ alloc] init] autorelease]); - [browser setColor:color_]; [browser setRequest:request]; page = browser; } [page setDelegate:delegate_]; + [page setPageColor:color_]; if (!pop) { [[self navigationItem] setTitle:title_]; @@ -579,20 +579,18 @@ float CYScrollViewDecelerationRateNormal; float blue([[rgb blue] getFloatValue:DOM_CSS_NUMBER]); float alpha([[rgb alpha] getFloatValue:DOM_CSS_NUMBER]); - uic = [UIColor - colorWithRed:(red / 255) - green:(green / 255) - blue:(blue / 255) - alpha:alpha - ]; + if (alpha == 1) + uic = [UIColor + colorWithRed:(red / 255) + green:(green / 255) + blue:(blue / 255) + alpha:alpha + ]; } } - if (uic == nil) - uic = [UIColor groupTableViewBackgroundColor]; - - color_ = uic; - [scroller_ setBackgroundColor:uic]; + [self setPageColor:uic]; + [scroller_ setBackgroundColor:color_]; break; } } @@ -838,7 +836,7 @@ float CYScrollViewDecelerationRateNormal; width_ = width; class_ = _class; - color_ = [UIColor groupTableViewBackgroundColor]; + [self setPageColor:nil]; allowsNavigationAction_ = true; @@ -956,6 +954,9 @@ float CYScrollViewDecelerationRateNormal; //[scroller setAllowsRubberBanding:YES]; } + [webview_ setOpaque:NO]; + [webview_ setBackgroundColor:color_]; + [scroller_ setFixedBackgroundPattern:YES]; [scroller_ setBackgroundColor:color_]; [scroller_ setClipsSubviews:YES]; @@ -1000,10 +1001,6 @@ float CYScrollViewDecelerationRateNormal; } return self; } -- (void) setColor:(UIColor *)color { - color_ = color; -} - - (void) callFunction:(WebScriptObject *)function { WebThreadLocked lock; |