Here's the whole method... it is being called from within a view's drawRect 
method...

- (void) showDiceAtX: (float) x Y: (float) y {
        NSRect imageRect1, imageRect2;
        NSImage *die1 = nil, *die2 = nil;
        iDie = iRand(1, 6);
        switch (iDie) {
                case 1:
                        die1 = [NSImage imageNamed: @"1 Die"];
                        break;
                case 2:
                        die1 = [NSImage imageNamed: @"2 Die"];
                        break;
                case 3:
                        die1 = [NSImage imageNamed: @"3 Die"];
                        break;
                case 4:
                        die1 = [NSImage imageNamed: @"4 Die"];
                        break;
                case 5:
                        die1 = [NSImage imageNamed: @"5 Die"];
                        break;
                case 6:
                        die1 = [NSImage imageNamed: @"6 Die"];
        }
        jDie = iRand(1, 6);
        switch (jDie) {
                case 1:
                        die2 = [NSImage imageNamed: @"1 Die"];
                        break;
                case 2:
                        die2 = [NSImage imageNamed: @"2 Die"];
                        break;
                case 3:
                        die2 = [NSImage imageNamed: @"3 Die"];
                        break;
                case 4:
                        die2 = [NSImage imageNamed: @"4 Die"];
                        break;
                case 5:
                        die2 = [NSImage imageNamed: @"5 Die"];
                        break;
                case 6:
                        die2 = [NSImage imageNamed: @"6 Die"];
        }
        imageRect1.origin = imageRect2.origin = NSZeroPoint;
        imageRect1.size = [die1 size];
        imageRect2.size = [die2 size];
        /*
         * NSRect NSMakeRect(float x, float y, float w, float h)
         *
         * Creates an NSRect having the specified origin of [x, y] and size of 
[w, h]
         */
        iDieDrawRect = NSMakeRect(x - imageRect1.size.width - 2, y, 
imageRect1.size.width, imageRect1.size.height);
        jDieDrawRect = NSMakeRect(x + 2, y, imageRect2.size.width, 
imageRect2.size.height);
        
        while (![self lockFocusIfCanDraw]) RELQ(.1);
        [[NSColor whiteColor] set];
        [die1 drawInRect: iDieDrawRect
                          fromRect: imageRect1
                         operation: NSCompositeSourceOver
                          fraction: 1.0];
        [die2 drawInRect: jDieDrawRect
                          fromRect: imageRect2
                         operation: NSCompositeSourceOver
                          fraction: 1.0];
        [self unlockFocus];
        [[self window] flushWindow];
}

without the lockFocus the images never show.

On Aug 15, 2012, at 10:35 PM, Stephen J. Butler wrote:

> On Wed, Aug 15, 2012 at 10:20 AM, Charlie Dickman <3tothe...@comcast.net> 
> wrote:
>>        [[NSColor whiteColor] set];
>>        [die1 drawInRect: iDieDrawRect
>>                          fromRect: imageRect1
>>                         operation: NSCompositeSourceOver
>>                          fraction: 1.0];
>>        [die2 drawInRect: jDieDrawRect
>>                          fromRect: imageRect2
>>                         operation: NSCompositeSourceOver
>>                          fraction: 1.0];
> 
> Where are these being called from in your program? What's the context
> of the surrounding code in the method?

Charlie Dickman
3tothe...@comcast.net




_______________________________________________

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

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

Reply via email to