Fraser Waters
0c89435add
Store count attribue in ComputeSize.
...
Also remove the COMPSIZE() text if present.
2014-03-10 22:13:26 +00:00
Fraser Waters
7cdd880759
Add string ComputeSize to Parameter.
2014-03-10 21:40:26 +00:00
thefiddler
40a8a6d915
[GameWindow] Do not override Target*Frequency in GameWindow.Run()
...
This patch makes the following code work as expected:
```csharp
var gw = new GameWindow();
gw.TargetRenderFrequency = 60;
gw.Run();
```
Fixes issue #69
2014-03-06 14:16:30 +01:00
Paul Kratt
d9a7821319
Call the new code instead of leaving the old version untouched
2014-02-25 18:52:34 -06:00
Paul Kratt
0df7c55609
Update spacing and formatting to match existing style
2014-02-25 18:46:07 -06:00
Paul Kratt
ba0180ed77
Fix potential exception that I was ignoring.
...
This can happen, so we should handle it
2014-02-25 18:46:07 -06:00
Paul Kratt
794d45fdeb
Make GLControl work on OS X
...
This isn’t the greatest solution, but at least it doesn’t require us to
reference WinForms in OpenTK and it works perfectly for what I’m using.
2014-02-25 18:46:06 -06:00
Fraser Waters
b80bb86c5b
Remove unused fields and variables.
2014-02-25 10:31:17 +00:00
Fraser Waters
ab0751e7ec
ModalLoopCallback is never assigned.
...
ModalLoopCallback is never assigned, so always has it's default value
null. Replace all uses of ModalLoopCallback with null.
2014-02-25 10:31:17 +00:00
Fraser Waters
95bd094404
Disable Obsolete warning.
...
IGraphicsContext.VSync property is obsolete, but we have to call it in
the GraphicsContext.VSync implementation, so disable the obsolete
warning for this one use.
2014-02-25 10:31:17 +00:00
Fraser Waters
b89f79266b
Fix XML documentation.
2014-02-25 10:31:17 +00:00
Fraser Waters
366eb921a7
Fix compile warnings in Converter.
2014-02-25 10:31:17 +00:00
Fraser Waters
54f1e575d0
Fix compile warnings in Examples.
...
This commit fixes every current warning in the Example code bar two.
Both due to the use of the OpenTK.GameWindow.Joysticks.
2014-02-25 10:31:17 +00:00
thefiddler
2f4161108d
[X11] Fixed KeyUp event arguments
...
KeyUp event was incorrectly fired with KeyDownEventArgs instead of KeyUpEventArgs. This is now fixed.
2014-02-25 01:13:46 +01:00
thefiddler
d985362058
[Examples] Display modifier key information
2014-02-25 01:13:46 +01:00
thefiddler
ee1fb2a917
[X11] Implemented modifier keys
2014-02-25 01:13:46 +01:00
thefiddler
9ba21d6017
[Win] Implemented modifier keys
2014-02-25 01:13:45 +01:00
thefiddler
c92aabd807
[Input] Implemented GetModifiers() method
2014-02-25 01:13:45 +01:00
thefiddler
09f9bb3a17
[SDL2] Implemented modifier keys
...
Additionally, removed event watch callback in favor of calling
PollEvent() directly in ProcessEvents, which should be more efficient.
2014-02-25 01:13:45 +01:00
thefiddler
221d4661d4
[Input] Added modifier keys to KeyboardKeyEventArgs
2014-02-25 01:13:45 +01:00
thefiddler
0c262cd5b2
[SDL2] Added PeepEvents/PollEvent functions
2014-02-25 01:13:45 +01:00
thefiddler
14d53010b0
[SDL2] Corrected win/alt key mapping (was swapped previously)
2014-02-25 01:13:45 +01:00
thefiddler
56e4b3cc85
[Mac] Implemented modifier keys
2014-02-25 01:13:45 +01:00
thefiddler
4066ba8355
[Input] Added KeyModifiers enumeration
...
KeyModifiers are represented as a bitwise combination of the Alt,
Control and Shift keys.
2014-02-25 01:13:45 +01:00
thefiddler
346921981d
[Build] Added -debug to Rewrite commandline parameters
2014-02-25 01:08:53 +01:00
thefiddler
18ef634610
[Build] Fixed ErrorHelper local variable
...
We need to emit a ldloca instruction before constructing the
ErrorHelper instance, in order to reference it in the finally
block below.
2014-02-25 01:08:53 +01:00
thefiddler
2f3e7a9493
[Rewrite] Fixed exit from try-finally block
2014-02-25 01:08:53 +01:00
Fraser
10ca14ac6d
Add ErrorHelper to bindings.
...
Wrap new generated binding calls with using ErrorHelper. Sets up a try
to call the method in and a finally block to call Dispose on the
ErrorHelper. Currently hardcoded to only work for the graphics modules.
2014-02-25 01:08:53 +01:00
thefiddler
925abfdb10
[EGL] Removed unnecessary OpenTK.Platform.Windows reference
2014-02-21 14:04:33 +01:00
thefiddler
ae3f8cff55
[Doc] Fixed doxygen latex-to-pdf conversion
...
pdflatex will fail when a <seealso> elements is placed within a
<summary> element. This is now fixed.
2014-02-16 15:30:22 +01:00
Stefanos A.
0052ff435e
[Win] Do not raise KeyPress for control chars
...
This matches the documented behavior of the GameWindow.KeyPress event.
2014-02-13 14:01:35 +01:00
Stefanos A.
1c1607da56
[OpenTK] Make VB.Net overload resolution happy
...
GLHelper.cs contains a number of overloads that cannot be resolved by
VB.Net. We cannot remove them, as that will break
backward-compatibility, but we can hide them by moving them after the
autogenerated overloads in GL.cs.
Terrible hack, but it appears to work.
Issue originally reported at http://www.opentk.com/node/3554 as "OpenTK
1.1, VB.net and ambiguous functions."
2014-02-12 16:14:00 +01:00
thefiddler
30571f7532
Merge pull request #58 from Frassle/develop
...
Replace non-breaking space.
2014-02-11 23:54:47 +01:00
Fraser Waters
a18fb1ebaa
Remove non-breaking space.
...
Causes the build on Ubuntu to fail.
2014-02-11 16:36:31 +00:00
Stefanos A
61f0ca89b4
Merge branch 'joyhat' into develop
2014-02-10 10:54:22 +01:00
thefiddler
ccd1ad0fd7
[GL] Do not limit strings to StringBuilder.Capacity. Fixes issue #57
...
We let StringBuilder grow to fit the unmanaged string. This appears to
match the default CLR marshaling behavior, which was used in OpenTK 1.0.
2014-02-07 15:57:36 +01:00
thefiddler
63dd4597c7
[GL][ES] Mark DebugProc* delegates as unmanaged function pointers
...
Calling convention is platform-dependent: stdcall on Windows, cdecl
elsewhere. This maps to CallingConvention.Winapi in .Net parlance.
2014-02-06 15:01:22 +01:00
thefiddler
bb741579c6
Merge pull request #56 from l3m/matrix4d-axis-angle
...
Updated Matrix4d.FromAxisAngle to mirror the Matrix4 version.
2014-02-06 10:33:09 +01:00
thefiddler
2bcf153475
[GL] Fixed invalid IL instruction in Get*() and Delete*() functions
2014-02-04 16:07:58 +01:00
thefiddler
d8eda71a2c
[GL] Added missing ActiveUniformType.FloatMat3x2 token
2014-02-04 14:26:52 +01:00
Jonas Boesch
e2ecba7274
Updated Matrix4d.FromAxisAngle to mirror the Matrix4 version.
2014-02-04 14:03:59 +01:00
thefiddler
6856fe5e71
Merged remote-tracking branch 'l3m/matrix4d-quat-fix' into develop
...
Updated the Matrix4d CreateFromQuaternion methods to actually create
Matrix4d. They now mirror the Matrix4 CreateFromQuaternion methods,
just using doubles and the -d classes.
Previously, Matrix4d.CreateFromQuaterion actually created a Matrix4
from a single-precision Quaterion.
2014-02-03 11:11:36 +01:00
Stefanos A.
d0522f1073
[Win] Do not create second WinMMJoystick instance
2014-02-01 16:03:07 +01:00
Stefanos A.
45df508f8f
[Win] Query WinMM joysticks on devicechange event
2014-02-01 16:02:02 +01:00
Stefanos A.
2d110728aa
[Win] Cache WinMM joystick capabilities
2014-02-01 16:01:33 +01:00
Stefanos A.
2dee96d918
[Input] Fixed SetButton index check
2014-01-31 16:40:57 +01:00
Stefanos A.
4fceca2f80
[Input] Fixed compilation error
2014-01-31 16:37:36 +01:00
thefiddler
5145ebceb7
[Mac] Implemented JoystickHat support
2014-01-31 16:17:04 +01:00
thefiddler
a7228274aa
[Input] Added JoystickCapabilities.HatCount
2014-01-31 15:40:07 +01:00
thefiddler
168c45f0e2
[SDL2] Implemented support for hat state
2014-01-31 15:03:51 +01:00
thefiddler
801d6ead04
[Input] Added hat state to JoystickState
2014-01-31 15:03:30 +01:00
thefiddler
0cacdf6ae4
[Input] Do not use a bitfield for hat position
...
Using a bitfield does not save storage space in this case, and also
stops pattern matching from working (switch() statement in C# or match
… with expressions in F#.)
2014-01-31 15:03:19 +01:00
thefiddler
a4ce2182d2
[Input] Added JoystickHatState structure
2014-01-31 15:01:35 +01:00
thefiddler
5fe2d60857
[Input] Added structures for joystick hat input
2014-01-30 17:40:26 +01:00
thefiddler
41a23ca371
[Input] Fixed off-by-one error in internal max axes/buttons
2014-01-30 17:36:59 +01:00
Stefanos A.
0e7f237d5e
[Examples] BindAttribLocation must precede LinkProgram
2014-01-30 11:42:07 +01:00
Stefanos A.
bc95477488
[Examples] Updated to use 1.1 API
2014-01-30 11:40:01 +01:00
thefiddler
71d6da80de
[Win] Faster WinMM GetCapabilities() and GetState()
...
joyGetDevCaps() is an extremely slow call that allocates memory.
WinMMJoystick is now caching its results for a significant speedup in
Joystick.GetCapabilities() and GetState().
The cache is updated whenever a joystick device is removed. WIP to
handle device added notifications.
2014-01-30 10:18:11 +01:00
thefiddler
eeaa3276f1
[Input] Implemented axis-button mappings
2014-01-29 10:39:18 +01:00
thefiddler
ef429aff01
[Input] Added support for JoystickButtons 16-31
2014-01-29 10:28:06 +01:00
thefiddler
c73e4785cd
Merge remote-tracking branch 'cwassall/develop' into develop
2014-01-26 12:19:51 +01:00
thefiddler
b9426006ef
[GLControl] Warn when accessing GL properties on non-current context
2014-01-26 11:08:08 +01:00
thefiddler
c9a86a63ab
[GLControl] Use IGraphicsContext.SwapInterval to get/set vsync
...
This patch fixes warnings related to the deprecated
IGraphicsContext.VSync property.
2014-01-26 10:39:39 +01:00
thefiddler
24be068742
[GLControl] Clarified docs regarding multiple contexts
2014-01-26 10:36:52 +01:00
thefiddler
cd42f92c12
[Input] Corrected GamePadState range to byte [0,255]
2014-01-25 17:05:06 +01:00
Stefanos A.
06a3d7e1a7
[OpenTK] Don't skip AA modes in RelaxGraphicsMode
...
Previously, specifying an odd AA mode (e.g. 5x) would have been relaxed
to 0x. Now, it will be correctly relaxed to 4x.
2014-01-22 23:25:11 +01:00
thefiddler
417a6bedc1
[SDL2] Use RelaxGraphicsMode to find optimal mode
...
For SDL2, RelaxGraphicsMode requires us to clear context attributes
between consecutive attempts. This is implemented by calling
ClearGLAttributes().
2014-01-22 11:37:37 +01:00
thefiddler
0575e63a27
[Max] Use RelaxGraphicsMode to find optimal mode
2014-01-22 11:03:40 +01:00
thefiddler
6ba475e23f
[Win] Use RelaxGraphicsMode to find optimal mode
2014-01-22 10:49:55 +01:00
thefiddler
615df9201b
[OpenTK] Moved RelaxGraphicsMode to Utilities
...
This functionality is useful for all platform backends and is not
specific to the X11 backend.
2014-01-22 10:49:27 +01:00
thefiddler
6f3951e825
[OpenTK] Allow a GraphicsMode.Buffers value of 0
...
0 in this case means “don’t care”.
2014-01-22 10:48:40 +01:00
thefiddler
ff36f0f35a
[OpenTK] Clamp max AA level to 64x
...
This protects against a potential denial-of-service issue during mode
selection, where the platform backend will try to reduce AA level until
a supported mode is found.
2014-01-22 10:35:08 +01:00
thefiddler
2b6aec3b23
[OpenTK] Removed unused GraphicsMode field
2014-01-22 10:31:01 +01:00
Stefanos A.
770b697583
[Win] Clear extension list on reload
2014-01-21 09:04:27 +01:00
Stefanos A.
88ae446781
[Win] Removed WGL delegates in favor of calli
2014-01-21 09:00:57 +01:00
Stefanos A.
5379deaf63
[Win] Implemented calli-based interop for WGL
2014-01-21 09:00:25 +01:00
cwassall
7b591962e8
Change original_resolution field to a property
...
As the original_resolution field needs to be accessed from outside the
module, it should be an internal property as opposed to an internal
field
2014-01-20 12:51:55 +00:00
cwassall
5f6c8e654c
Remember DisplayDevice original resolutions
...
When refreshing the AvailableDevices list, it is important to set the
original resolution on any DisplayDevices that were previously available
to allow the RestoreResolution() method to work correctly.
2014-01-19 19:44:12 +00:00
Stefanos A.
c2e3328f59
[GLControl] Use dummy context in design mode
...
Creating a GraphicsContext with null parameters is not a guarantee that
we will get a dummy context that does not call any OpenGL functions. We
need to explicitly define and construct a dummy context that is safe to
use inside the designer.
Affects issue #49
2014-01-18 18:33:25 +01:00
Stefanos A.
b87b9e0a27
[Win] Fix X1/X2 mouse buttons (fixes issue #27 )
2014-01-16 17:16:03 +01:00
Stefanos A.
8cb3538767
[Examples] Move UTF8 sample to Test folder
2014-01-16 14:37:27 +01:00
Stefanos A
51e99fe638
Merge branch 'utf8_test' of https://github.com/ganaware/opentk into utf8
2014-01-16 14:33:15 +01:00
Stefanos A.
b9f57ba4d2
[OpenTK] Use ASCII encoding
...
Most OpenGL versions work with single-byte ASCII strings exclusively.
OpenGL 4.2 adds UTF8 encoded comments to GLSL shaders. Unfortunately,
UTF16 (.Net) to UTF8 conversions will usually modify the length of the
resulting byte array.
This is not currently possible to implement inside OpenTK, since the
binding generator does not know which length parameter corresponds to a
string parameter.
For this reason, and to maintain compatibility with older OpenGL
versions, we perform a destructive UTF16-to-ASCII encoding, which
replaces unsupported characters by '?'. This allows multi-byte post-4.2.
GLSL shaders to work as expected.
If non-destructive round-tripping of strings is required, the user will
have to use the IntPtr overload for string parameters and perform the
UTF16-to-UTF8 encoding/decoding manually. This need is very unlikely to
arise in practice.
2014-01-16 14:32:11 +01:00
Stefanos A
606b4ddcd1
Merge branch 'develop' of https://github.com/opentk/opentk into utf8
2014-01-16 11:44:34 +01:00
Stefanos A
9268b5ed7f
Merge branch 'develop' into utf8
2014-01-16 11:39:22 +01:00
Nayuta Taga
b15f91a0f2
shader source with Japanese comment test
2014-01-16 18:27:32 +09:00
Nayuta Taga
1929cf60fa
Merge branch 'utf8' into utf8_test
2014-01-16 18:05:03 +09:00
thefiddler
44e2576c86
[OpenTK] Protect against invalid axis/button ids
2014-01-15 01:24:20 +01:00
thefiddler
e6a9adf494
[OpenTK] Fixed polling
2014-01-15 01:19:45 +01:00
thefiddler
e7f037b0a2
[OpenTK] Fixed legacy joystick hotplugging & events
2014-01-15 01:13:39 +01:00
thefiddler
df7d7ae8eb
[Linux] Implemented joystick guid detection
2014-01-15 00:57:28 +01:00
thefiddler
73e3b66038
[OpenTK] Use LegacyJoystickDriver for IJoystickDriver implementation
2014-01-14 23:53:24 +01:00
thefiddler
fb917a6d89
[Linux] Implemented joystick hotplugging
2014-01-14 23:51:31 +01:00
thefiddler
4ca8c78764
[OpenTK] Suggest alternative to obsolete INativeWindow.InputDriver property
2014-01-14 23:40:23 +01:00
Stefanos A.
4473c8373e
[X11] Implemented joystick hotplugging
...
This is a work in progress.
2014-01-14 18:37:16 +01:00
Stefanos A.
b004dc7a0a
[X11] Added INotify.cs to project files
2014-01-14 18:36:36 +01:00
Stefanos A.
4203c14b22
[X11] Removed IJoystickDriver from X11Joystick
...
Legacy IJoystickDriver support is now implemented through a
LegacyJoystickDriver instance.
2014-01-14 18:36:19 +01:00
Stefanos A
f3036e5f10
Merge branch 'develop' into linux_joystick
2014-01-14 18:26:05 +01:00
Stefanos A
cb4e4d5e72
Merge branch 'legacy_joystick' into linux_joystick
2014-01-14 18:17:05 +01:00
Stefanos A.
d467629ad8
[Linux] Added INotify bindings
...
These are not currently used.
2014-01-14 18:15:53 +01:00