X-Git-Url: https://git.saurik.com/winterboard.git/blobdiff_plain/c570f7cb4b125942a79cbfaab14fc763ea24a75e..237d7f0420cf89f21bccfc1f563b0c22f0de5d3f:/Library.mm diff --git a/Library.mm b/Library.mm index 918978a..676a257 100644 --- a/Library.mm +++ b/Library.mm @@ -200,7 +200,7 @@ static BOOL (*_GSFontGetUseLegacyFontMetrics)(); static bool Debug_ = false; static bool UIDebug_ = false; static bool Engineer_ = false; -static bool SummerBoard_ = true; +static bool SummerBoard_ = false; static bool SpringBoard_; static UIImage *(*_UIApplicationImageWithName)(NSString *name); @@ -713,6 +713,8 @@ static struct WBStringDrawingState { } *stringDrawingState_; MSInstanceMessageHook6(CGSize, NSString, drawAtPoint,forWidth,withFont,lineBreakMode,letterSpacing,includeEmoji, CGPoint, point, float, width, UIFont *, font, UILineBreakMode, mode, float, spacing, BOOL, emoji) { + //NSLog(@"XXX: @\"%@\" %g", self, spacing); + WBStringDrawingState *state(stringDrawingState_); if (state == NULL) return MSOldCall(point, width, font, mode, spacing, emoji); @@ -732,7 +734,11 @@ MSInstanceMessageHook6(CGSize, NSString, drawAtPoint,forWidth,withFont,lineBreak return CGSizeZero; } +extern "C" NSString *NSStringFromCGRect(CGRect rect); + MSInstanceMessageHook7(CGSize, NSString, _drawInRect,withFont,lineBreakMode,alignment,lineSpacing,includeEmoji,truncationRect, CGRect, rect, UIFont *, font, UILineBreakMode, mode, UITextAlignment, alignment, float, spacing, BOOL, emoji, CGRect, truncation) { + //NSLog(@"XXX: &\"%@\" %@ \"%@\" %u %u %g %u %@", self, NSStringFromCGRect(rect), font, mode, alignment, spacing, emoji, NSStringFromCGRect(truncation)); + WBStringDrawingState *state(stringDrawingState_); if (state == NULL) return MSOldCall(rect, font, mode, alignment, spacing, emoji, truncation); @@ -772,6 +778,8 @@ MSInstanceMessageHook7(CGSize, NSString, _drawInRect,withFont,lineBreakMode,alig } MSInstanceMessageHook4(CGSize, NSString, sizeWithFont,forWidth,lineBreakMode,letterSpacing, UIFont *, font, float, width, UILineBreakMode, mode, float, spacing) { + //NSLog(@"XXX: #\"%@\" \"%@\" %g %u %g", self, font, width, mode, spacing); + WBStringDrawingState *state(stringDrawingState_); if (state == NULL) return MSOldCall(font, width, mode, spacing); @@ -791,6 +799,8 @@ MSInstanceMessageHook4(CGSize, NSString, sizeWithFont,forWidth,lineBreakMode,let } MSInstanceMessageHook1(CGSize, NSString, sizeWithFont, UIFont *, font) { + //NSLog(@"XXX: ?\"%@\"", self); + WBStringDrawingState *state(stringDrawingState_); if (state == NULL) return MSOldCall(font); @@ -1603,15 +1613,15 @@ MSInstanceMessage1(void, SBIconLabel, drawRect, CGRect, rect) { MSInstanceMessage0(CGImageRef, SBIconLabel, buildLabelImage) { bool docked((MSHookIvar(self, "_inDock") & 0x2) != 0); - WBStringDrawingState labelState = {NULL, 0, [NSString stringWithFormat:@"" - "color: %@;" - , - (docked || !SummerBoard_ ? @"white" : @"#b3b3b3") - ], docked ? @"DockedIconLabelStyle" : @"UndockedIconLabelStyle"}; + WBStringDrawingState labelState = {NULL, 0, @"" + "color: white;" + , docked ? @"DockedIconLabelStyle" : @"UndockedIconLabelStyle"}; stringDrawingState_ = &labelState; + //NSLog(@"XXX: +"); CGImageRef image(MSOldCall()); + //NSLog(@"XXX: -"); stringDrawingState_ = NULL; return image; @@ -1801,7 +1811,7 @@ MSHook(bool, _Z24GetFileNameForThisActionmPcRb, unsigned long a0, char *a1, bool NSString *path([NSString stringWithFormat:@"%@/UISounds/%@", theme, file]); if ([Manager_ fileExistsAtPath:path]) { strcpy(a1, [path UTF8String]); - continue; + break; } } } @@ -1870,6 +1880,7 @@ static void NSString$drawAtPoint$withStyle$(NSString *self, SEL _cmd, CGPoint po WKSetCurrentGraphicsContext(UIGraphicsGetCurrentContext()); if (style == nil || [style length] == 0) style = @"font-family: Helvetica; font-size: 12px"; + //NSLog(@"XXX:draw(%@)", [style stringByReplacingOccurrencesOfString:@"\n" withString:@" "]); return [[WBMarkup sharedMarkup] drawString:self atPoint:point withStyle:style]; } @@ -1883,6 +1894,7 @@ static void NSString$drawInRect$withStyle$(NSString *self, SEL _cmd, CGRect rect static CGSize NSString$sizeWithStyle$forWidth$(NSString *self, SEL _cmd, NSString *style, float width) { if (style == nil || [style length] == 0) style = @"font-family: Helvetica; font-size: 12px"; + //NSLog(@"XXX:size(%@)", [style stringByReplacingOccurrencesOfString:@"\n" withString:@" "]); return [[WBMarkup sharedMarkup] sizeOfString:self withStyle:style forWidth:width]; } @@ -1908,7 +1920,7 @@ static void SBInitialize() { WBRename(SBDockIconListView, setFrame:, setFrame$); MSHookMessage(object_getClass($SBDockIconListView), @selector(shouldShowNewDock), &$SBDockIconListView$shouldShowNewDock, &_SBDockIconListView$shouldShowNewDock); - if (kCFCoreFoundationVersionNumber < 600) + if (kCFCoreFoundationVersionNumber < 600 || SummerBoard_) WBRename(SBIconLabel, drawRect:, drawRect$); else WBRename(SBIconLabel, buildLabelImage, buildLabelImage); @@ -1958,6 +1970,9 @@ MSInitialize { if (NSDictionary *settings = [NSDictionary dictionaryWithContentsOfFile:[NSString stringWithFormat:@"/User/Library/Preferences/com.saurik.WinterBoard.plist"]]) { if (NSNumber *value = [settings objectForKey:@"SummerBoard"]) SummerBoard_ = [value boolValue]; + else + SummerBoard_ = true; + if (NSNumber *value = [settings objectForKey:@"Debug"]) Debug_ = [value boolValue]; if (NSNumber *value = [settings objectForKey:@"RecordUI"])