| | 12 | @interface SapphireWideCenteredLayout : NSObject |
|---|
| | 13 | { |
|---|
| | 14 | id realLayout; |
|---|
| | 15 | } |
|---|
| | 16 | @end |
|---|
| | 17 | |
|---|
| | 18 | @interface SapphireCenteredMenuController (compat) |
|---|
| | 19 | - (id)firstSublayerNamed:(NSString *)name; |
|---|
| | 20 | - (void)setLayoutManager:(id)newLayout; |
|---|
| | 21 | - (id)layoutManager; |
|---|
| | 22 | @end |
|---|
| | 23 | |
|---|
| | 24 | @implementation SapphireWideCenteredLayout |
|---|
| | 25 | - (id)initWithReal:(id)real |
|---|
| | 26 | { |
|---|
| | 27 | self = [super init]; |
|---|
| | 28 | if(self == nil) |
|---|
| | 29 | return self; |
|---|
| | 30 | realLayout = [real retain]; |
|---|
| | 31 | return self; |
|---|
| | 32 | } |
|---|
| | 33 | |
|---|
| | 34 | - (void) dealloc |
|---|
| | 35 | { |
|---|
| | 36 | [realLayout release]; |
|---|
| | 37 | [super dealloc]; |
|---|
| | 38 | } |
|---|
| | 39 | |
|---|
| | 40 | - (void)layoutSublayersOfLayer:(id)layer |
|---|
| | 41 | { |
|---|
| | 42 | [realLayout layoutSublayersOfLayer:layer]; |
|---|
| | 43 | NSRect master = [layer frame]; |
|---|
| | 44 | id listLayer = [layer firstSublayerNamed:@"list"]; |
|---|
| | 45 | NSRect listFrame = [listLayer frame]; |
|---|
| | 46 | listFrame.size.height -= 2.5f*listFrame.origin.y; |
|---|
| | 47 | listFrame.size.width*=2.0f; |
|---|
| | 48 | listFrame.origin.x = (master.size.width - listFrame.size.width) * 0.5f; |
|---|
| | 49 | listFrame.origin.y *= 2.0f; |
|---|
| | 50 | [listLayer setFrame:listFrame]; |
|---|
| | 51 | } |
|---|
| | 52 | - (NSSize)preferredSizeOfLayer:(id)layer |
|---|
| | 53 | { |
|---|
| | 54 | return [realLayout preferredSizeOfLayer:layer]; |
|---|
| | 55 | } |
|---|
| | 56 | |
|---|
| | 57 | @end |
|---|
| | 58 | |
|---|