Commit graph

102 commits

Author SHA1 Message Date
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