On Apr 10, 2011, at 10:09 PM, Graham Cox wrote:

> 
> On 11/04/2011, at 11:33 AM, Eric Gorr wrote:
> 
>> Hummm...I can't seem to get it to do much. If I alter the code to:
> 
> 
> Have you tried using NSAffineTransform to offset the coordinate system to 
> where you want to draw? You probably don't need or want to mess with your 
> view coordinates or frame, you just need to move the coordinate system around 
> within the view using the CTM.
> 
> e.g. if you want to highlight the rect <hr> (typed into mail, untested):
> 
> NSRect hr = NSMakeRect( 100, 100, 200, 120 );
> 
> [NSGraphicsContext saveGraphicsState];
> 
> NSAffineTransform* tfm = [NSAffineTransform transform];
> [tfm translateXBy:hr.origin.x yBy:hr.origin.y];
> [tfm concat];
> 
> hr.origin = NSZeroPoint;
> 
> NSRectFill( hr );
> 
> [NSGraphicsContext restoreGraphicsState];
> 
> So you offset to the rect origin, then draw at 0,0. 


Thanks Graham.

I changed the code to:

        for ( x = 0; x < 10; x++ )
        {               
                blockFrame.origin.x = ( x * xOffset ) + NSMinX( secondThird );
                blockFrame.origin.y = ( x * yOffset );

                [NSGraphicsContext saveGraphicsState];
                NSAffineTransform* tfm = [NSAffineTransform transform];
                
                [tfm translateXBy:blockFrame.origin.x yBy:blockFrame.origin.y];
                
                [tfm concat];
                
                blockFrame.origin = NSZeroPoint;
                
                NSRectFill( blockFrame );
                
                [NSGraphicsContext restoreGraphicsState];
        }

However, it had no effect.

I'll keep playing with this until a solution is found - if there is one.

Oh, I did figure out that, after calling setBoundsOrigin, to have the rectangle 
filled with something other then black, one needs to call [[NSColor 
selectedMenuItemColor] set] again. But, I still couldn't get it to do what I 
wanted it to do.

Seems to be an interesting problem. Perhaps the only solution is the NSImage 
route...


_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to