the_fiddler
97b3cd2e93
Type, Parameter, ParameterCollection and Function classes now implement IComparable directly (rather than casting to strings and comparing those).
...
Modified comparison order to place pointer overloads after reference or array overloads. Fixes issue [#1098 ]: "[Bind] Work around VS bug by ensuring pointer parameters are generated last".
2009-11-17 09:26:05 +00:00
the_fiddler
1af4990517
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
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
239d98e860
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
0fd6651fd2
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
babb54c00c
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
92de857809
* 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
52744c1661
Applied Barlog's "arrange this qualifier" patch.
2009-08-25 15:59:57 +00:00
the_fiddler
43e0e2c5e5
Applied Barlog's 02_Bind_2172_ShortenQualifierReferences patch.
2009-08-21 20:28:14 +00:00
the_fiddler
b30cc509ce
Do not trim 's' from methods ending in "IDs".
2009-08-20 21:38:23 +00:00
the_fiddler
c487a382e1
Applied Barlog's refactoring patch for using directives.
2009-08-17 12:28:22 +00:00
the_fiddler
51179c6518
Added missing types to list of non-CLSCompliant types.
2009-08-15 17:41:25 +00:00
the_fiddler
5eb9d7242b
Do not allow constant names to start with numbers.
2009-08-15 17:32:35 +00:00
the_fiddler
336d6b4bef
* 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
cdde2893f6
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
000bdf71ef
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
1edfbdb928
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
68fcad4929
Parameter name "event" is not allowed in .Net. Replaced with "@event".
2009-08-09 17:47:15 +00:00
the_fiddler
ab26b80e2d
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
165287fdd2
* Structures/Type.cs: Try to translate GLenum even if category is
...
unknown.
2009-07-15 14:05:40 +00:00
the_fiddler
13b87c1b0a
Added OpenGL ES generator.
2009-06-30 08:39:35 +00:00
the_fiddler
e4fcf76289
Merged string[] fix from 0.9.8 branch.
2009-06-29 18:51:40 +00:00
the_fiddler
a2f0f70377
Fixed handling of pointer-to-string parameters. These are now wrapped as string[] arrays.
2009-06-29 18:32:51 +00:00
the_fiddler
da7c1c3a4d
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
43e0b67b2e
Fixed GL.GetBoolean (was GL.GetBoolea because the generator treated glGetBooleanv as a NV extension).
2009-06-07 05:20:29 +00:00
the_fiddler
c9322d621f
Use "IGraphicsContext.ErrorChecking = false|true" inside Begin|End wrappers.
2009-06-04 10:35:31 +00:00
the_fiddler
4773f4470f
Actually sort wrapper methods in GL.cs.
2009-05-30 15:28:52 +00:00
the_fiddler
cf4a243c99
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
b5f08288c6
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
370396ab7f
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
0ecdd1c9e3
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
a128220c27
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
eb183f4cfe
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
b4f0b86239
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
b60bea7e8c
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
9daced745e
Fixed '*Indexed' functions (they were wrapped as '*Indexe', with a missing 'd').
2009-03-29 14:27:07 +00:00
the_fiddler
44560392b9
Fixed Draw*Instanced (were missing the 'd' from Instanced). Bug [ #586 ].
2009-03-28 14:48:20 +00:00
the_fiddler
7a57fbd8a7
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
2062d231d0
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
04ebcff4fb
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
a29c32d774
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
01f618c00b
Now prints the OpenTK license and adds the [AutoGenerated] attribute to the generated bindings.
2009-02-28 19:29:34 +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
084a561ba8
Fixed GL.ReadPixels (was GL.ReadPixel)
2008-03-01 13:11:15 +00:00
the_fiddler
c47b6168ad
Fixed type translation.
2008-02-02 13:24:41 +00:00
the_fiddler
a9e2ce4a00
Completed move of OpenTK.OpenGL to OpenTK.Graphics.OpenGL.
2008-02-02 00:58:26 +00:00
the_fiddler
a249816865
Updated FBO specs with specific enums.
...
Fixed GL.Ext.CheckFramebufferStatus (was CheckFramebufferStat before)
Moved default namespace to OpenTK.Graphics.OpenGL.
Moved OpenTK.Graphics.OpenGL.Enums to OpenTK.Graphics.OpenGL.
2008-02-02 00:23:06 +00:00
the_fiddler
5d51050576
Fixed capitalization of Texture2D etc.
2008-01-24 09:16:49 +00:00
the_fiddler
d4a63df42b
Added JTalton's double precision mathlib.
2008-01-20 17:14:12 +00:00
the_fiddler
8cb0f0e0b7
Fixed NewTess and DeleteTess (were NewTes and DeleteTes).
...
Fixed wrapper generation for functions with both pointer and generic parameters.
2008-01-19 15:25:30 +00:00
the_fiddler
2deb63cf99
Made the ParameterCollection.Rebuild property public.
2008-01-19 15:24:34 +00:00
the_fiddler
e65c0c13e7
Fixed a possible NRE (raised with Glu)
2008-01-15 09:34:01 +00:00
the_fiddler
1e0ed3c477
Added setting to DropMultipleTokens. Disabled this functionality (caused problems with some enums)
2008-01-14 23:41:53 +00:00
the_fiddler
1ae880a266
Fixed a possible null key exception when no AuxEnums are loaded.
2008-01-03 00:52:55 +00:00
the_fiddler
424c0b17dd
Duplicate enums are now dropped (Core > ARB > EXT > Vendor-specific).
...
Final values are calculated for all tokens (no "Foo = (int)Bar.Baz" anymore)
EnumCollection keys are now updated after translating the enums.
2008-01-03 00:08:49 +00:00
the_fiddler
b14814fe5c
Fixed GL.Scale (was GL.Scaled)
2008-01-02 13:50:43 +00:00
the_fiddler
270e19ab53
Corrected casing of ExtTextureSrgb.
2007-11-10 18:33:44 +00:00
the_fiddler
58d5b7838a
Fixed mismatch between Delegate and Import declarations.
2007-11-10 12:29:17 +00:00
the_fiddler
2ede6cab5a
Fixed IntPtr processing - real pointers (with object overloads) are now differentiated from plain IntPtr parameters (e.g. offsets). Fixed Tao bindings generation.
2007-11-10 10:28:22 +00:00
the_fiddler
4354f68f2e
Doesn't trim EdgeFlagv anymore.
2007-11-04 16:48:57 +00:00
the_fiddler
af25a9808b
Fixed ReturnType and Parameters translation to follow .Net naming conventions.
2007-11-04 15:21:50 +00:00
the_fiddler
f1ac7e2104
Fixed IsEnabled which had its ending trimmed.
2007-11-04 15:21:00 +00:00
the_fiddler
3156428e3f
Translation code to follow .Net naming conventions.
2007-11-04 15:20:19 +00:00
the_fiddler
9364a4af10
Added translation code to follow the .Net naming conventions.
2007-11-04 15:19:38 +00:00
the_fiddler
4f21d69dc9
Split translation code between Type.Translate() and Parameter.Translate().
2007-11-04 15:19:01 +00:00
the_fiddler
1b4da37c54
Fixed a regression where pure IntPtr parameters (size etc etc) obtained 'object' overloads.
2007-10-31 17:42:29 +00:00
the_fiddler
55d785249e
Moved the Wrapper generation to Function instead of Delegate. Simplified the code.
2007-10-26 12:55:26 +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
b2ac1d4c61
Updated BindStreamWriter to better handle endlines. Reverted WinRawInput to standard reads.
2007-09-22 14:59:33 +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
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
61048d6ae1
Wgl structs now reside in the OpenTK.Platform.Windows namespace, notin OpenTK.Platform.Windows.API.
2007-09-01 23:59:47 +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
164876a723
Added wgl binding generator.
2007-08-12 16:14:23 +00:00
the_fiddler
ac2a2f9a70
Improved opengl overload trimming.
2007-08-10 20:16:05 +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
the_fiddler
09bd00885c
Merged with gl3 branch. Resolved conflicts. Added IMouseDriver.cs
2007-08-04 23:39:56 +00:00
the_fiddler
672a82983a
Major updates to keyboard input. The infrastructure (drivers etc) is ready. Windows raw input works (now implementing multiple devices). The examples need updating for the new input methods.
...
Updated the ExampleLauncher to not process exceptions. Updated the IExample interface to contain the Launch method. Updated examples and the ExampleLauncher according to the IExample interface.
Synced with gl3 branch.
2007-08-03 00:14:31 +00:00
the_fiddler
c5ad62c12b
Synced with gl3 branch.
2007-08-01 22:28:54 +00:00
the_fiddler
d5022b1b56
Sycned with gl3 branch.
2007-08-01 21:14:39 +00:00
the_fiddler
c1d3fbe2f1
Merged with gl3 branch.
2007-08-01 09:27:57 +00:00
the_fiddler
3d23105b0d
'Merged' windowing branch. Ugly, but it seems to have worked.
2007-07-23 00:15:18 +00:00