Chromium Code Reviews| Index: chrome/browser/ui/cocoa/hover_close_button.mm |
| diff --git a/chrome/browser/ui/cocoa/hover_close_button.mm b/chrome/browser/ui/cocoa/hover_close_button.mm |
| index a45272c1ad17f73ffc7b9bed6cd4e520d525d965..1b2ab296f67f798d6c3e66fa559ca841a8d1413f 100644 |
| --- a/chrome/browser/ui/cocoa/hover_close_button.mm |
| +++ b/chrome/browser/ui/cocoa/hover_close_button.mm |
| @@ -135,19 +135,25 @@ NSString* const kFadeOutValueKeyPath = @"fadeOutValue"; |
| } |
| - (void)drawRect:(NSRect)dirtyRect { |
| + // Close boxes align left horizontally, and align center vertically. |
| + // http:crbug.com/14739 requires this. |
| NSRect imageRect = NSZeroRect; |
| imageRect.size = [gHoverMouseOverImage size]; |
| + NSRect destRect = [self bounds]; |
| + destRect.origin.y = (NSHeight(destRect) / 2) - (NSHeight(imageRect) / 2); |
|
Nico
2011/08/08 18:23:06
Do you want to clamp this to integer coordinates?
|
| + destRect.size = imageRect.size; |
| + |
| switch(self.hoverState) { |
| case kHoverStateMouseOver: |
| - [gHoverMouseOverImage drawInRect:imageRect |
| + [gHoverMouseOverImage drawInRect:destRect |
| fromRect:imageRect |
| operation:NSCompositeSourceOver |
| fraction:1.0]; |
| break; |
| case kHoverStateMouseDown: |
| - [gHoverMouseDownImage drawInRect:imageRect |
| + [gHoverMouseDownImage drawInRect:destRect |
| fromRect:imageRect |
| operation:NSCompositeSourceOver |
| fraction:1.0]; |
| @@ -164,12 +170,12 @@ NSString* const kFadeOutValueKeyPath = @"fadeOutValue"; |
| } else { |
| previousImage = gHoverMouseDownImage; |
| } |
| - [previousImage drawInRect:imageRect |
| + [previousImage drawInRect:destRect |
| fromRect:imageRect |
| operation:NSCompositeSourceOver |
| fraction:1.0 - value]; |
| } |
| - [gHoverNoneImage drawInRect:imageRect |
| + [gHoverNoneImage drawInRect:destRect |
| fromRect:imageRect |
| operation:NSCompositeSourceOver |
| fraction:value]; |