MSClassHook(UINavigationBar)
MSClassHook(UIToolbar)
+MSClassHook(CKBalloonView)
MSClassHook(CKMessageCell)
MSClassHook(CKTimestampView)
MSClassHook(CKTranscriptCell)
static NSArray *Wallpapers_;
static bool Papered_;
static bool Docked_;
+static bool SMSBackgrounded_;
static NSString *WallpaperFile_;
static UIImageView *WallpaperImage_;
static UIWebDocumentView *WallpaperPage_;
}
// ChatKit {{{
+MSInstanceMessageHook2(id, CKBalloonView, initWithFrame,delegate, CGRect, frame, id, delegate) {
+ if ((self = MSOldCall(frame, delegate)) != nil) {
+ [self setBackgroundColor:[UIColor clearColor]];
+ } return self;
+}
+
+MSInstanceMessageHook0(BOOL, CKBalloonView, _canUseLayerBackedBalloon) {
+ return SMSBackgrounded_ ? NO : MSOldCall();
+}
+
MSInstanceMessageHook0(void, CKTranscriptHeaderView, layoutSubviews) {
[self wb$setBackgroundColor:[UIColor clearColor]];
return MSOldCall();
if (NSString *path = $getTheme$($useScale$([NSArray arrayWithObjects:@"SMSBackground.png", @"SMSBackground.jpg", nil])))
if (UIImage *image = $getImage$(path)) {
+ SMSBackgrounded_ = true;
+
UIView *&_transcriptTable(MSHookIvar<UIView *>(self, "_transcriptTable"));
UIView *&_transcriptLayer(MSHookIvar<UIView *>(self, "_transcriptLayer"));
UIView *table;