gtk/gdk
Руслан Ижбулатов 26c24328d5 GDK: Add cursor theme support to W32 backend
Load themed cursors from the same places they are loaded on freedesktop systems,
but use W32 API functions to do so (works for .cur/.ani cursors instead of X
cursors).

Refactor the code for cursor handling. Prefer loading cursors by name.

Do not load actual cursors when loading the theme. Find the files and remember
the arguments/calls for loading them instead. Keeping HCURSOR instance in the
hashmap would result in multiple GdkCursors using the same HCURSOR. Given that
we use DestroyCursor() to off them, this would cause problems (at the very
least - DestroyCursor() would fail).

Store GdkCursor instances in a cache. Update cached cursors when theme changes.

Recognize "system" theme as a special (and default) case. When it is set,
prefer system cursors and fall back to Adwaita cursors and (as a last resort)
built-in X cursors. Otherwise prefer theme cursors and fall back to system and
X cursors.

Force GTK to use "left_ptr" cursor when no cursor is set. Using NULL makes
it use the system default "arrow", which is not the intended behaviour when
a non-system theme is selected.

Ignore cursor size setting and query the OS for the required cursor size, as
Windows (almost) does not allow setting cursors of arbitrary size.

https://bugzilla.gnome.org/show_bug.cgi?id=749287
2015-05-20 08:42:24 +00:00
..
broadway gdkkeys: Add support to _get_scroll_lock_state() 2015-04-27 20:07:52 -03:00
deprecated gdkcolor.h: Use GDK_DEPRECATED_IN_3_14_FOR() throughout 2015-04-17 11:16:30 -05:00
mir mir: handle generic input events 2015-05-06 10:27:03 -04:00
quartz Implemented most of the GDK named cursors on Mac OS X. 2015-05-16 17:11:44 -04:00
wayland wayland: Use on globals closure for loading cursor themes 2015-05-20 11:45:13 +08:00
win32 GDK: Add cursor theme support to W32 backend 2015-05-20 08:42:24 +00:00
x11 X11: Make css cursor names work 2015-05-08 13:34:25 -04:00
COPYING
fallback-c89.c
gdk-autocleanup.h gdk: Add support for g_autoptr() 2015-02-02 09:28:22 +01:00
gdk-private.c gdk: Make debug-updates a per-display setting 2014-11-10 15:23:14 -05:00
gdk-private.h gdk: Make debug-updates a per-display setting 2014-11-10 15:23:14 -05:00
gdk.c Allow overriding WM_CLASS from the command line 2015-05-10 22:40:37 -04:00
gdk.h gdk: Add support for g_autoptr() 2015-02-02 09:28:22 +01:00
gdkapplaunchcontext.c docs: replace all <examples> with markdown headings 2014-02-04 16:58:54 -05:00
gdkapplaunchcontext.h
gdkapplaunchcontextprivate.h
gdkcairo.c gdkcairo: Bail if surface is in error 2015-02-25 01:55:28 +01:00
gdkcairo.h gdk: Add support for OpenGL 2014-10-13 10:43:31 -04:00
gdkconfig.h.win32
gdkconfig.h.win32_broadway
gdkcursor.c docs: Show less ugly X cursors 2015-05-08 14:21:11 -04:00
gdkcursor.h Update docs 2015-05-08 13:34:25 -04:00
gdkcursorprivate.h
gdkdeprecated.c docs: use Returns: consistently 2014-02-19 18:56:05 -05:00
gdkdevice.c device: Add property/getters for vendor/product identifiers 2015-01-19 15:09:19 +01:00
gdkdevice.h device: Add property/getters for vendor/product identifiers 2015-01-19 15:09:19 +01:00
gdkdevicemanager.c gdk: Document the behavior of device grabs on slave devices 2014-07-21 22:16:05 +02:00
gdkdevicemanager.h
gdkdevicemanagerprivate.h
gdkdeviceprivate.h device: Add property/getters for vendor/product identifiers 2015-01-19 15:09:19 +01:00
gdkdisplay.c gdk: Make debug-updates a per-display setting 2014-11-10 15:23:14 -05:00
gdkdisplay.h Make global GDK libgtk_only functions more private 2014-11-08 00:20:15 -05:00
gdkdisplaymanager.c Prefer the Wayland backend 2015-01-17 01:03:10 -05:00
gdkdisplaymanager.h
gdkdisplaymanagerprivate.h
gdkdisplayprivate.h gdk: Make debug-updates a per-display setting 2014-11-10 15:23:14 -05:00
gdkdnd.c gdk: Remove check for source window 2014-09-01 19:17:53 +02:00
gdkdnd.h gdk: Add GDK_DRAG_PROTO_WAYLAND 2014-09-01 19:17:53 +02:00
gdkdndprivate.h
gdkenumtypes.c.template
gdkenumtypes.h.template Fix some oversights with header guards 2014-12-08 19:31:56 -05:00
gdkevents.c Fix an ordering issue in event destruction 2014-11-01 14:44:03 -04:00
gdkevents.h Drop GDK_MULTIHEAD_SAFE 2014-06-11 21:55:15 -04:00
gdkframeclock.c gdk: add many missing (nullable) return value annotations 2014-05-11 11:48:32 -04:00
gdkframeclock.h Fix some oversights with header guards 2014-12-08 19:31:56 -05:00
gdkframeclockidle.c Changed obsolete FSF portal addresses to web address 2014-01-12 19:56:49 +07:00
gdkframeclockidle.h GdkFrameClockIdle: Add a missing declaration 2014-09-05 20:44:22 -04:00
gdkframeclockprivate.h docs: add docs for GtkFrameClock 2014-01-20 18:27:28 -05:00
gdkframetimings.c docs: use proper apostrophe 2014-02-07 13:06:10 -05:00
gdkframetimings.h Fix some oversights with header guards 2014-12-08 19:31:56 -05:00
gdkgl.c Fix some clang warnings 2015-03-22 14:40:57 -04:00
gdkglcontext.c gl: Warn the user if they request a GL context version less than 3.2 2015-03-06 14:02:55 +01:00
gdkglcontext.h Remove GdkGLProfile 2015-02-12 17:51:31 +00:00
gdkglcontextprivate.h gl: Drop GdkGLContextClass.upload_texture() 2015-02-09 19:10:31 +00:00
gdkglobals.c Add GDK_GL env var and GdkGLFlags 2014-11-06 12:24:43 +01:00
gdkinternals.h Resume events when disconnecting from a frame clock 2015-01-30 17:32:58 -05:00
gdkintl.h
gdkkeynames.c
gdkkeys.c gdkkeys: Add support to _get_scroll_lock_state() 2015-04-27 20:07:52 -03:00
gdkkeys.h gdkkeys: Add support to _get_scroll_lock_state() 2015-04-27 20:07:52 -03:00
gdkkeysprivate.h gdkkeys: Add support to _get_scroll_lock_state() 2015-04-27 20:07:52 -03:00
gdkkeysyms-compat.h
gdkkeysyms-update.pl
gdkkeysyms.h
gdkkeyuni.c docs: use Returns: consistently 2014-02-19 18:56:05 -05:00
gdkmain.h Make global GDK libgtk_only functions more private 2014-11-08 00:20:15 -05:00
gdkmarshalers.list
gdkoffscreenwindow.c gdk: don't segfault on beep with offscreen window 2015-04-27 06:26:52 -04:00
gdkpango.c docs: Another round of markup removal 2014-03-29 00:24:15 -04:00
gdkpango.h Drop GDK_MULTIHEAD_SAFE 2014-06-11 21:55:15 -04:00
gdkpixbuf-drawable.c Forgotten file 2014-05-22 09:31:15 -04:00
gdkpixbuf.h
gdkprivate.h
gdkproperty.c Trivial formatting fix 2014-08-30 00:53:21 -04:00
gdkproperty.h
gdkrectangle.c GtkPopover:pointing-to: GdkRectangle instead of cairo_rectangle_int_t 2015-04-21 09:05:26 +02:00
gdkrectangle.h
gdkrgba.c gdk_rgba_parse : do not segfault on null string 2014-09-28 21:18:10 +02:00
gdkrgba.h
gdkscreen.c Improve workarea documentation 2014-09-24 20:34:16 -04:00
gdkscreen.h Revert "Introduce API to get the preferred visual" 2014-02-10 22:15:28 -05:00
gdkscreenprivate.h Handle resolution changes in the GDK backend code 2014-07-13 15:35:23 -04:00
gdkselection.c gdk: assorted introspection and documentation fixes 2014-05-19 11:47:59 -07:00
gdkselection.h Drop GDK_MULTIHEAD_SAFE 2014-06-11 21:55:15 -04:00
gdktestutils.h
gdkthreads.h
gdktypes.h gdk: define GdkRectangle structure for introspection scanning 2015-05-08 11:47:51 +01:00
gdkversionmacros.h.in Start 3.17 development 2015-03-22 02:10:23 -04:00
gdkvisual.c Small doc improvement 2014-09-07 17:14:37 -04:00
gdkvisual.h Drop GDK_MULTIHEAD_SAFE 2014-06-11 21:55:15 -04:00
gdkvisualprivate.h
gdkwindow.c Fix use-after-free in gdk_window_end_paint() 2015-04-30 20:43:18 +00:00
gdkwindow.h gl: Drop profile for gdk_window_create_gl_context() 2015-02-12 12:34:28 +00:00
gdkwindowimpl.c gdkwindow: Provide a default implementation of process_updates_recurse 2014-06-22 10:20:50 -04:00
gdkwindowimpl.h gl: Drop profile for gdk_window_create_gl_context() 2015-02-12 12:34:28 +00:00
gdkx.h
gen-keyname-table.pl
keyname-table.h docs: use proper quotations instead of '*' 2014-02-07 14:22:39 -05:00
keynames-translate.txt
keynames.txt
Makefile.am gdk: Add support for g_autoptr() 2015-02-02 09:28:22 +01:00
makefile.msc