Geometry Stash video out fix

I finally decided to make the long overdue purchase. An iPad Dock Connector to VGA Adapter.

Back in July, I had implemented external display support into Geometry Stash with the help of Matt Gemmel’s iPad VGA Output source code. In July, I did not have a VGA adapter and tested Geometry Stash on the iPhone Simulator. The results looked respectable; Geometry Stash would project an enlarged version of the terms’ diagrams onto the virtual display. The update even got past the Apple review team. It seemed as though everything had gone well.

Matt Gemmel’s example displayed an alert to the user, allowing the user to select a desired resolution. The alert’s buttons’ values were obtained the screenModes array. The array was structured from the lowest resolution to the highest.

0 being 640×480,

1 being 600×800,

2 being 1024×768.

When I had first implemented the vga output, I had forgone the alert with buttons and had the app automatically pick the 0 value in the array to be set as the currentMode.
The iPhone simulator screen returned a 1024×768 screen size as the first value in the array (0). The external screen appeared to work as expected.

I eagerly tested out the adapter connected to an iPhone 4 with a 15″ Acer display. The external display support in Geometry Stash had been meant for a 1024px by 768px or greater display. The projected image was a saddening sight. The display had set itself to a 640×480 resolution.The projected images leaked off the screen so that only a third of the image was actually shown. I went back to Matt’s VGA example and checked the code. Instead of choosing the 0 value, I decided that Matt’s alert worked the best and set it to appear when an external display was detected. The projection worked great after making the change as can be observed below.

The fix has been submitted as an update that will be available in a few days. To anyone who has tried using Geometry Stash with an external screen: Sorry about the inconvenience.

On the other note, having to pay for my own in app purchase was an injustice.

Before the fix

Before

After the fix

After

Anson Liu