Re: Custom drawing in IKImageBrowserView fails
Re: Custom drawing in IKImageBrowserView fails
- Subject: Re: Custom drawing in IKImageBrowserView fails
- From: Thomas Goossens <email@hidden>
- Date: Wed, 25 Nov 2009 14:44:44 +0100
Hi Florian,
You can't do custom drawing this way (because the IKImageBrowserView renders into an openGL surface, so AppKit or CoreGraphics calls won't do anything).
So to do what you want you can either:
- make the view layer backed and add a sub-layer
- add an overlay transparent window on top of the image browser view
- add an overlay layer with setForegroundLayer: (that's the easiest solution but it is SnowLeopard only).
-- Thomas
On Nov 25, 2009, at 2:34 PM, Florian Soenens wrote:
> Hi list,
>
> i'm trying to override an IKImageBrowserView to do some custom drawing but i'm stuck.
> What i try to accomplish is that when the view contains zero items, some custom drawing happens like drawing an NSAttributedString that says "Drop items here..."
> Problem is that my drawing code gets never called.
>
> Here's the drawRect method of my IKImageBrowserView:
>
> - (void)drawRect:(NSRect)rect
> {
> [super drawRect:rect];
>
> NSUInteger numItems = [[self dataSource] numberOfItemsInImageBrowser:self];
>
> if(numItems <= 0)
> {
> NSLog(@"No items in me"); // This gets called, so i'm sure the above code works
>
> NSRect bounds = [self bounds];
> bounds.size.width = 200;
> bounds.size.height = 200;
> bounds.origin.x += 200;
> bounds.origin.y += 200;
>
> //[NSGraphicsContext saveGraphicsState];
>
> [[NSColor yellowColor] set]; // Just for testing purposes
> NSRectFill(bounds);
>
> //[NSGraphicsContext restoreGraphicsState];
> }
> }
>
> Uncommenting the NSGrahicsContext doesn't help either.
>
> Anyone has any ideas or workarounds for this?
> Thanks in advance,
> Florian
> _______________________________________________
>
> Cocoa-dev mailing list (email@hidden)
>
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden