Commit graph

54 commits

Author SHA1 Message Date
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
the_fiddler e220f3a71a Updated Build.exe to correctly generate sharpdev and sharpdev2 projects.
Removed some unused variables.
Added licensing information.
2007-08-10 09:27:13 +00:00