[gtk+/wip/matthiasc/settings: 3/4] Add private api for setting cursor theme
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/wip/matthiasc/settings: 3/4] Add private api for setting cursor theme
- Date: Fri, 17 Nov 2017 22:57:14 +0000 (UTC)
commit c2f6208ce546da5e5585616f49af7753f3cce2b4
Author: Matthias Clasen <mclasen redhat com>
Date: Fri Nov 17 17:42:12 2017 -0500
Add private api for setting cursor theme
This is implemented in multiple gdk backends,
and we can avoid and ugly ifdef cascade in gtk
by adding a vfunc for this.
gdk/gdk-private.h | 3 +++
gdk/gdkdisplay.c | 9 +++++++++
gdk/gdkdisplayprivate.h | 3 +++
gdk/wayland/gdkdisplay-wayland.c | 1 +
gdk/win32/gdkdisplay-win32.c | 1 +
gdk/x11/gdkdisplay-x11.c | 1 +
6 files changed, 18 insertions(+), 0 deletions(-)
---
diff --git a/gdk/gdk-private.h b/gdk/gdk-private.h
index 179da76..0ebbc9d 100644
--- a/gdk/gdk-private.h
+++ b/gdk/gdk-private.h
@@ -45,5 +45,8 @@ void gdk_display_set_double_click_time (GdkDisplay *display,
guint msec);
void gdk_display_set_double_click_distance (GdkDisplay *display,
guint distance);
+void gdk_display_set_cursor_theme (GdkDisplay *display,
+ const char *theme,
+ int size);
#endif /* __GDK__PRIVATE_H__ */
diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c
index 5232fe3..39e9884 100644
--- a/gdk/gdkdisplay.c
+++ b/gdk/gdkdisplay.c
@@ -2038,3 +2038,12 @@ gdk_display_set_double_click_distance (GdkDisplay *display,
{
display->double_click_distance = distance;
}
+
+void
+gdk_display_set_cursor_theme (GdkDisplay *display,
+ const char *name,
+ int size)
+{
+ if (GDK_DISPLAY_GET_CLASS (display)->set_cursor_theme)
+ GDK_DISPLAY_GET_CLASS (display)->set_cursor_theme (display, name, size);
+}
diff --git a/gdk/gdkdisplayprivate.h b/gdk/gdkdisplayprivate.h
index d35f484..9c5dac2 100644
--- a/gdk/gdkdisplayprivate.h
+++ b/gdk/gdkdisplayprivate.h
@@ -220,6 +220,9 @@ struct _GdkDisplayClass
const char *name,
GValue *value);
guint32 (*get_last_seen_time) (GdkDisplay *display);
+ void (*set_cursor_theme) (GdkDisplay *display,
+ const char *name,
+ int size);
/* Signals */
void (*opened) (GdkDisplay *display);
diff --git a/gdk/wayland/gdkdisplay-wayland.c b/gdk/wayland/gdkdisplay-wayland.c
index c6063ea..950b0d5 100644
--- a/gdk/wayland/gdkdisplay-wayland.c
+++ b/gdk/wayland/gdkdisplay-wayland.c
@@ -1041,6 +1041,7 @@ gdk_wayland_display_class_init (GdkWaylandDisplayClass *class)
display_class->get_monitor = gdk_wayland_display_get_monitor;
display_class->get_monitor_at_window = gdk_wayland_display_get_monitor_at_window;
display_class->get_setting = gdk_wayland_display_get_setting;
+ display_class->set_cursor_theme = gdk_wayland_display_set_cursor_theme;
}
static void
diff --git a/gdk/win32/gdkdisplay-win32.c b/gdk/win32/gdkdisplay-win32.c
index 4643f16..b13e6b7 100644
--- a/gdk/win32/gdkdisplay-win32.c
+++ b/gdk/win32/gdkdisplay-win32.c
@@ -1273,6 +1273,7 @@ gdk_win32_display_class_init (GdkWin32DisplayClass *klass)
display_class->get_setting = gdk_win32_display_get_setting;
display_class->get_last_seen_time = gdk_win32_display_get_last_seen_time;
+ display_class->set_cursor_theme = gdk_win32_display_set_cursor_theme;
_gdk_win32_windowing_init ();
}
diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c
index 4e022c6..245df4a 100644
--- a/gdk/x11/gdkdisplay-x11.c
+++ b/gdk/x11/gdkdisplay-x11.c
@@ -3222,6 +3222,7 @@ gdk_x11_display_class_init (GdkX11DisplayClass * class)
display_class->get_primary_monitor = gdk_x11_display_get_primary_monitor;
display_class->get_setting = gdk_x11_display_get_setting;
display_class->get_last_seen_time = gdk_x11_display_get_last_seen_time;
+ display_class->set_cursor_theme = gdk_x11_display_set_cursor_theme;
_gdk_x11_windowing_init ();
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]