mono/MonoGame — pull request #218 by kungfubanana (2012-01-23 02:16:28+00:00)
Title: Mac blocking run

Makes the BlockingRun test project work correctly. See [MonoGame Samples Pull Request 7](https://github.com/CartBlanche/MonoGame-Samples/pull/7).

### MacGamePlatform
- Implements RunLoop via a custom NSApplicationDelegate and
NSWindowDelegate and a manual call to NSApplication.Run. This is
unholy magic, but it works well enough for test purposes.
Asynchronous mode (the default) should be preferred for production.
- Changes the (in my opinion) confusingly-named IsCanShouldUpdate flag
to SuspendUpdatingAndDrawing(), ResumeUpdatingAndDrawing() and
AreUpdateAndDrawingSuspended. Additionally, this eliminates the
possibility that any kind of reentrancy will cause problems in the
future.
- Adds 'Disposal' for _mainWindow and _gameWindow. They actually act a
little strange because of an interaction with NSAutoreleasePool, so
further study may be required to ensure they are being properly
cleaned up.

### GamePlatform
- Formatting and whitespace changes only.