Commit graph

3490 commits

Author SHA1 Message Date
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 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 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 8f9311ec8d Partial implementation of Windows MouseCursor.
Very buggy, but starting to show results.
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
thefiddler dd55cea489 [All] Initial implementation of INativeWindow.Cursor property
Affects issue #9
2014-04-27 10:52:53 +02:00
thefiddler f545bd512b [SDL2] Implemented cursor APIs
Affects issue #9
2014-04-27 10:52:53 +02:00
thefiddler a6f610dd0c [Core] Added MouseCursor class
This branch marks the beginning of hardware cursor support (affects
issue #9)
2014-04-27 10:52:53 +02:00
Olle Håkansson 160e6ecb31 Added Quit menu item + shortcut (Cmd+Q). 2014-04-27 10:52:28 +02:00
Olle Håkansson a24ce9ba11 Fixed creating contexts without native windows.
To create a context for the GTK GLWidget, you need to be able to
specify the exact NSView you want the OpenGL context to apply to. Also,
you don’t want to initialise the NSApplication in this situation, which
the CocoaContext did before (unintentionally).
2014-04-27 09:58:05 +02:00
thefiddler 6186373df1 [ES][GL] Synced with April Khronos specification 2014-04-27 09:53:22 +02:00
thefiddler a79086bb20 [X11] Set WM_CLASS property
This allows Ubuntu Unity and Gnome Shell to detect and display
the correct application name.
2014-04-26 20:27:00 +02:00
thefiddler 78a6993cec [GL] Only print debug info in debug mode 2014-04-26 19:13:03 +02:00