]> git.saurik.com Git - fiveicondock.git/commitdiff
Support iOS 4.0. v0.9.3202
authorJay Freeman (saurik) <saurik@saurik.com>
Mon, 21 Jun 2010 10:38:53 +0000 (10:38 +0000)
committerJay Freeman (saurik) <saurik@saurik.com>
Mon, 21 Jun 2010 10:38:53 +0000 (10:38 +0000)
Tweak.mm
control

index abe8c3a5c3af75093132cf25046d6ab1eef75df8..9f492cbb6898477a1f5fdb648ebbc0496d57c213 100644 (file)
--- a/Tweak.mm
+++ b/Tweak.mm
@@ -3,14 +3,22 @@
 #import <Foundation/NSArray.h>
 #import <Foundation/NSNull.h>
 #import <CoreGraphics/CGGeometry.h>
+
 #import <SpringBoard/SBButtonBar.h>
 #import <SpringBoard/SBIcon.h>
 #import <SpringBoard/SBIconModel.h>
 
+@interface SBDockIconListView : NSObject {
+}
+- (NSArray *) icons;
+@end
+
 MSClassHook(SBButtonBar)
+MSClassHook(SBDockIconListView)
 MSClassHook(SBIcon)
 MSClassHook(SBIconModel)
 
+MSMetaClassHook(SBDockIconListView)
 MSMetaClassHook(SBIconModel)
 
 MSInstanceMessageHook1(float, SBButtonBar, leftMarginForIconRowArray, NSArray *, row) {
@@ -21,6 +29,10 @@ MSInstanceMessageHook0(int, SBButtonBar, maxIconColumns) {
     return 5;
 }
 
+MSClassMessageHook1(int, SBDockIconListView, iconColumnsForInterfaceOrientation, int, orientation) {
+    return 5;
+}
+
 static unsigned $SBButtonBar$count(SBButtonBar *self) {
     MSIvarHook(NSArray *, _iconMatrix);
     NSArray *row([_iconMatrix objectAtIndex:0]);
@@ -71,6 +83,25 @@ MSInstanceMessageHook2(CGPoint, SBButtonBar, originForIconAtX,Y, int, x, int, y)
     return origin;
 }
 
+// XXX: merge with previous function if possible, but not until after iPhone 4
+MSInstanceMessageHook2(CGPoint, SBDockIconListView, originForIconAtX,Y, int, x, int, y) {
+    CGPoint origin;//(MSOldCall(x, y, ));
+    //NSLog(@"f:%u,%u=(%f,%f)", x, y, origin.x, origin.y);
+    origin.y = 11;
+
+    unsigned count([[self icons] count]), gap;
+    unsigned space(320 - 60 * count);
+
+    if (count >= 4)
+        gap = space / (count + 1);
+    else // I hate people who love Apple.
+        gap = 16;
+
+    origin.x = (space - gap * (count - 1)) / 2 + (60 + gap) * x;
+
+    return origin;
+}
+
 /*MSClassMessageHook0(int, SBIconModel, maxIconListCount) {
     return 16;
 }*/
diff --git a/control b/control
index 9a50793a3e4cc98d6cd9f3a5a3f7761a1c89ff54..3b6540a3905a823e38b7e5b72241ad69159b97b9 100644 (file)
--- a/control
+++ b/control
@@ -3,7 +3,7 @@ Priority: optional
 Section: Tweaks
 Maintainer: Jay Freeman (saurik) <saurik@saurik.com>
 Architecture: iphoneos-arm
-Version: 0.9.3184-1
+Version: 0.9.3202-1
 Description: fits even more stuff right down there
 Name: Five Icon Dock
 Depends: mobilesubstrate (>= 0.9.3005-1), firmware (>= 2.2)