Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

NSImage rendering upside down



Ultimately, I am trying to remove the shadow from the image displayed in a status item. In doing so, it looks like the image needs to be drawn directly, so I have added a category to override drawInteriorWithFrame:inView: and draw the image.

Below is the source. The call to drawInRect:fromRect:operation:fraction: draws the image upside down.

Is there a better way to remove the shadow from an NSButtonCell drawing an image in a status item? If not, why is the image flipping and how is it turned off?

Thanks
Eric

@interface NSStatusBarButtonCell (Otsec)

- (void)drawInteriorWithFrame:(NSRect)inRect inView:(NSView *)inView;

@end

@implementation NSStatusBarButtonCell (Otsec)

- (void)drawInteriorWithFrame:(NSRect)inRect inView:(NSView *)inView {
NSImage *image = [(NSButtonCell *)self image];

NSRect from = NSZeroRect;
NSRect draw = inRect;

NSCompositingOperation mode = NSCompositeSourceOut;

if ( [self isHighlighted] ) {
image = [(NSButtonCell *)self alternateImage];
mode = NSCompositeSourceOver;
}

from.size = [image size];

if ( draw.size.width > from.size.width ) {
draw.origin.x += ( draw.size.width - from.size.width ) / 2.0;
}

if ( draw.size.height > from.size.height ) {
draw.origin.y += ( draw.size.height - from.size.height ) / 2.0;
}

[image drawInRect:draw fromRect:from operation:mode fraction:1.0];
}

@end
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.