Commit graph

3387 commits

Author SHA1 Message Date
Fraser Waters 095d3f26c0 Use GetMouseMovePointsEx to smooth mouse input.
Uses GetMouseMovePointsEx to get mouse move history so mouse events aren't dropped even with low framerates.

Fixes #76.
2014-03-23 16:26:24 +00:00
thefiddler db913ca3f4 [GL] Added missing [Rgba]16Snorm texture formats
See https://www.opengl.org/sdk/docs/man4/html/glTexImage2D.xhtml or the
4.4 spec, section 8.5, table "Sized internal color formats".
2014-03-18 12:08:02 +01:00
csantos c48f6399e4 Centering the cursor at (width/2, height/2), effectively fixing
the issue described in https://github.com/mono/MonoGame/issues/2283
2014-03-18 01:44:52 -03:00
thefiddler ccb5408258 [Win] Invert vertical axes to match 1.0 API
The 1.0 API defines +y as up and -y as down. This matches XInput but
disagrees with WinMM, where we have to invert the vertical axes.
2014-03-17 00:43:36 +01:00
thefiddler cae62151b8 [Input] LegacyJoystickDriver now reports hat pos 2014-03-17 00:30:19 +01:00
thefiddler f93d464f62 [Input] JoystickHatState is now IEquatable 2014-03-17 00:30:04 +01:00
thefiddler 01c3b51be6 [Input] JoystickState.ToString now prints hat pos 2014-03-17 00:29:45 +01:00
thefiddler 05bbc0b3f4 [Win] Joystick driver now reports hat positions 2014-03-17 00:29:12 +01:00
thefiddler f23b93b839 [SDL2] On Mac, OpenGL 3.0 or 3.1 should create 3.2 context
SDL2/Mac fails to create a 3.0 or 3.1 OpenGL context. We implicitly
bump version to 3.2, otherwise 3.0 or 3.1 would give a 2.1 context.
2014-03-16 22:50:12 +01:00
thefiddler 02bf55ad7e [ES] Fixed loading of OpenGL ES core API
eglGetProcAddress cannot be used to retrieve
entry points of core functions. Instead, we
use [DllImport] for core functions and function
pointers for extension functions.

Squashed commit of the following:

commit 0b84aa6ef78dfa3600b81fc412eb192f2a87e40c
Author: thefiddler <stapostol@gmail.com>
Date:   Sat Mar 15 02:24:58 2014 +0100

    [Examples] Rolled back changes to Example browser

commit 1acfbaac3d17184debdbbe872c58ac07d1b37c0a
Author: thefiddler <stapostol@gmail.com>
Date:   Sat Mar 15 02:20:57 2014 +0100

    [Examples] Rolled back WinForms example

commit 835d9d6035a890bd3426566929fbfd25c493eca0
Author: thefiddler <stapostol@gmail.com>
Date:   Sat Mar 15 01:15:01 2014 +0100

    [Examples] Rolled back erroneous GLControl mods

commit 056418014f0e835e83fb85b54b8749519a555364
Author: thefiddler <stapostol@gmail.com>
Date:   Fri Mar 14 23:11:11 2014 +0100

    [Rewrite] Remove calli prototypes

    When a function is called indirectly via a function pointer, its
    prototype is not required (the prototype is added as a callsite at the
    calli invocation.) Removing these prototypes reduces binary size by
    roughly 400KB.

commit 353a16ec2836c597150d2fab28581e7c264b2b39
Author: thefiddler <stapostol@gmail.com>
Date:   Fri Mar 14 22:31:25 2014 +0100

    [Rewrite] Call DllImports directly

    When a function does not have an allocated slot (i.e. slot = -1), then
    we will call its DllImport signature directly.

commit 9a5313e4b7afb10b698d255e4b5637887bf71cf3
Author: thefiddler <stapostol@gmail.com>
Date:   Fri Mar 14 22:30:04 2014 +0100

    [Bind] Do not allocate slots for DllImports

commit 6ac5342409363cac0e59f9dc669948b319bd20a9
Author: thefiddler <stapostol@gmail.com>
Date:   Fri Mar 14 22:29:07 2014 +0100

    [Bind] Added option to use DllImports

    This is necessary for the core functionality of OpenGL ES, where
    eglGetProcAddress returns null or garbage (the latter on Android.)
2014-03-16 19:40:49 +01:00
thefiddler 242b8bbe6c [Graphics] Init OpenTK when creating external context
Fixes issue #52
2014-03-13 19:51:29 +01:00
thefiddler 625ba5dcda [Graphics] Regenerated with newest generator 2014-03-13 19:44:33 +01:00
thefiddler d12bd18158 Merge branch 'gl_Mar2014' into develop 2014-03-13 19:39:37 +01:00
thefiddler 51c173e935 [Graphics] Documented parameter length
Fixes issue #15
2014-03-13 19:38:12 +01:00
thefiddler b3fac68b37 [Graphics] Synced with Khronos repository
Adds:
- INTEL_performance_query extension
- “count” attribute fixes for multiple functions
2014-03-13 18:46:01 +01:00
thefiddler cf728a631e [Bind] Added overloads for backwards compatibility 2014-03-13 18:42:37 +01:00
thefiddler 6a3838757c Fixed NRE when calling Toolkit.Dispose() more than once. 2014-03-11 16:00:25 +01:00
thefiddler f5a4a4bd96 Merge branch 'issue69' into develop 2014-03-11 15:01:09 +01:00
thefiddler 3f8a62eaf7 Merge remote-tracking branch 'frassle/warnings' into develop 2014-03-11 14:57:36 +01: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 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
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 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
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
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 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