Commit graph

55 commits

Author SHA1 Message Date
thefiddler
67b0ead68b [Bind] Process documentation from subdirectories
Instead of using xslt, we now process the documentation in code. This
allows us to fix mismatches from e.g. invalid parameter names that
sometimes creep in the specs.
2014-03-28 20:08:38 +01:00
Stefanos A
d28c428e99 Correctly set generator mode. 2013-11-14 09:28:27 +01:00
Stefanos A.
4fd5cc30d5 Corrected option parsing 2013-11-13 14:29:06 +01:00
thefiddler
4d717dcdda Allow '+' and '-' cmdline options for compatibility settings 2013-11-11 10:02:08 +01:00
thefiddler
d126d25215 Add helper overload generation
Functions returning a value or array via an 'out' parameter will now get a convenience overload that returns the result via a return statement. In the case of arrays, only single-valued arrays will be supported. For example:

void GetIntegerv(enum pname, out int value)

will be get an overload of

int GetIntegerv(enum pname)

This will reduce the amount of helper overloads that must be maintained manually in GLHelpers.cs.
2013-11-10 08:28:58 +01:00
Stefanos A.
827fe0788a Use OpenTK.Graphics.OpenGL4 namespace for GL4.x 2013-11-03 12:14:13 +01:00
Stefanos A
c349c82887 Cleaned up the generator constructors 2013-11-03 01:28:01 +01:00
Stefanos A.
9e74470e58 Avoid singletons; allow -mode:all
Explicit Settings objects are now created for each generator. A new
-mode:all option has been added, which generates bindings for all APIs
in one go (useful for the post-GL4.4 specs, which collect all APIs in a
single file.)
2013-11-01 09:28:54 +01:00
Stefanos A.
a3bd227e20 Cleaned up Generator class tree
This significantly reduces the amount of duplicated code between
Generator implementations.
2013-10-31 00:18:07 +01:00
the_fiddler
b418ef0f2c Made the escape character for reserved keywords customizable. (C# uses '@' and Java/C++ use '_' by default). Updated the Parameter class to return escaped names by default and added a RawName parameter to access the raw names. 2011-12-05 11:49:59 +00:00
the_fiddler
5f4487e87b Added support for different per-language typemaps. 2011-12-02 13:12:53 +00:00
the_fiddler
d66f9656be Added preliminary Java wrapper generation. Heavy work-in-progress. 2011-12-02 11:27:04 +00:00
the_fiddler
f3bf5b866a Modified CppSpecWriter to generate single-file bindings. 2011-09-26 11:18:57 +00:00
the_fiddler
b4839fd78b Improved argument parsing code. 2010-12-06 15:19:45 +00:00
the_fiddler
b4a6448261 * Main.cs: Do not use "/" as a separator, because this breaks
filesystem paths on Unix.
2010-12-05 22:58:20 +00:00
the_fiddler
82ba7143bb * Main.cs:
* Settings.cs:
* FuncProcessor.cs:
* Structures/Type.cs:
* Structures/Constant.cs:
* Structures/Delegate.cs: Do not hardcode namespace separator to ".".
2010-12-05 15:45:23 +00:00
the_fiddler
bb4d969dad * Main.cs:
* Settings.cs:
* Utilities.cs: Use separate keyword lists for each language.
2010-12-05 11:24:05 +00:00
the_fiddler
b67f479c6c * Main.cs:
* ES/ESGenerator.cs: Improved handling of default namespace to avoid
  clash with user overrides.
2010-12-05 02:19:47 +00:00
the_fiddler
0eef1c3629 Saner handling of various settings.
Improved C++ spec writer (still needs a lot of work).
2010-12-03 12:06:36 +00:00
the_fiddler
948ded73ef Enable -mode:gl3 and -mode:gl4. 2010-12-03 11:23:11 +00:00
the_fiddler
3021f668ad Re-added missing gl.tm file.
Added initial C++ spec writer.
Refactored IBind and ISpecWriter interfaces.
2010-12-03 10:21:50 +00:00
the_fiddler
20dbff2b88 Removed obsolete Wgl, Glx and Glu generators. 2010-10-13 23:30:21 +00:00
the_fiddler
31b80891e2 Do not exit immediately when debugging, to give a chance to examine the output. 2010-10-13 21:31:24 +00:00
the_fiddler
4e8c643c39 Added GL4Generator that utilizes xml files instead of spec files.
Made GL4Generator the default.
Added FuncProcessor that will contain all function transforms.
2010-10-12 17:39:14 +00:00
the_fiddler
97e07a6e24 * GL2/Generator.cs: Refactored WriteWrappers() into smaller methods. Added "using System.Text;" to all generated files that may contain StringBuilder parameters.
* Main.cs: Removed unused comments. Improved parameter handling. Added -o:keep_untyped_parameters option.
* Settings.cs: Added KeepUntypedEnums compatibility setting.
* Structures/Delegate.cs: Removed stale comments. Refactored CreateWrappers() method to support untyped enum overload generation and simplified method implementation. Replaced CurrentType translations with QualifiedType.
* Structures/Function.cs: Removed stale code. Fixed copy constructors to copy all necessary fields. Use QualifiedType instead of CurrentType in WrapReturnType and CreateBody methods. Made Body statement lists static to improve performance. Added hack to modify callstring casts in keep_untyped_enums wrappers. Generate call string from the Function CreateBody was called on, rather than the current Function (solves issues with invalid casts in specific cases).
* Structures/Parameter.cs: Use fully qualified type instead of current type in several caeses.
* Structures/Type.cs: Added explicit support for fully qualified types.
2009-10-27 22:37:05 +00:00
the_fiddler
479c9f3f10 * Main.cs:
* CL/CLGenerator.cs: Made CLGenerator inherit from ESGenerator. Reduces code duplication significantly.
2009-10-09 05:25:53 +00:00
the_fiddler
e079daa6cc * Main.cs: * Main.cs: Fixed a potential index out of range exception
when setting dirName (output path).
2009-08-26 07:52:35 +00:00
the_fiddler
beac0d41d1 Applied Jonathan's patch for output directories. 2009-08-25 15:46:22 +00:00
the_fiddler
43e0e2c5e5 Applied Barlog's 02_Bind_2172_ShortenQualifierReferences patch. 2009-08-21 20:28:14 +00:00
the_fiddler
c487a382e1 Applied Barlog's refactoring patch for using directives. 2009-08-17 12:28:22 +00:00
the_fiddler
3040a59436 * Main.cs: Accept -mode:cl as an alias for -mode:cl10 2009-08-12 10:12:44 +00:00
the_fiddler
4a476da4f0 Renamed CL mode to CL10. 2009-08-09 15:46:36 +00:00
the_fiddler
06c2c716fb Initial work on OpenCL binding generation. 2009-07-22 14:36:39 +00:00
the_fiddler
854eafe1d3 Changed default GLES* namespaces to ES*.
Changed -mode options for ES (-mode:es* instead of -mode:gles*).
Bumped version number.
2009-07-15 15:03:22 +00:00
the_fiddler
13b87c1b0a Added OpenGL ES generator. 2009-06-30 08:39:35 +00:00
the_fiddler
4a80a6dbd7 Disabled all generator modes other than OpenGL. 2009-03-25 19:41:10 +00:00
the_fiddler
8ba07860e5 Merged changes from gl3 branch. 2009-02-28 18:50:16 +00:00
the_fiddler
a22019d890 Normalize line endings and set the mime-type=text/plain and eol-style=native properties on all files. 2009-02-22 10:43:35 +00:00
the_fiddler
578e30c26a Fixed TexEnvMode.Replace.
Added a "press any key to continue..." message when an error happens.
2008-04-11 18:19:34 +00:00
the_fiddler
a9e2ce4a00 Completed move of OpenTK.OpenGL to OpenTK.Graphics.OpenGL. 2008-02-02 00:58:26 +00:00
the_fiddler
4446a1d4df Added option to control namespace output. Added help. 2007-11-04 15:26:54 +00:00
the_fiddler
657e259196 Added setting for legacy overload generation. 2007-10-26 12:56:03 +00:00
the_fiddler
25eeeab609 Rather big update: turned void* to IntPtr, to avoid problems with .Net and Tao functions directly IntPtr (the object overload would be called and all hell would break loose).
Minor cleanup. Added code to turn ALL_CAPS enums into .Net CamelCase enums - must take care of the extensions before enabling this.
Added a couple new commandline options, and fixed a misspelling (NestedEnumsClass was NestedEunmsClass, ugh!)
2007-10-21 15:48:52 +00:00
the_fiddler
eea200eb1d Added partial modifier to internal Delegates and Imports class. Removed constructors (they now reside in GLHelper.cs). Renamed GL.DrawArray to GL.DrawArrays. 2007-09-05 19:59:54 +00:00
the_fiddler
cc23dac7a8 Merged with Bind. Added GLU bindings. Corrected OpenGL overload trimming. 2007-09-02 22:52:00 +00:00
the_fiddler
3104a880a1 Added Glu and Glx generators to Bind. 2007-09-02 07:50:46 +00:00
the_fiddler
9b257a97e9 Trunk now compiles again. 2007-09-02 00:53:24 +00:00
the_fiddler
9120a732ea Merged with bind branch: updated GL.cs wrappers, Glx and Glu implementation suppoort files, faster Bind. 2007-09-02 00:40:43 +00:00
the_fiddler
ffe8ce7795 Merged with bind branch. 2007-08-20 12:25:48 +00:00
the_fiddler
9295a44c60 2007-08-20 10:46:37 +00:00