O'Reilly logo

Cocoa Programming for OS X: The Big Nerd Ranch Guide by Aaron Hillegass, Adam Preble, Nate Chandler

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Saving and Restoring the Graphics State

Recall that the graphics context manages the graphics state, which includes the current color, any transforms such as scaling or rotation, and so on. At times, it is convenient to treat the graphics state like a stack: You make a copy of the current state and push it onto the stack. Now the copy is the current state. You can alter the state, run some drawing commands, and then pop the state to return to the prior state.

To see this in action, let’s add a shadow to the die shown in DieView. AppKit shadows are configured using the NSShadow class. Update drawDieWithSize(_:):

 ​ ​ ​ ​l​e​t​ ​d​o​t​R​a​d​i​u​s​ ​=​ ​e​d​g​e​L​e​n​g​t​h​/​1​2​.​0​ ​ ​ ​ ​l​e​t​ ​d​o​t​F​r​a​m​e​ ​=​ ​d​i​e​F​r​a​m​e​.​r​e​c​t​B​y​I​n​s​e​t​t​i​n​g​(​d​x​:​ ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required