[Examples] Only use WinForms when supported.
authorthefiddler <stapostol@gmail.com>
Fri, 18 Jul 2014 07:44:47 +0000 (09:44 +0200)
committerthefiddler <stapostol@gmail.com>
Fri, 18 Jul 2014 07:44:47 +0000 (09:44 +0200)
Source/Examples/OpenTK/Test/TestResolutionChanges.cs

index 314a34a..740f60f 100644 (file)
@@ -23,16 +23,35 @@ namespace Examples.Tests
                 DisplayDevice dev = DisplayDevice.GetDisplay(DisplayIndex.First + i);
                 if (dev != null)
                 {
-                    Trace.WriteLine(dev.ToString());
-                    MessageBox.Show(dev.ToString());
+                    Print(dev.ToString());
+
                     dev.ChangeResolution(dev.SelectResolution(640, 480, 32, 60.0f));
                     Thread.Sleep(1000);
-                    MessageBox.Show(dev.ToString());
+                    Print(dev.ToString());
+
                     dev.RestoreResolution();
                     Thread.Sleep(1000);
-                    MessageBox.Show(dev.ToString());
+                    Print(dev.ToString());
+                }
+            }
+        }
+
+        static void Print(string msg)
+        {
+            Trace.WriteLine(msg);
+
+            // Also display a MessageBox when running on a platform
+            // with WinForms support.
+            try
+            {
+                if (Configuration.RunningOnWindows || Configuration.RunningOnX11 || Configuration.RunningOnMacOS)
+                {
+                    MessageBox.Show(msg);
                 }
             }
+            catch
+            {
+            }
         }
     }
 }