From e058215085fa44dcd1f780484eef842f71825a91 Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Fri, 5 Aug 2016 15:14:08 +0200 Subject: [PATCH] Removed obsolete platform detection code in ControlCatalog. Fixes #659. --- samples/ControlCatalog.Desktop/Program.cs | 92 ----------------------- 1 file changed, 92 deletions(-) diff --git a/samples/ControlCatalog.Desktop/Program.cs b/samples/ControlCatalog.Desktop/Program.cs index 03842f78c1..b67c5ea51d 100644 --- a/samples/ControlCatalog.Desktop/Program.cs +++ b/samples/ControlCatalog.Desktop/Program.cs @@ -39,96 +39,4 @@ namespace ControlCatalog .SetDefaultAssembly(typeof(App).Assembly); } } - - ///////////////////////////////////////////////////////////////////////////////////////////////////////////// - // Experimental: Would like to move this into a shared location once I figure out the best place for it - // considering all common libraries are PCL and do not have access to Environment.OSVersion.Platform - // nor do they have access to the platform specific render/subsystem extensions. - // - // Perhaps via DI we register each system with a priority/rank - // - public static class RenderSystemExtensions - { - [Flags] - enum RenderSystem - { - None = 0, - GTK = 1, - Skia = 2, - Direct2D = 4 - }; - - /// - /// Default (Optimal) render system for a particular platform - /// - /// - private static RenderSystem DefaultRenderSystem() - { - switch (Environment.OSVersion.Platform) - { - case PlatformID.MacOSX: - return RenderSystem.GTK; - - case PlatformID.Unix: - return RenderSystem.GTK; - - case PlatformID.Win32Windows: - return RenderSystem.Direct2D; - } - - return RenderSystem.None; - } - - /// - /// Returns an array of avalidable rendering systems in priority order - /// - /// - private static RenderSystem[] AvailableRenderSystems() - { - switch (Environment.OSVersion.Platform) - { - case PlatformID.MacOSX: - return new RenderSystem[] { RenderSystem.GTK, RenderSystem.Skia }; - - case PlatformID.Unix: - return new RenderSystem[] { RenderSystem.GTK, RenderSystem.Skia }; - - case PlatformID.Win32Windows: - return new RenderSystem[] { RenderSystem.Direct2D, RenderSystem.Skia, RenderSystem.GTK }; - } - - return new RenderSystem[0]; - } - - /// - /// Selects the optimal render system for desktop platforms. Supports cmd line overrides - /// - /// - /// - public static AppBuilder ConfigureRenderSystem(this AppBuilder builder, string[] args) - { - // So this all works great under Windows where it can support - // ALL configurations. But on OSX/Unix we cannot use Direct2D - if (args.Contains("--gtk") || DefaultRenderSystem() == RenderSystem.GTK) - { - builder.UseGtk(); - builder.UseCairo(); - } - else - { - builder.UseWin32(); - - if (args.Contains("--skia") || DefaultRenderSystem() == RenderSystem.Skia) - { - builder.UseSkia(); - } - else - { - builder.UseDirect2D1(); - } - } - - return builder; - } - } }