Commit graph

91 commits

Author SHA1 Message Date
the_fiddler
59cfdf4664 Ensured function names are trimmed using the same code as documentation and function parameters.
Improved trimming for functions with '64' suffices.
2011-12-07 00:01:48 +00:00
the_fiddler
154ce76303 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
442a17d799 Fixed encoding error that prevent compilation on Linux. 2011-09-26 13:23:19 +00:00
the_fiddler
55324777ca Added documentation comments to generated enums.
Improved ISpecWriter API by removing low-level implementation details.
Made Constant implement IComparable so it can be sorted before being written to output.
2011-07-20 10:10:33 +00:00
the_fiddler
91519cb62b * Structures/Enum.cs: Marked code that needs to be refactored. 2011-07-20 10:08:27 +00:00
the_fiddler
fa0a7b5eec * FuncProcessor.cs:
* Structures/Parameter.cs: Avoid qualifying IntPtr fully ((a) it's
  unnecessary, since we have "using System;" already and (b) the
  namespace qualification is not portable to C++).
2010-12-05 15:53:04 +00:00
the_fiddler
95a906647e * 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
8e089cc1c3 Merged gl4 branch into trunk 2010-12-04 21:51:40 +00:00
the_fiddler
35956701ae Merged fix for [#1098] from branches/1.0. 2009-11-17 09:33:14 +00:00
the_fiddler
18109103e3 Use new string(sbyte*) instead of Marshal.PtrToStringAnsi to increase performance when calling GetString to retrieve the list of available extensions. 2009-11-03 12:59:25 +00:00
the_fiddler
792c4e3645 Merged es20 branch back into trunk. 2009-10-28 23:09:25 +00:00
the_fiddler
158f1af9d3 Added distinct /overrides/add and /overrides/replace elements.
Added check for the existence of override elements before trying to use them (avoids potential null reference exception).
Regenerated bindings using the latest version of the generator.
2009-10-17 21:49:35 +00:00
the_fiddler
353ef37dd4 Fixed issue [#1240]: "Generic ref and out wrappers do not copy results to the reference parameter", by assigning the GCHandle.Target back to the reference parameter. 2009-10-17 20:02:53 +00:00
the_fiddler
eb2d1c3c91 Avoid translating names that do not need translation (i.e. are not in ALL_CAPS). 2009-10-14 22:49:04 +00:00
the_fiddler
76dcd00b9f * ES/ESGenerator.cs: Set enum Type property.
* Structures/Enum.cs: Added enum Type property.
Removed Enum(string) constructor in favor of C# 3.0 syntax (new Enum()
  { Name = ... }).
2009-10-09 05:48:10 +00:00
the_fiddler
d09c341dc5 Applied Barlog's "arrange this qualifier" patch. 2009-08-25 15:59:57 +00:00
the_fiddler
41f4adb09e Applied Barlog's 02_Bind_2172_ShortenQualifierReferences patch. 2009-08-21 20:28:14 +00:00
the_fiddler
7363110f7e Do not trim 's' from methods ending in "IDs". 2009-08-20 21:38:23 +00:00
the_fiddler
fb1ba33352 Applied Barlog's refactoring patch for using directives. 2009-08-17 12:28:22 +00:00
the_fiddler
ad17c228be Added missing types to list of non-CLSCompliant types. 2009-08-15 17:41:25 +00:00
the_fiddler
1da12e8a0b Do not allow constant names to start with numbers. 2009-08-15 17:32:35 +00:00
the_fiddler
a495ca8c7c * Type.cs: Updated list of non CLS-compliant types.
* Parameter.cs: Changed [In] and [Out] attributes to [InAttribute] and
  [OutAttribute] to work around strange gmcs 2.0 bug.
2009-08-12 10:11:41 +00:00
the_fiddler
3ec5303e37 Added support for enum overrides.
Enabled enum overrides in the CL and ES generators.
Function parameters now follow enum overrides (for example, if function Foo takes enum Bar and enum Bar is overriden to Baz, this change will be reflected on function Foo).
Changed default CLGenerator settings to not generate debug helpers.
2009-08-11 14:12:20 +00:00
the_fiddler
3661428bce Added PreviousName property.
Moved value parsing to the Name property instead of implementing in each and every ISpecReader.
2009-08-11 14:08:18 +00:00
the_fiddler
d51daefeb6 Improved handling of multiple indirection (pointer-to-pointer, pointer-to-array or any other combination up to 4 levels of indirection).
Made the generation of debug helpers optional. They are currently specific to OpenTK.Graphics and need more work before they can be used with OpenTK.Compute or OpenTK.Audio.
2009-08-11 14:06:40 +00:00
the_fiddler
f8bc7e1f30 Parameter name "event" is not allowed in .Net. Replaced with "@event". 2009-08-09 17:47:15 +00:00
the_fiddler
b9975e835a Modified Type.Pointer property to be an integer instead of a boolean.
Improved handling of string arrays.
Added handling of flow direction to ESGenerator and Delegate.TranslateParameters().
Moved FlowDirection enum outside of Parameter class.
2009-07-15 22:33:26 +00:00
the_fiddler
4c10acbf12 * Structures/Type.cs: Try to translate GLenum even if category is
unknown.
2009-07-15 14:05:40 +00:00
the_fiddler
5a988ca832 Added OpenGL ES generator. 2009-06-30 08:39:35 +00:00
the_fiddler
f5f55b3711 Merged string[] fix from 0.9.8 branch. 2009-06-29 18:51:40 +00:00
the_fiddler
386766071f Fixed GL.GetBoolean (was GL.GetBoolea because the generator treated glGetBooleanv as a NV extension). 2009-06-07 05:31:38 +00:00
the_fiddler
d07684ca01 Use "IGraphicsContext.ErrorChecking = false|true" inside Begin|End wrappers. 2009-06-04 10:35:31 +00:00
the_fiddler
2b6928da66 Actually sort wrapper methods in GL.cs. 2009-05-30 15:28:52 +00:00
the_fiddler
339348bb95 Merged the latest specs from opengl.org.
Replaced all instances of Version14, Version15, Version20, Version30 and Version31 enums by type-safe equivalents.
Added gloverrides.xml to support overrides to function parameters / return types. This will make future spec updates easier to merge.
Improved handling of invalid tokens in the specs.
Bindings are now written in alphabetical order. This will reduce patch size for future updates and make side-by-side comparisons easier to perform.
2009-05-29 15:57:01 +00:00
the_fiddler
11fbdbf403 Removed ambiguous OpenGL overloads, because they confuse languages that don't distinguish between pass-by-reference and pass-by-value in the call-site (e.g. VB.Net). This affects functions that can take a single parameter either by reference or by value. 2009-05-21 23:34:20 +00:00
the_fiddler
222bded7ff The generator now detects and adds the FlagsAttribute to bitwise collections. Fixes bug [#792] "Resharper - Bitwise operation on enum which is not marked by [Flags] attribute" (http://www.opentk.com/node/792). 2009-05-05 21:00:48 +00:00
the_fiddler
157ac7b3e2 Fixed issue http://www.opentk.com/node/794 (suppress array overloads for functions that receive/return pointers to single elements). 2009-04-15 13:14:41 +00:00
the_fiddler
58faedc0fd Generator now trims 'v' suffixes from all functions and marks resulting non cls-compliant overloads as such.
Bumped version number.
2009-04-12 18:23:01 +00:00
the_fiddler
3f41f1eaf5 Added stack traces to automatic error checking.
Added GraphicsContext.ErrorChecking property to temporarily disable error checking if necessary.
Error checking is now added to all functions in debug mode (the generator would miss specific CLS-compliant overloads before).
2009-03-29 21:41:30 +00:00
the_fiddler
0888af5abf Updated tokens for EXT_transform_feedback (http://www.opentk.com/node/602). Updated tokens for ARB_uniform_ buffer_object (http://www.opentk.com/node/748). The generator no longer trims the 's' suffix from Varyings. 2009-03-29 19:26:57 +00:00
the_fiddler
c2fa32829f Generator is now able to trim function suffixes similar to 'i_v' (first introduced in OpenGL 3.0). 2009-03-29 16:11:37 +00:00
the_fiddler
978ccdd6f5 Fixed '*Indexed' functions (they were wrapped as '*Indexe', with a missing 'd'). 2009-03-29 14:27:07 +00:00
the_fiddler
a2c1d83b04 Fixed Draw*Instanced (were missing the 'd' from Instanced). Bug [#586]. 2009-03-28 14:48:20 +00:00
the_fiddler
fc103aa8ec Added automatic error checking for all OpenGL function calls (debug mode only). Begin()-End() regions are handled correctly. 2009-03-25 17:55:37 +00:00
the_fiddler
3c5fd61baa Bind now maps 'void*' to generics ('ref T', 'T[]', 'T[,]' and 'T[,,]') instead of 'object'.
The doc processor can now document more OpenGL functions (e.g. GL.Color3).
Cleaned up several pieces of code in Bind (but I'm afraid it's hopeless - spaghetti code at its greatest).
2009-03-21 21:44:07 +00:00
the_fiddler
e3ff29a068 Corrected the mapping of Byte/SByte wrappers -> entry points. Swapped CLSCompliant attribute between Byte and SByte (Bytes are, SBytes are not). 2009-03-08 22:00:13 +00:00
the_fiddler
c9e8d2f686 Fixed the mapping between unsigned and signed wrappers -> entry points (no unsigned <-> signed casting). Regenerated bindings. 2009-03-08 19:19:52 +00:00
the_fiddler
3656003844 Now prints the OpenTK license and adds the [AutoGenerated] attribute to the generated bindings. 2009-02-28 19:29:34 +00:00
the_fiddler
08bf5e52ad Merged changes from gl3 branch. 2009-02-28 18:50:16 +00:00
the_fiddler
69b17fa43f 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