Commit graph

2092 commits

Author SHA1 Message Date
the_fiddler
3c2c07361a Implemented raw keyboard input for Windows. Improved the interface for receiving input. Moved raw input window to its own thread. 2010-10-22 14:57:06 +00:00
the_fiddler
ef6c910d30 Initial implementation of raw mouse input on Windows. 2010-10-22 13:41:42 +00:00
the_fiddler
687594db4c Fixed CursorVisible getter.
If necessary, re-grab the cursor whenever the window changes position/size.
2010-10-22 13:36:05 +00:00
the_fiddler
38f54630cb Implemented PointToScreen and fixed mouse grab rectangle to match the client rectangle exactly. 2010-10-22 13:22:28 +00:00
the_fiddler
6231931fcc Fixed text anti-aliasing on Windows. 2010-10-22 09:29:41 +00:00
the_fiddler
b63db9329d Removed fixed expression that caused compilation error on VS2010 (but not Mono 2.6.7). 2010-10-22 08:16:37 +00:00
the_fiddler
4d2759eb78 * XI2Mouse.cs:
* X11Factory.cs: Detect whether XInput2 is not supported without
  throwing an exception.
2010-10-22 07:41:56 +00:00
the_fiddler
eeefbd1a9c * Input/Mouse.cs:
* Platform/X11/X11Mouse.cs:
* Platform/X11/XI2Mouse.cs: Added internal list of mouse devices in
  preparation for multi-mouse support.
2010-10-21 14:53:10 +00:00
the_fiddler
4d66cf3070 * Test/GameWindowStates.cs: Added relative mouse motion indicator. Improved text antialiasing. Moved to GameWindow category. 2010-10-21 13:14:36 +00:00
the_fiddler
da0e4f3887 * QuickStart.sln:
* Source/QuickStart/QuickStart.csproj: Added missing QuickStart
solution. Fixes issue [#2093]: "QuickStart.sln doesn't exist in
"latest version of OpenTK"".
2010-10-21 12:55:45 +00:00
the_fiddler
80ee257777 * OpenTK.csproj:
* Input/MouseState.cs:
* Platform/X11/Structs.cs:
* Platform/X11/XI2Mouse.cs:
* Platform/X11/Functions.cs:
* Platform/X11/X11Factory.cs: Added XInput2 driver for mice.
  Multi-mouse support pending.

* Platform/X11/X11Mouse.cs: Log the driver type for debugging
  purposes.
2010-10-21 12:32:00 +00:00
the_fiddler
23ad81d12b * Platform/X11/X11Keyboard.cs: Added index bounds check for
GetState.
2010-10-21 07:56:48 +00:00
the_fiddler
1a8f589f5c * OpenTK.csproj:
* Input/MouseState.cs:
* Input/ButtonState.cs:
* Platform/X11/X11Mouse.cs:
* Platform/X11/X11Factory.cs: Added initial implementation of
  OpenTK.Input.Mouse for X11.
2010-10-21 07:56:37 +00:00
the_fiddler
3c238a01f6 * X11Keyboard.cs: Do not allocate an X11WindowInfo unnecessarily. 2010-10-20 15:16:55 +00:00
the_fiddler
362a853664 * Input/MouseState.cs: Implemented MouseState structure. 2010-10-20 15:14:38 +00:00
the_fiddler
ca30b85bad * Input/KeyboardState.cs: Fixed the amount of storage for keyboard
keys (the code would allocate one less int than necessary when
  "number of keys % 32" falls between 1 and 15).
Fixed the implementation of the Equals method to compare the two
  instances (instead of comparing this instance against itself).
2010-10-20 15:14:26 +00:00
the_fiddler
85c37f0600 * Source/OpenTK/Input/Mouse.cs:
* Source/OpenTK/Platform/Factory.cs:
* Source/OpenTK/Input/InputDriver.cs:
* Source/OpenTK/Input/IMouseDriver.cs:
* Source/OpenTK/Platform/X11/X11Input.cs:
* Source/OpenTK/Platform/X11/X11Factory.cs:
* Source/OpenTK/Platform/Windows/WMInput.cs:
* Source/OpenTK/Platform/IPlatformFactory.cs:
* Source/OpenTK/Platform/MacOS/CarbonInput.cs:
* Source/OpenTK/Platform/Windows/WinFactory.cs:
* Source/OpenTK/Platform/MacOS/MacOSFactory.cs:
* Source/OpenTK/Platform/Windows/WinGLNative.cs:
* Source/OpenTK/Platform/Windows/WinRawMouse.cs:
* Source/OpenTK/Platform/Windows/WinRawInput.cs: Added new MouseDriver
  interface and added stub internal implementations.
2010-10-20 14:58:38 +00:00
the_fiddler
7e3182b1fc * Source/OpenTK/OpenTK.csproj:
* Source/OpenTK/Input/Keyboard.cs:
* Source/OpenTK/Input/InputDriver.cs:
* Source/OpenTK/Input/KeyboardState.cs:
* Source/OpenTK/Input/IKeyboardDriver.cs:
* Source/OpenTK/Platform/X11/X11Input.cs:
* Source/OpenTK/Platform/X11/Functions.cs:
* Source/OpenTK/Platform/X11/X11Factory.cs:
* Source/OpenTK/Platform/Windows/WMInput.cs:
* Source/OpenTK/Platform/X11/X11Keyboard.cs:
* Source/OpenTK/Platform/MacOS/CarbonInput.cs:
* Source/OpenTK/Platform/Windows/WinGLNative.cs:
* Source/OpenTK/Platform/Windows/WinRawInput.cs:
* Source/OpenTK/Platform/Windows/WinRawKeyboard.cs: Added initial
  OpenTK.Input.Keyboard implementation for X11.
2010-10-20 14:33:23 +00:00
the_fiddler
33529aff63 * Source/OpenTK/Platform/X11/X11GLNative.cs: Confine pointer to
window when it becomes invisible.
2010-10-20 09:50:49 +00:00
the_fiddler
527cdf8622 * Source/OpenTK/Platform/X11/X11GLNative.cs: Refactored empty cursor
creation into its own function. Create one empty cursor for the
  lifetime of the window.
2010-10-20 09:19:34 +00:00
the_fiddler
63b35badee Take into account the fact that ShowCursor(true/false) calls are cumulative (we want boolean behavior instead). 2010-10-19 09:25:09 +00:00
the_fiddler
f302a62fc1 Added initial code for mouse grabbing. Modified GameWindowStates to test this. 2010-10-19 09:20:59 +00:00
the_fiddler
9c524e0d52 * Source/OpenTK/Platform/MacOS/CarbonGLNative.cs: Removed unused
code.
2010-10-18 16:14:50 +00:00
the_fiddler
60a9af5939 * Source/OpenTK/Platform/Windows/API.cs:
* Source/OpenTK/Platform/Windows/WinGLNative.cs: Implemented
  CursorVisible.
2010-10-18 16:14:38 +00:00
the_fiddler
e1cf566c81 * Source/Examples/OpenTK/Test/GameWindowStates.cs: Handle
MouseButtonUp event to make mouse visible.
2010-10-18 15:48:32 +00:00
the_fiddler
1fc5e96a25 * Source/OpenTK/NativeWindow.cs:
* Source/OpenTK/INativeWindow.cs:
* Source/OpenTK/Platform/X11/API.cs:
* Source/OpenTK/Platform/X11/X11GLNative.cs:
* Source/OpenTK/Platform/Windows/WinGLNative.cs:
* Source/OpenTK/Platform/MacOS/CarbonGLNative.cs:
* Source/Examples/OpenTK/Test/GameWindowStates.cs: Initial
  implementation of CursorVisible API. See issue [#1560].
2010-10-18 15:25:25 +00:00
the_fiddler
6f815689e7 Added UNSIGNED_INT to ActiveUniformType enum. Fixes issue [#2077]: "Add UnsignedInt to ActiveUniformType". 2010-10-13 20:42:58 +00:00
the_fiddler
cf97ff84a9 Fixed issue [#2072]: "Box2 constructor bug". 2010-10-11 07:54:46 +00:00
the_fiddler
546decd579 Fixed code formatting. 2010-10-09 19:59:06 +00:00
the_fiddler
9516b56eb4 Avoid deprecated EnableClientState(EnableCap) in favor of EnableClientState(ArrayCap). 2010-10-09 19:56:33 +00:00
the_fiddler
f2d418e3d1 Report Xinerama as not supported when it fails to detect any devices. Fixes issue on Nvidia drivers when Twinview is enabled. 2010-10-09 19:11:45 +00:00
the_fiddler
dd41ed9610 Added XF86VM fallback when XRandR is missing (many thanks to jdomnitz!) 2010-10-09 19:10:39 +00:00
the_fiddler
42fdd873ff Set the correct, platform-specific GetCurrentContext implementation on startup. Ensures the correct function of dummy contexts. 2010-10-09 18:53:20 +00:00
the_fiddler
9775253051 Use current date as the 'readable' version (on installer/zip). 2010-10-06 16:53:53 +00:00
the_fiddler
4d44184dd9 Explicitly set assembly name and root namespace to "Build.UpdateVersion" in order to avoid conflicts with xbuild. 2010-10-06 15:17:29 +00:00
the_fiddler
2b9391f6c6 Use mono to invoke Build.UpdateVersion.exe on non-Windows systems. 2010-10-06 15:07:12 +00:00
the_fiddler
71199b0363 Replaced all custom tasks with built-in tasks, because custom tasks cause builds through Visual Studio to fail. This is a known issue since VS2005 (the dll containing custom tasks gets loaded into the devenv AppDomain and remains locked, meaning you have to exit Visual Studio before rebuilding the project). 2010-10-06 14:59:13 +00:00
the_fiddler
1cd8cfbc0f Converted into an actual commandline tool to avoid using custom tasks. 2010-10-06 14:56:11 +00:00
the_fiddler
c0e883bb9a * Source/Build.Tasks/DateStamp.cs: Read/Write stamp from/to
Version.txt file. Allows a single stamp to be propagated throughout
  the build process.

* Source/Build.Tasks/GenerateAssemblyInfo.cs: Correctly invoke
  DateStamp task (need to call Execute() to generate the stamp).

* Source/Build.UpdateVersion/Build.UpdateVersion.csproj: Cleaned up
  'Rebuild' target.
Cleaned up 'GenerateAssemblyInfo' task invocation.
Attempted to generate GlobalAssemblyInfo.cs without using a custom
  task. Unfortunately, xbuild didn't wish to cooperate.
Remove Version.txt file to update the datestamp.
2010-10-06 08:47:01 +00:00
the_fiddler
2d0679d0c2 Reorganize code for clarity. 2010-10-05 20:52:28 +00:00
the_fiddler
333ea05d9e Do not check whether the path exists before deletion (an exception will be caught anyway). 2010-10-05 20:51:47 +00:00
the_fiddler
35eea33561 Log error message when a non-existent path is specified. 2010-10-05 20:38:44 +00:00
the_fiddler
146262f34e Really delete GlobalAssemblyInfo.cs this time. 2010-10-05 18:59:28 +00:00
the_fiddler
a8c39875f3 Populate ImageList manually to avoid crash issue when cross-compiling from Mono. 2010-10-05 17:43:33 +00:00
the_fiddler
6a4c432d6b GlobalAssemblyInfo is autogenerated and should not be in version control. 2010-10-05 07:07:47 +00:00
the_fiddler
63e31e34b2 Consolidated DateStamp and AssemblyInfo generation. 2010-10-05 07:00:54 +00:00
the_fiddler
0bbc524cbe Use custom property to select correct Build.Tasks.dll directory. 2010-10-04 23:02:31 +00:00
the_fiddler
9d273cee7e All projects now read common AssemblyInfo items from GlobalAssemblyInfo.cs. The various AssemblyInfo.cs files now only contain project-specific information. Assembly versions are now controlled by Build.UpdateVersion. 2010-10-04 21:37:33 +00:00
the_fiddler
1ebb3e023a Added Build.UpdateVersion project which generates a global AssemblyInfo file that is reused throughout the solution (TBD). 2010-10-04 21:30:42 +00:00
the_fiddler
5bf9631f7b Added GenerateAssemblyInfo task that specifies common assembly properties to a global AssemblyInfo file.
Modify Build.Tasks.dll search path depending on the current configuration.
2010-10-04 21:25:31 +00:00
the_fiddler
6cfc2649bb Added license information. 2010-10-04 20:49:12 +00:00
the_fiddler
2d0b6340f4 Removed unused variable. 2010-10-04 14:52:29 +00:00
the_fiddler
bb61dfe3f4 Added keyfile and strong-named all projects. 2010-10-04 14:39:42 +00:00
the_fiddler
d169315719 Updated default ToolsVersion to 4.0. Fixes intermittent build issues and increases build performance significantly. It is still possible to build on the 3.5 toolset by passing the /tv:3.5 parameter to msbuild. 2010-10-04 13:49:08 +00:00
the_fiddler
6c2cf0e7fd Do not import OpenCL namespace if "EXPERIMENTAL" is not defined. 2010-10-04 08:40:57 +00:00
the_fiddler
4f1e320894 Deleted old build system. 2010-10-03 13:25:18 +00:00
the_fiddler
080729bad7 Disabled OpenCL bindings (#define EXPERIMENTAL in project options to re-enable). 2010-10-03 13:19:05 +00:00
the_fiddler
5f23fbc1f0 Removed app.config file that somehow made it into the csproj. 2010-10-03 12:38:19 +00:00
the_fiddler
a4e82c0915 Added Generator.Bind and Generator.Convert projects.
Fixed msbuild compilation by removing the 3.5 bootstrap ItemGroups. (VS2010 added those on its own - hey, we are targeting v2.0 and we are not using ClickOnce!)
2010-10-03 12:30:39 +00:00
the_fiddler
3895b74a7e Made Nsis configuration identical to Release. Fixes build from windows terminal. 2010-10-03 09:31:40 +00:00
the_fiddler
91c6b571de Fixed incorrect output paths. 2010-10-03 09:25:52 +00:00
the_fiddler
de1fa768c8 * Source/OpenTK/OpenTK.csproj:
* Source/Build.Tasks/Build.Tasks.csproj:
* Source/Examples/OpenTK.Examples.csproj:
* Source/GLControl/OpenTK.GLControl.csproj:
* Source/Compatibility/OpenTK.Compatibility.csproj: Ensure we are
using the 2.0 toolset to build. Fixes compilation errors on
MonoDevelop/xbuild.

* Documentation/Build.Docs.csproj: Use "." instead of
"$(MSBuildProjectDirectory)", because MonoDevelop/xbuild fails to
replace the latter with its value.
2010-10-02 23:21:58 +00:00
the_fiddler
f2f2c05485 * Added project files for all projects.
* Modified Build.Docs project to respond to the "Documentation" configuration. Added Clean target.
2010-10-02 22:16:59 +00:00
the_fiddler
dd257ee29d Added Build.Tasks project that contains custom MSBuild tasks for the compilation process:
- DateStamp, which generates a version number based on the current date.
- DelTree which mimics RemoveDir but can delete non-empty directories on xbuild 2.6.x (which only supports empty directories).
- Run which mimics Exec but also captures stderr/stdout.
2010-10-02 22:15:19 +00:00
the_fiddler
88e6aceae0 Synced trunk with 1.0 branch. 2010-10-02 18:52:34 +00:00
the_fiddler
bca3751e8b Synced with 1.0 branch. 2010-03-11 22:53:11 +00:00
the_fiddler
adcce2c00b Added explicit ActiveUniformParameter enum for GetActiveUniforms function. Fixes issue [#1443]: "GetActiveUniforms parameter name". 2010-02-03 20:43:42 +00:00
the_fiddler
0b3fa24c10 Added missing TEXTURE_LOD_BIAS token to TextureParameterName. Fixes issue [#1531]: "TextureParameterName enum missing TEXTURE_LOD_BIAS element". 2010-02-03 20:17:02 +00:00
the_fiddler
da138163bf Backported fix for issue [#1538] from 1.0 branch. 2010-02-03 19:55:09 +00:00
the_fiddler
53b84d18d4 Backported bugfixes from 1.0 branch. 2010-02-03 19:04:42 +00:00
kanato
411f4bcc98 * Platform/MacOS/CarbonGLNative.cs: Fix width/height properties on Mac OS X. 2010-01-11 22:08:00 +00:00
the_fiddler
25339f3bee * Source/OpenTK/Compute/CL10/CL.cs:
* Source/OpenTK/Compute/CL10/Core.cs:
* Source/Bind/Specifications/csharp.tm:
* Source/OpenTK/Compute/CL10/Delegates.cs: cl_context_properties
  should be mapped to IntPtr, not int.
Modified CreateContext signature to return ErrorCode rather than plain
  int.

* Source/OpenTK/Compute/CL10/CLHelper.cs: Added helper overloads that
  convert ContextProperties enums into IntPtr internally.
2010-01-04 13:29:21 +00:00
the_fiddler
7fbecbd7bd CreateContext should return an ErrorCode, not an int. 2010-01-04 13:23:56 +00:00
the_fiddler
da1ffa44f3 Regenerated bindings using the latest binding generator, which ensures consistent sorting order between consecutive runs. 2009-12-25 14:17:55 +00:00
the_fiddler
d00cc6bd86 Merged GameWindow timing fixes and release documentation from branches/1.0. 2009-11-17 14:54:30 +00:00
the_fiddler
144e6b6947 Re-enabled CL10, ES10 and ES11 bindings in trunk. 2009-11-17 10:04:00 +00:00
the_fiddler
938e6349a7 Added BlittableValueType test from branches/1.0. 2009-11-17 10:00:52 +00:00
the_fiddler
77c4c2ee2d Merged fix for [#1386] from branches/1.0. 2009-11-17 09:59:36 +00:00
the_fiddler
b5c747761d Merged fix for [#1098] from branches/1.0. 2009-11-17 09:33:14 +00:00
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
86b366edf2 Synced trunk with 1.0 branch. 2009-11-16 18:45:41 +00:00
the_fiddler
3aa67b84a3 Added strongly-typed tokens for GetActiveUniformBlock, which was introduced in OpenGL 3.1. Fixes issue [#1216]: "[GL] GetActiveUniformBlock* methods take ArbUniformBufferObject parameters". 2009-11-16 16:23:36 +00:00
the_fiddler
4e04838148 Added new OpenGL 3.1 tokens for ARB_texture_rectangle, ARB_shader_objects and EXT_gpu_shader4. Fixes issue [#1355]: "TextureRectangle tokens for ActiveUniformType". 2009-11-16 16:14:32 +00:00
the_fiddler
9d3c251c75 VertexAttribIPointer should take the integer subset (VertexAttribIPointerType) of VertexAttribPointerType. Fixes issue [#1166]: "VertexAttribIPointer pointer type parameter". 2009-11-16 15:13:57 +00:00
the_fiddler
fa2cdee5ef Removed invalid BGRA token from VertexAttribPointerType. 2009-11-16 15:00:24 +00:00
the_fiddler
b96aaabcae Made unix kernel detection less strict. The program is now allowed to run even the specific kernel name is unknown. Partly fixes issue [#1382]: "OpenTK and other Unix OS". 2009-11-16 14:28:37 +00:00
the_fiddler
9cb660bf85 Added new OpenGL 3.x tokens to GenerateMipmap. Fixes issue [#1162]: "GL.GenerateMipmap argument". 2009-11-16 14:15:56 +00:00
the_fiddler
bbe606da53 Vector3(d).Cross: do not modify 'result' more than once to ensure that Cross(ref a, ref b, out a) works correctly.
Optimized vector-quaternion transform. Fixes issue [#1373]: "[Math] optimize Vector transform by Quaternion".
2009-11-16 13:23:04 +00:00
the_fiddler
0605607e6a Changed vector-quaternion transformations to use standard q * v * q^-1 convention. Fixes issue [#1372]: "[Math] Vector transformation by Quaternion follows non-standard quaternion math convention". 2009-11-16 13:00:42 +00:00
the_fiddler
6471772777 Added support for fractional mouse wheel values. Fixes issue [#1279]: "Mouse wheel does not seem to work". 2009-11-16 12:15:35 +00:00
the_fiddler
f509286611 Renamed "Entry" to "Unmanaged Name" to clarify its purpose. 2009-11-16 11:23:12 +00:00
the_fiddler
3c0787c6a9 Make context current on loading thread and be more defensive when retrieving unmanaged entry points. Resolves issue [#1378]: "OpenGL Extensions test fails". 2009-11-16 11:17:20 +00:00
the_fiddler
d5175d1d9c Launch samples on a different thread than the launcher. Samples may install their own message loops and some operating systems do not behave correctly with multiple message loops on a single thread. 2009-11-16 10:56:07 +00:00
the_fiddler
a8c0c7adf4 Preserve the sign of the mouse position. Fixes issue [#1376]: "mouse position". 2009-11-16 10:38:49 +00:00
the_fiddler
c84e3ef0da Fixed InvalidCastException in keyboard logging delegates. 2009-11-16 10:09:11 +00:00
kanato
1bc11bb807 MacOS: Fix crash in CheckEnterLeaveEvents if using WinForms too. 2009-11-15 22:00:14 +00:00
kanato
69c05cdb20 MacOS: Correct resizing behavior and correctly implement Bounds, ClientRectangle, and ClientSize getters and setters. 2009-11-15 19:31:23 +00:00
kanato
d695bb599c MacOS: Add proper icon support for the dock. 2009-11-15 18:08:49 +00:00
kanato
63b314c4a8 MacOS: Implement Focused property and FocusChanged event. 2009-11-15 04:12:37 +00:00
kanato
103190ebf4 MacOS: Implement mouse enter / leave events. 2009-11-15 03:55:29 +00:00