[ES] Implemented ES 3.1 binding generator
authorthefiddler <stapostol@gmail.com>
Thu, 14 Aug 2014 06:11:30 +0000 (08:11 +0200)
committerthefiddler <stapostol@gmail.com>
Tue, 2 Sep 2014 11:04:13 +0000 (13:04 +0200)
Source/Bind/ES/ES31Generator.cs [new file with mode: 0644]

diff --git a/Source/Bind/ES/ES31Generator.cs b/Source/Bind/ES/ES31Generator.cs
new file mode 100644 (file)
index 0000000..4e2167d
--- /dev/null
@@ -0,0 +1,41 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Xml.XPath;
+using Bind.GL2;
+using Bind.Structures;
+using Delegate=Bind.Structures.Delegate;
+using Enum=Bind.Structures.Enum;
+
+namespace Bind.ES
+{
+    // Generation implementation for OpenGL ES 3.1
+    class ES31Generator : Generator
+    {
+        public ES31Generator(Settings settings, string dirName)
+            : base(settings, dirName)
+        {
+            Settings.DefaultOutputPath = Path.Combine(
+                Settings.DefaultOutputPath, "../ES31");
+            Settings.DefaultOutputNamespace = "OpenTK.Graphics.ES31";
+            Settings.DefaultImportsFile = "ES31.Core.cs";
+            Settings.DefaultDelegatesFile = "ES31.Delegates.cs";
+            Settings.DefaultEnumsFile = "ES31.Enums.cs";
+            Settings.DefaultWrappersFile = "ES31.cs";
+            Settings.DefaultDocPath = Path.Combine(
+                Settings.DefaultDocPath, "ES31");
+
+            Settings.OverridesFiles.Add("GL2/overrides.xml");
+            Settings.OverridesFiles.Add("GL2/ES/3.1");
+
+            Profile = "gles2";
+            Version = "2.0|3.0|3.1";
+
+            // For compatibility with OpenTK 1.0 and Xamarin, generate
+            // overloads using the "All" enum in addition to strongly-typed enums.
+            // This can be disabled by passing "-o:-keep_untyped_enums" as a cmdline parameter.
+            Settings.DefaultCompatibility |= Settings.Legacy.KeepUntypedEnums;
+            //Settings.DefaultCompatibility |= Settings.Legacy.UseDllImports;
+        }
+    }
+}