Commit graph

1960 commits

Author SHA1 Message Date
the_fiddler 5ed98455d9 Do not use deprecated methods. 2010-10-22 15:03:06 +00:00
the_fiddler 2430f82ff7 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 75c71107a3 Initial implementation of raw mouse input on Windows. 2010-10-22 13:41:42 +00:00
the_fiddler b2ccc8f089 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 327941be33 Implemented PointToScreen and fixed mouse grab rectangle to match the client rectangle exactly. 2010-10-22 13:22:28 +00:00
the_fiddler 3d87bc7e8f Fixed text anti-aliasing on Windows. 2010-10-22 09:29:41 +00:00
the_fiddler c7d8fb882a 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 bb01babfbd * XI2Mouse.cs:
* X11Factory.cs: Detect whether XInput2 is not supported without
  throwing an exception.
2010-10-22 07:41:56 +00:00
the_fiddler d49b315ced * 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 6276057c65 * 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 f39eaecea3 * 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 671457b60a * 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 e638652d01 * Platform/X11/X11Keyboard.cs: Added index bounds check for
GetState.
2010-10-21 07:56:48 +00:00
the_fiddler 7947cad6f8 * 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 1529f811ac * X11Keyboard.cs: Do not allocate an X11WindowInfo unnecessarily. 2010-10-20 15:16:55 +00:00
the_fiddler 07671251c5 * Input/MouseState.cs: Implemented MouseState structure. 2010-10-20 15:14:38 +00:00
the_fiddler 239ba3ff2b * 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 86588ea60c * 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 e801660ff7 * 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 7c0dbf7dcf * Source/OpenTK/Platform/X11/X11GLNative.cs: Confine pointer to
window when it becomes invisible.
2010-10-20 09:50:49 +00:00
the_fiddler 3b72054480 * 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 9ec00014eb 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 00311cdb13 Added initial code for mouse grabbing. Modified GameWindowStates to test this. 2010-10-19 09:20:59 +00:00
the_fiddler a18825a062 * Source/OpenTK/Platform/MacOS/CarbonGLNative.cs: Removed unused
code.
2010-10-18 16:14:50 +00:00
the_fiddler d5aaf4a794 * Source/OpenTK/Platform/Windows/API.cs:
* Source/OpenTK/Platform/Windows/WinGLNative.cs: Implemented
  CursorVisible.
2010-10-18 16:14:38 +00:00
the_fiddler f201c3bed9 * Source/Examples/OpenTK/Test/GameWindowStates.cs: Handle
MouseButtonUp event to make mouse visible.
2010-10-18 15:48:32 +00:00
the_fiddler 42e0880cbb * 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 d4d9d58a8a Added UNSIGNED_INT to ActiveUniformType enum. Fixes issue [#2077]: "Add UnsignedInt to ActiveUniformType". 2010-10-13 20:42:58 +00:00
the_fiddler 7f6fa886da Fixed issue [#2072]: "Box2 constructor bug". 2010-10-11 07:54:46 +00:00
the_fiddler 148578b1eb Fixed code formatting. 2010-10-09 19:59:06 +00:00
the_fiddler 0f80ff8f1d Avoid deprecated EnableClientState(EnableCap) in favor of EnableClientState(ArrayCap). 2010-10-09 19:56:33 +00:00
the_fiddler 8f9cd3decf 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 ddb51b25f7 Added XF86VM fallback when XRandR is missing (many thanks to jdomnitz!) 2010-10-09 19:10:39 +00:00
the_fiddler 8bb6af05d7 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 2c739cc96b Use current date as the 'readable' version (on installer/zip). 2010-10-06 16:53:53 +00:00
the_fiddler 228a213dc5 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 31a19b7328 Use mono to invoke Build.UpdateVersion.exe on non-Windows systems. 2010-10-06 15:07:12 +00:00
the_fiddler 27ff0d807f 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 10f8566351 Converted into an actual commandline tool to avoid using custom tasks. 2010-10-06 14:56:11 +00:00
the_fiddler 55f5691eb3 * 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 42f279ffeb Reorganize code for clarity. 2010-10-05 20:52:28 +00:00
the_fiddler 244b3f1881 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 cbeb09ebcb Log error message when a non-existent path is specified. 2010-10-05 20:38:44 +00:00
the_fiddler 8e7c717151 Really delete GlobalAssemblyInfo.cs this time. 2010-10-05 18:59:28 +00:00
the_fiddler f80133a9cd Populate ImageList manually to avoid crash issue when cross-compiling from Mono. 2010-10-05 17:43:33 +00:00
the_fiddler 690a78a7b0 GlobalAssemblyInfo is autogenerated and should not be in version control. 2010-10-05 07:07:47 +00:00
the_fiddler 366960a0b0 Consolidated DateStamp and AssemblyInfo generation. 2010-10-05 07:00:54 +00:00
the_fiddler dd14644f6e Use custom property to select correct Build.Tasks.dll directory. 2010-10-04 23:02:31 +00:00
the_fiddler 9d562fb683 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 7fd64519bd 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 ca1f98a593 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 13a5b1d2b5 Added license information. 2010-10-04 20:49:12 +00:00
the_fiddler e885b26719 Removed unused variable. 2010-10-04 14:52:29 +00:00
the_fiddler 1f143285c2 Added keyfile and strong-named all projects. 2010-10-04 14:39:42 +00:00
the_fiddler 3c04d059e8 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 eee1a236c4 Do not import OpenCL namespace if "EXPERIMENTAL" is not defined. 2010-10-04 08:40:57 +00:00
the_fiddler e70ec921ec Deleted old build system. 2010-10-03 13:25:18 +00:00
the_fiddler d6157456fb Disabled OpenCL bindings (#define EXPERIMENTAL in project options to re-enable). 2010-10-03 13:19:05 +00:00
the_fiddler e10378cd30 Removed app.config file that somehow made it into the csproj. 2010-10-03 12:38:19 +00:00
the_fiddler 10f333c24f 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 45ca126a90 Made Nsis configuration identical to Release. Fixes build from windows terminal. 2010-10-03 09:31:40 +00:00
the_fiddler 579b6a60f6 Fixed incorrect output paths. 2010-10-03 09:25:52 +00:00
the_fiddler 31e558f446 * 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 a4d23d19bc * 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 16009bf9f3 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 1f4b5be7d0 Synced trunk with 1.0 branch. 2010-10-02 18:52:34 +00:00
the_fiddler 3f8f9b09e3 Synced with 1.0 branch. 2010-03-11 22:53:11 +00:00
the_fiddler 803636ea95 Added explicit ActiveUniformParameter enum for GetActiveUniforms function. Fixes issue [#1443]: "GetActiveUniforms parameter name". 2010-02-03 20:43:42 +00:00
the_fiddler 6dcb354854 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 99a3803e8a Backported fix for issue [#1538] from 1.0 branch. 2010-02-03 19:55:09 +00:00
the_fiddler da7e4c7252 Backported bugfixes from 1.0 branch. 2010-02-03 19:04:42 +00:00
kanato ea5b4f9f06 * Platform/MacOS/CarbonGLNative.cs: Fix width/height properties on Mac OS X. 2010-01-11 22:08:00 +00:00
the_fiddler 6d6ad9646a * 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 e8e1c82582 CreateContext should return an ErrorCode, not an int. 2010-01-04 13:23:56 +00:00
the_fiddler 88edd6fa14 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 1e56e462ef Merged GameWindow timing fixes and release documentation from branches/1.0. 2009-11-17 14:54:30 +00:00
the_fiddler 0484fc478b Re-enabled CL10, ES10 and ES11 bindings in trunk. 2009-11-17 10:04:00 +00:00
the_fiddler f5642b91c5 Added BlittableValueType test from branches/1.0. 2009-11-17 10:00:52 +00:00
the_fiddler 6b5ff5ba24 Merged fix for [#1386] from branches/1.0. 2009-11-17 09:59:36 +00:00
the_fiddler 35956701ae Merged fix for [#1098] from branches/1.0. 2009-11-17 09:33:14 +00:00
the_fiddler f12cbf1cd5 Synced trunk with 1.0 branch. 2009-11-16 18:45:41 +00:00
the_fiddler c6ae9ae3fe Applied fix for use of C# 3.0 features from 1.0 branch. 2009-11-11 23:16:42 +00:00
the_fiddler c152a724d6 Synced trunk with the 1.0 beta-1 release. 2009-11-10 09:22:46 +00:00
the_fiddler 2ce4a6ecfd Merged changes from 1.0 branch. 2009-11-10 00:04:11 +00:00
the_fiddler 20216d0d2b * OpenTK/Test/Multithreading.cs: Replaced anonymous delegate by a private function for easier debugging.
Switch to/from fullscreen when Key.Space is pressed.
2009-11-09 19:14:14 +00:00
the_fiddler 089b72c9c8 Protect all Xlib calls with XLockDisplay/XUnlockDisplay. Fixes issue [#1354]: "Application always run in windowed mode when using shared contexts". 2009-11-09 19:05:41 +00:00
the_fiddler d3ba9e61e0 * ImmediateMode.cs: Added missing calls to base.On* events. Removed tabs. 2009-11-09 17:34:24 +00:00
the_fiddler 8af490627f Fixed a large number of recurring spelling mistakes in documentation (patch by iRBiS). Fixes issue [#1341]: "Vector4 constructor describes w component as z component + other spelling corrections". 2009-11-09 08:15:38 +00:00
the_fiddler aedb514b84 Fixed documentation which describes w components as z components (patch by iRBiS). 2009-11-09 08:12:34 +00:00
kanato 62b65af462 MacOS: Hack for AGL to have access to the display device specified when a NativeWindow is created. 2009-11-09 07:50:21 +00:00
kanato 56412367c4 MacOS: Detect display boundaries so created windows are placed in the right spot. 2009-11-09 07:39:38 +00:00
kanato c605a05ffb MacOS: Fix event from user clicking close box to properly report that window doesn't exist anymore. 2009-11-09 07:18:54 +00:00
kanato 017c9e86d0 Mac OS X Fix for GameWindow to call glContext.Update when resized 2009-11-09 06:51:52 +00:00
the_fiddler 959a1e8eb7 Added System.Drawing reference back to QuickStart project (see previous commit). 2009-11-08 23:04:46 +00:00
the_fiddler e35f9d5374 Disabled OpenTK.Point, Size and Rectangle structures that were meant to replace their System.Drawing implementations until the correct course of action can be determined. This change is too disruptive to existing applications, especially if they are also using Windows.Forms (see discussion here: http://www.opentk.com/node/1348). 2009-11-08 23:02:53 +00:00
the_fiddler 0af0916ce0 Don't display window by default, unless "Visible = true" is called. Allows the creation of invisible windows for secondary GraphicsContexts. 2009-11-08 22:46:49 +00:00
the_fiddler e1485cdfca Added a second terminating 0 to attribute list, trying to work around issue [#1352]: "Occasional AccessViolationExceptions when creating the GLControl". 2009-11-08 22:42:20 +00:00
the_fiddler 756cf4aaed Added system-defined colors.
Added and improved constructors (more versatile).
Added ToArgb() method for improved System.Drawing.Color interop.
2009-11-07 19:38:40 +00:00
the_fiddler 1cd2b8d076 Use SHOW command instead of SHOWNORMAL when making a window visible, since SHOWNORMAL will un-maximize a fullscreen or maximized window.
Do not force an invisible window to become visible when modifying its state or borders.
2009-11-07 10:44:31 +00:00
the_fiddler dafcfd6f38 Always set the DisplayDevice.Bounds to a correct value. Fixes issue [#1339]: "DisplayDevice.Bounds not set". 2009-11-07 10:42:25 +00:00