On 16 Aug 2012, at 04:02, Charlie Dickman <3tothe...@comcast.net> wrote:
> 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]; > } This code seems bonkers to me. If this code really is being called during -drawRect: then there is no need to lock focus on the view; the drawing system has already done that for you. Likewise, you shouldn't need to flush the window. _______________________________________________ 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