]> git.saurik.com Git - winterboard.git/commitdiff
Do not mess with the rendering of stuff I'm not involved in.
authorJay Freeman (saurik) <saurik@saurik.com>
Wed, 19 Oct 2011 23:32:09 +0000 (23:32 +0000)
committerJay Freeman (saurik) <saurik@saurik.com>
Wed, 19 Oct 2011 23:32:09 +0000 (23:32 +0000)
Library.mm

index 9544cc6fa9b542ee9839e937bc8811371f44d756..198ddbe79790153dd3404f8446b761446f9e62af 100644 (file)
@@ -631,45 +631,37 @@ MSInstanceMessageHook2(NSString *, NSBundle, pathForResource,ofType, NSString *,
 
 static struct WBStringDrawingState {
     WBStringDrawingState *next_;
-    NSString *extra_;
-    NSString *key_;
+    NSString *base_;
+    NSString *info_;
 } *stringDrawingState_;
 
 MSInstanceMessageHook4(CGSize, NSString, drawAtPoint,forWidth,withFont,lineBreakMode, CGPoint, point, float, width, UIFont *, font, int, mode) {
-    if (stringDrawingState_ == NULL)
+    if (stringDrawingState_ == NULL || stringDrawingState_->info_ == nil)
         return MSOldCall(point, width, font, mode);
 
-    NSString *style([[font markupDescription] stringByAppendingString:@";"]);
-
-    if (NSString *extra = stringDrawingState_->extra_)
-        style = [style stringByAppendingString:extra];
-
-    if (stringDrawingState_->key_ != nil)
-        if (NSString *extra = [Info_ objectForKey:stringDrawingState_->key_])
-            style = [style stringByAppendingString:extra];
+    NSString *info([Info_ objectForKey:stringDrawingState_->info_]);
+    if (info == nil)
+        return MSOldCall(point, width, font, mode);
 
+    NSString *base(stringDrawingState_->base_ ?: @"");
     stringDrawingState_ = stringDrawingState_->next_;
 
-    [self drawAtPoint:point withStyle:style];
+    [self drawAtPoint:point withStyle:[NSString stringWithFormat:@"%@;%@;%@", [font markupDescription], base, info]];
     return CGSizeZero;
 }
 
 MSInstanceMessageHook2(CGSize, NSString, drawAtPoint,withFont, CGPoint, point, UIFont *, font) {
-    if (stringDrawingState_ == NULL)
+    if (stringDrawingState_ == NULL || stringDrawingState_->info_ == nil)
         return MSOldCall(point, font);
 
-    NSString *style([[font markupDescription] stringByAppendingString:@";"]);
-
-    if (NSString *extra = stringDrawingState_->extra_)
-        style = [style stringByAppendingString:extra];
-
-    if (stringDrawingState_->key_ != nil)
-        if (NSString *extra = [Info_ objectForKey:stringDrawingState_->key_])
-            style = [style stringByAppendingString:extra];
+    NSString *info([Info_ objectForKey:stringDrawingState_->info_]);
+    if (info == nil)
+        return MSOldCall(point, font);
 
+    NSString *base(stringDrawingState_->base_ ?: @"");
     stringDrawingState_ = stringDrawingState_->next_;
 
-    [self drawAtPoint:point withStyle:style];
+    [self drawAtPoint:point withStyle:[NSString stringWithFormat:@"%@;%@;%@", [font markupDescription], base, info]];
     return CGSizeZero;
 }
 
@@ -689,6 +681,7 @@ MSInstanceMessageHook1(UIImage *, SBIconBadgeFactory, checkoutBadgeImageForText,
 MSInstanceMessageHook1(UIImage *, SBCalendarApplicationIcon, generateIconImage, int, type) {
     WBStringDrawingState dayState = {NULL, @""
         "color: white;"
+        // XXX: this is only correct on an iPod dock
         "text-shadow: rgba(0, 0, 0, 0.2) -1px -1px 2px;"
     , @"CalendarIconDayStyle"};