I am using a normal cocoa opengl program in a double buffer mode, in order to run something... I use a button to start the program running and the program stops only when it has finished processing itself completely. I was wondering if it is possible to have this start button convert itself into pause button during the time when its running... and have another button for stopping the application and starting again.. Ok so there are two things.. 1. How to convert this start button into a start/Pause button ... say something like a ball moving on the floor just pauses when re-press the button and moves again as I press it once more...-- this application which I am using the button for is a cocoa opengl program and also uses some c++ libraries.. 2. I want to have another button which can stop the application completely. This would not quite is but just stop it. Say a ball moving on the floor is returned to its initial state so that it can restart.