Commit graph

6127 commits

Author SHA1 Message Date
thefiddler bee833e712 [Example] Test custom cursor 2014-04-30 09:06:30 +02:00
thefiddler e63970e2be [Mac] Fixed cursor byte order 2014-04-30 09:06:18 +02:00
thefiddler 2632661d8a [OpenTK] Fixed compilation error 2014-04-30 08:45:27 +02:00
thefiddler 965c8baa7f [OpenTK] Renamed x/y to hotx/hoty
The new name matches their functionality closer.
2014-04-30 08:44:48 +02:00
thefiddler 890805f2ae [Platform] Renamed MouseCursor.Rgba to Argb
This matches the default format of System.Drawing.Bitmap.
2014-04-30 08:38:57 +02:00
thefiddler 7d8f14baa7 [Mac] Implement NSCursor rectangles 2014-04-30 08:38:19 +02:00
thefiddler d013ef1868 [Platform] Make MouseCursor actor public 2014-04-30 08:37:34 +02:00
thefiddler 0ed1e8b6d8 [Win] Log wglSwapIntervalEXT errors
Note that we cannot use Marshal.GetLastWin32Error because we are not
using regular DllImports for WGL extensions.
2014-04-29 08:48:49 +02:00
thefiddler f2dc40abdd [OpenTK] Query the driver for VSyncMode getter
Otherwise, the user could call Context.SwapInterval directly, causing
the vsync property to fall out of sync.
2014-04-29 08:31:47 +02:00
thefiddler 3da459b316 [All] Fixed checks for EXT_swap_control_tear
EGL and NSOpenGL do not offer an EXT_swap_control_tear equivalent so
use regular vsync for now. The relevant extension string is now
correctly checked on WGL and GLX.
2014-04-29 08:10:18 +02:00
thefiddler ab6b3c211c [Mac] Removed unused CarbonGLNative.cs 2014-04-28 17:17:34 +02:00
thefiddler 88a60b14c5 [Mac] Remove call to NewEventHandlerUPP
NewEventHandlerUPP fails to load when running through MonoKickstart. It
appears that this function is only used for old PPC systems that had
trouble with function pointers - sample code online indicates that we
do not need to call this.
2014-04-28 16:25:23 +02:00
thefiddler cf3a30d024 [Mac] CGDisplayBounds signature now matches Mac ABI
This resolves a crash in CGDisplayBounds when running through monokick.
2014-04-28 16:25:10 +02:00
thefiddler ffb7bd8a4c Merge branch 'pr/105' into develop 2014-04-28 16:19:17 +02:00
thefiddler 53d2c8d1e8 [Mac] Cmd-Q should raise Closing events
It should also be cancelable.
2014-04-28 16:19:04 +02:00
thefiddler a07a61a003 Merge branch 'thefiddler-cursor' into develop 2014-04-28 09:38:54 +02:00
thefiddler 509f356ed4 [Win] Fixed MouseCursor.Default
It is now possible to switch from a custom cursor back to
MouseCursor.Default.
2014-04-28 09:37:16 +02:00
thefiddler 4f9a2f78d6 Merge branch 'cursor' of https://github.com/thefiddler/opentk into thefiddler-cursor 2014-04-28 07:07:47 +02:00
thefiddler 0f920fb205 [X11] Fixed SGI_swap_control query
GLX can return valid function pointer to unsupported functions.
We need to check for extension support in addition to the
function pointer.

Fixes crash on OpenSUSE 13.1 in VirtualBox.
2014-04-28 01:29:34 +02:00
thefiddler 168713aecf [GL] Added GetPName.Max*ImageUniforms
These tokens were introduced in OpenGL 4.2 and 4.3.
2014-04-27 22:47:04 +02:00
thefiddler c40115e223 [OpenTK] Only init X11 if SDL2 is not used 2014-04-27 22:41:24 +02:00
thefiddler 96b7419d83 [X11] Fixed INativeWindow.Cursor getter 2014-04-27 22:28:10 +02:00
thefiddler d03e9d82dc [Input] Fixed key modifiers in KeyboardDevice events 2014-04-27 22:27:18 +02:00
thefiddler d787656328 [SDL] Fixed cursor support
SDL.CreateColorCursor takes 3 arguments, not 5.
2014-04-27 21:09:51 +02:00
thefiddler 48e21328c5 [Mac] Implement INativeWindow.Cursor 2014-04-27 19:45:20 +02:00
thefiddler 283a785703 [OpenTK] Treat null as MouseCursor.Empty 2014-04-27 19:45:08 +02:00
thefiddler 1d8ef7165f [OpenTK] Disable custom MouseCursors
They require further development, due to byte-order differences between
platforms.

MouseCursor is now derived from WindowIcon, which we will use for
INativeWindow.Icon support in the future, in order to remove the
dependency to System.Drawing.
2014-04-27 19:44:45 +02:00
thefiddler 51567e610c [Examples] Set a predefined cursor on Key.Space
Custom cursor are not enabled for OpenTK 1.1.2. They will be part of
OpenTK 1.1.3.
2014-04-27 19:43:16 +02:00
thefiddler a61d20d2eb [Mac] Stubbed INativeWindow.Cursor 2014-04-27 10:56:08 +02:00
Fraser Waters 2207144aec Fix a bug in X11 CursorVisble with custom cursors.
CursorVisible reset to the default cursor when showing the cursor, it
should instead show the custom cursor if it's defined (else the default
cursor).
2014-04-27 10:53:34 +02:00
Fraser Waters 9ed32e4445 Change bool to IntPtr.
WindowProc returns an IntPtr not a bool, so let Handle* functions return
IntPtr?. If they return a value we return that, if they return null we
call DefWindowProc and return the result from that.
2014-04-27 10:53:34 +02:00
Fraser Waters 9239fd08e3 Custom cursors on X11. 2014-04-27 10:53:33 +02:00
Fraser Waters 6e23a55f35 Add XcursorImageLoadCursor function. 2014-04-27 10:53:33 +02:00
Fraser Waters 4f2658ab79 Make xcursor fields public. 2014-04-27 10:53:33 +02:00
Fraser Waters cb5f354ddc Change xcursor library name. 2014-04-27 10:53:33 +02:00
Fraser Waters cf43b6003c Create and Destroy functions for XcursorImage. 2014-04-27 10:53:33 +02:00
Fraser Waters 52043d5f74 Xcursor types. 2014-04-27 10:53:33 +02:00
Fraser 10112da976 Respond to WM_SETCURSOR messages.
Calling SetCursor on mouse moves is not enough, we need to respond to
SETCURSOR messages. If we have a custom cursor we need to call SetCursor
and then NOT call DefWindowProc, otherwise we just call DefWindowProc
for the forms default cursor.
2014-04-27 10:53:33 +02:00
Fraser 251a6e813e No need for named variable. 2014-04-27 10:53:33 +02:00
Fraser 2bb0f945f9 Copy to correct offset.
Offset into image is y * stride, not y * bpp.
2014-04-27 10:53:33 +02:00
Fraser Waters 5b4f75ab68 Don't hardcode cursor.png path. 2014-04-27 10:53:32 +02:00
Fraser Waters eab7e1ec0d Copy cursor.png to output. 2014-04-27 10:53:32 +02:00
Fraser 8f9311ec8d Partial implementation of Windows MouseCursor.
Very buggy, but starting to show results.
2014-04-27 10:53:32 +02:00
Fraser 0dd82e1485 MouseCursor example.
Small example to show how the MouseCursor class can be used.
2014-04-27 10:53:32 +02:00
Fraser b005b6e542 DestroyIcon function. 2014-04-27 10:53:32 +02:00
Fraser 4fb7a2d5c2 GetCursor function. 2014-04-27 10:53:32 +02:00
Fraser acf47f1ff4 SetCursor function. 2014-04-27 10:53:32 +02:00
Fraser dd75466239 GetIconInfo function. 2014-04-27 10:52:53 +02:00
Fraser f10d8568cb CreateIconIndirect function. 2014-04-27 10:52:53 +02:00
Fraser 6c65e2cdd3 IconInfo structure. 2014-04-27 10:52:53 +02:00