the_fiddler
452d8924e6
Minor cosmetic fixes. Removed unused code.
2010-11-08 21:36:10 +00:00
the_fiddler
d65e0aad47
Release both shift keys when one is released. Otherwise, we end up with stuck keys.
2010-11-08 08:59:32 +00:00
the_fiddler
2934c9d004
Decoupled new driver API from old public interface.
...
WinRawMouse can now detect mouse disconnection/connection events.
2010-10-29 11:27:40 +00:00
the_fiddler
c99571acac
Fixed capacity parameter for GetWindowText(). Fixed debug string format that is printed when GetWindowText() fails.
2010-10-28 10:36:28 +00:00
the_fiddler
a070918e93
Removed events that are not part of the INativeWindow interface.
2010-10-28 09:34:13 +00:00
the_fiddler
e13a8e25ae
Added code to raise all available events. Removed unused events from old OpenTK versions. Fixed potential race condition when raising events (an event might become null between the null check and the actual raising).
2010-10-28 09:31:00 +00:00
the_fiddler
40c2576e06
Avoid numeric overflow when printing debug message.
2010-10-28 08:42:20 +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
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
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
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
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
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
da7e4c7252
Backported bugfixes from 1.0 branch.
2010-02-03 19:04:42 +00:00
the_fiddler
f12cbf1cd5
Synced trunk with 1.0 branch.
2009-11-16 18:45:41 +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
b36e6c64d7
Refactored timer installation/removal into their own methods.
2009-11-04 18:35:32 +00:00
the_fiddler
9f96fe71c1
Removed unnecessary debugging messages from main loop.
2009-11-04 10:03:50 +00:00
the_fiddler
765f54917e
Default window style flags can be constants rather than static readonly fields.
...
Throw an exception if we fail to register the window class, the previous solution (check for "class already exists" error) was a workaround for a threading issue that has been solved.
Set the small icon when registering the class.
2009-11-04 09:21:41 +00:00
the_fiddler
15ab0d3ea7
Fixed ClassName and ModalLoopTimerId when constructing multiple WinGLNative windows in parallel.
...
WinGLNative windows are now correctly focused when clicked on the client area.
2009-11-03 23:42:06 +00:00
the_fiddler
c8c652131e
Added experimental Icon and IconConverter implementations from Mono.
...
Modified INativeWindow implementations to not qualify Icon class fully, so we can change the implementation between System.Drawing and OpenTK at will (using the EXPERIMENTAL #define).
2009-11-02 09:33:53 +00:00
the_fiddler
ff572e83b7
Added experimental OpenTK.Point/Size/Rectangle alternatives to System.Drawing, to make OpenTK usable without referencing System.Drawing (disabled by default, #define EXPERIMENTAL to test). Modified a number of using directives and namespace qualifiers to accommodate this change.
2009-11-01 12:44:38 +00:00
the_fiddler
3d0a3dfb4e
Implemented INativeWindow.MouseEnter/MouseLeave events on Win32 and X11.
2009-10-27 23:57:44 +00:00
the_fiddler
a7ccef9ae8
Set default class cursor to avoid invalid cursors when entering the window.
2009-10-21 20:08:04 +00:00
the_fiddler
25c646639b
Trap WM_SYSCHAR to avoid generating system beeps on Alt+[Key] combinations.
2009-10-20 11:35:35 +00:00
the_fiddler
ddcf5f6e44
Revert WindowBorder and WindowState value changes.
...
Use Nullable types to detect when WindowBorder and WindowState is not set.
2009-10-19 21:32:33 +00:00
the_fiddler
e551881f1b
Implemented icon support.
2009-10-18 16:52:07 +00:00
the_fiddler
76ae6999cd
Focused property now returns correct values. FocusedChanged event is now correctly raised.
2009-10-18 15:11:41 +00:00
the_fiddler
590789a684
Improved handling if WindowBorder changes when the window is WindowState is Maximized or Fullscreen. Maximized windows now correctly retain their maximized state, while fullscreen windows do not become non-fullscreen when their border is modified.
2009-10-18 14:56:53 +00:00
the_fiddler
6be563211f
* API.cs: added MonitorFromWindow/MonitorFromPoint methods.
...
* WinGLNative.cs: fixed handling of WindowState.Maximized when WindowBorder is Hidden.
WindowStateChanged events are now correctly raised on all state changes.
2009-10-18 09:42:41 +00:00
the_fiddler
c5464bc5d0
Do not print window title to debug stream inside the set_Title property. Instead, log an error only when the method call fails. Fixes issue [ #1239 ]: "Debug.Print in Title property".
2009-10-17 22:02:08 +00:00
the_fiddler
4abe4416a8
Added LoadIcon method.
...
Made SHFILEINFO non-public.
Modified WinGLNative.cs to use Icon.ExctractAssociatedIcon() to set the application icon (needs work).
2009-10-14 22:48:19 +00:00
the_fiddler
ef1a4488d0
Added support for setting the application (use SHGetFileInfo to retrieve the correct icon and set it when constructing a new window).
2009-10-14 21:50:40 +00:00
the_fiddler
973839ef2b
Restore previous window size when leaving fullscreen mode.
2009-10-14 19:46:39 +00:00
the_fiddler
d76279565f
Workaround for modal loop blocking in ENTERMENULOOP event.
2009-10-12 13:15:12 +00:00
the_fiddler
ab138bfb37
Post a close message instead of destroying the window outright, when the user calls the Close() method. Ensures that the user can stop the exit sequence through the IsClosing event.
2009-10-07 16:18:48 +00:00
the_fiddler
e441e9d067
Generate Update/ResizeFrame events whenever the window is moved or resized. Partially fix for issue [ #1218 ]: "[NativeWindow] Avoid modal loop during window resize/movement".
2009-10-07 15:18:53 +00:00
the_fiddler
a6984a7a48
Added timer callback to WM_ENTERSIZEMOVE messages to avoid stalling the rendering during the modal size/move loop (which occurs when the user clicks the window bar or borders). Still need to find a way to notify the frontend (GameWindow) to process queued up UpdateFrame/RenderFrame events.
2009-10-07 13:07:36 +00:00
the_fiddler
69cfe6b56a
Raise KeyPress events (handle WindowsMessage.CHAR message).
2009-09-26 21:56:42 +00:00
the_fiddler
87683d533e
Renamed IsWindowVisisble to the correct IsWindowVisible.
2009-09-19 20:30:12 +00:00
the_fiddler
76e338ce5e
Removed obsolete comment.
2009-09-08 16:55:41 +00:00
the_fiddler
542144ac7c
Construct windows invisible by default. Use 'Visible = true' or 'GameWindow.Run' to display them.
2009-09-08 13:04:22 +00:00
the_fiddler
1bcc012f35
Implemented INativeWindow.WindowBorderChanged and INativeWindow.WindowStateChanged events.
2009-08-17 09:34:15 +00:00
the_fiddler
67bdd39d08
Added INativeWindow.CreateKeyboardDriver()
...
Added INativeWindow.KeyPress event (KeyPressEventArgs).
Removed INativeWindow.Icon property.
2009-07-19 17:49:51 +00:00
the_fiddler
f46e9b1564
Removed obsolete code.
...
Implemented X11GLNative.IconChanged event.
2009-06-24 14:42:40 +00:00
the_fiddler
7df9a448d6
Merged gw-next2 branch to trunk.
2009-06-02 15:49:39 +00:00
the_fiddler
c02b693062
Added initial support for GameWindow.PointToClient.
2009-05-07 19:48:22 +00:00
the_fiddler
0759beaebf
Added new GameWindow constructors that specify the desired GraphicsContext (OpenGL) version and flags.
2009-03-07 10:49:32 +00:00
the_fiddler
69b17fa43f
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
c6f5131491
Fixed SetWindowPos function (IntPtr instead of int parameter).
...
Add NcCalcSizeOptions enum.
2009-02-13 21:45:50 +00:00
the_fiddler
44b3a10794
Removed call to Console.WriteLine when changing WindowState.
2008-12-09 21:26:48 +00:00
the_fiddler
6edd78879d
Fixed build warnings.
2008-12-09 10:06:25 +00:00
the_fiddler
7164e4596b
Added a work around for the "stuck cursor" issue, where the mouse cursor would stay at the resize state when entering the GameWindow.
2008-05-04 19:09:18 +00:00
the_fiddler
3d07e2597f
Normalized line endings.
2008-05-03 16:34:39 +00:00
the_fiddler
6f1c9b6daf
Minor stylistic change (word wrap at 120 characters).
2008-04-25 21:02:54 +00:00
the_fiddler
2d4d4b922e
Completed implementation of WindowBorder and WindowState properties.
2008-04-21 20:18:39 +00:00
the_fiddler
c5731cb986
Completed WindowBorder and WindowState implementation.
2008-04-21 18:36:16 +00:00
the_fiddler
d94643c6f2
Added WindowState and WindowBorder support on Windows. Removed GameWindow.Fullscreen property. Removed some chunks of unused code.
2008-04-20 17:54:16 +00:00
the_fiddler
a90a6c6e3d
Added stub for WindowState.
2008-04-13 21:32:04 +00:00
the_fiddler
223c742648
Renamed ColorDepth to ColorFormat, to avoid class with System.Drawing.ColorDepth.
...
Update X11 stack to use System.Windows.Forms.XPlatUI for its Display, Screen and RootWindow.
Fixed mode setting for X11GLControl.
Fixed X11 shutdown (was generating X11 errors).
Added DeviceContext getter to WinWindowInfo.
Made IWindowInfo disposable.
Added documentation to many public methods.
Worked around a Mono 1.2.4 bug with Handle creation on Windows.Forms.Control.
Updated GL.BuildExtensionList to correctly parse GL_VERSION when in indirect rendering mode.
Fixed crash errors in X11GLContext.CreateContext and X11GraphicsMode.
Added a ref overload to Glx.ChooseVisual()
IGraphicsContext.MakeCurrent now takes an IWindowInfo parameter. This allows the user to change to window is context is bound to (untested).
Renamed XyzWindowInfo.Handle to XyzWindowInfo.WindowHandle.
2008-03-03 12:44:56 +00:00
the_fiddler
e477631ad7
Major update: fixed context construction on X11.
...
Fixed vsync on X11.
Updated GraphicsContext interface, for better extensibility. Some public functions were moved to IGraphicsContextInternal.
Renamed DisplayDevice.PrimaryDisplay to DisplayDevice.Default.
Updated and documented new GameWindow constructors.
Improved GameWindow.Exit, added GameWindow.ExitAsync() and improved error handling.
Improved GraphicsContext and NativeGLWindow APIs (construction in constructor).
Made ContextHandle public.
2008-03-01 13:15:31 +00:00
the_fiddler
c89abaee72
Renamed GraphicsFormat to GraphicsMode.
2008-02-28 15:28:40 +00:00
the_fiddler
9abcb5d92e
Updated to use new IWindowInfo interface.
...
Updated to use GraphicsFormat instead of DisplayMode.
Updated to use ColorDepth instead of ColorMode.
Improved GameWindow Exit handling, and handling of failed context creation.
Improved WinGLContext creation code, to allow for FSAA support in the future.
Fixed several shutdown bugs in WinGLContext and GraphicsContext.
Context creation no longer relies on IGLContextCreationHack.
X11GLContext is not working at the moment.
2008-02-28 13:57:07 +00:00
the_fiddler
4fe6d37770
Completed move of OpenTK.OpenGL to OpenTK.Graphics.OpenGL.
2008-02-02 00:58:26 +00:00
the_fiddler
5b9991cba3
Moved and renamed OpenTK.GLContext to OpenTK.Graphics.GraphicsContext.
2008-01-31 14:39:54 +00:00
the_fiddler
1932e25689
Renamed IGLContext to IGraphicsContext.
2008-01-31 13:17:42 +00:00
the_fiddler
5c6a261030
Added setter to GLContext.CurrentContext and all implementations, so that the user can clear the context of any thread.
...
Updated GameWindow and its implementations to use GraphicsFormat instead of the obsolete DisplayMode.
Updated license.
Updated some docs.
Fixed CLSCopmliant warnings in XRamExtension.cs
2008-01-31 13:15:17 +00:00
the_fiddler
0af1e98a56
Fixed fullscreen mode size.
2008-01-27 15:59:43 +00:00
the_fiddler
e17439384b
Fullscreen mode changes now work!
2008-01-24 12:36:40 +00:00
the_fiddler
d1f2d7b33e
Updated everything to use plain (int width, int height parameters) instead of DisplayMode.Width/.Height.
2008-01-23 14:17:09 +00:00
the_fiddler
99b2c90b8e
Don't use obsolete DisplayMode.Width/Height anymore.
2008-01-23 13:26:14 +00:00
the_fiddler
a2673bf5ff
Changed the INativeGLWindow.CreateWindow interface to return an IGLContext instead of a GLContext.
2008-01-15 10:48:48 +00:00
the_fiddler
4a5b8e81d8
Refactored context creation to be done inside the *GLNative classes, instead of the GameWindow class. Should refactor in the next version.
2008-01-15 10:31:03 +00:00
the_fiddler
1aa19633f9
Fixed window destruction.
2008-01-15 00:10:56 +00:00
the_fiddler
cc3239d466
Set window on top during creation.
2008-01-15 00:02:58 +00:00
the_fiddler
935db198ea
Fixed a GameWindow exit bug, where the GameWindow didn't send the destroy message on GameWindow.Exit().
2008-01-14 23:43:56 +00:00
the_fiddler
f50c0b06c2
Now uses GLContext directly, instead of WinGLContext.
2008-01-11 20:24:20 +00:00
the_fiddler
3fbd780097
Added PointToClient and PointToScreen functions. Changed default input driver implementation from RawInput to WMInput due to invalid RawInput data.
2008-01-06 02:25:56 +00:00
the_fiddler
938b2b8519
Hooks for garbage-collectable OpenGL resources.
...
the [...]GLNative classes now use GLContext instead of the platform-specific [...]GLContext implementations.
Updated the IGLContext interface with functions to query the current context.
2007-12-09 18:15:51 +00:00
the_fiddler
815eb7ef55
Fixed shutdown sequence in Windows, so that GameWindow.Exit() and pressing the 'close' button behave the same.
2007-11-11 20:23:25 +00:00
the_fiddler
25946dc406
Reverted to 0.3.12 way of handling input events.
2007-11-10 18:25:33 +00:00
the_fiddler
eac6aaa72a
Corrected a few warnings.
2007-11-06 13:35:40 +00:00
the_fiddler
c8f6708acc
Removed the InputDriver from the INativeGLWindow interface. It now resides lower, in the GameWindow class.
2007-10-19 20:00:45 +00:00
the_fiddler
fa5e22da79
Removed loading of GL and Glu functions. This now happens lower in the hierarchy, inside GameWindow.
2007-10-15 11:06:58 +00:00
the_fiddler
6f3e74b688
Added TODO caption to Visible property.
2007-09-26 15:44:32 +00:00
the_fiddler
8026e15c5b
Implemented Visible and Title properties.
2007-09-26 11:55:55 +00:00
the_fiddler
42c1affe34
Added X11 Mouse support. X11 Keyboard support is faster now.
...
Made GameWindow.Dispose() virtual.
2007-09-25 16:45:12 +00:00
the_fiddler
c1fa34087c
Decoupled GLContext from GLControl/GameWindow even more, by using IWindowInfo to pass data between them.
...
Implemented the IWindowInfo.GetInfoFrom methods.
Removed said methods from OpenTK/Platform/Utilities.
2007-09-09 11:52:09 +00:00
the_fiddler
45a0efd9d1
Removed redudant GL.LoadAll call in WinGLNative
...
Added Glu.LoadAll call to GLControl.cs
2007-09-02 23:04:11 +00:00
the_fiddler
a813684176
Merged with Bind. Added GLU bindings. Corrected OpenGL overload trimming.
2007-09-02 22:52:00 +00:00
the_fiddler
b89d2231d4
Changed API.* to * in order to reflect changes in OpenTK.Platform.Windows.API.
...
Improved Disposable pattern implementation in most Windows classes.
2007-09-02 00:16:22 +00:00
the_fiddler
794ba2fa41
Corrected a couple of compiler warnings.
2007-08-31 16:10:38 +00:00
the_fiddler
6ae06d82bd
Added IDisposable to all input drivers.
...
Updated Cube.cs to use System.Drawing.Colors.
Improved DefRawInputProc in windows API.cs
2007-08-22 00:30:16 +00:00
the_fiddler
df70c0c531
Corrected a bug where GL.LoadAll wasn't called on time in X11GLNative.
...
Moved MakeCurrent call to X11GLNative and WinGLNative, instead of GameWindow.
2007-08-21 12:21:01 +00:00
the_fiddler
7cf8aa3d95
Added AdjustWindowRect to Windows.API. The client are in WinGLNative is now correctly specified.
2007-08-21 12:04:01 +00:00
the_fiddler
2254388903
Merged with bind branch.
2007-08-20 12:25:48 +00:00