mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-10 02:40:11 +00:00
gdk: Get rid of GdkCursorType
Now that we no longer have API that uses cursor types, don't keep them around.
This commit is contained in:
parent
b8d3f88ddb
commit
a1759a0a52
@ -809,7 +809,6 @@ gdk_owner_change_get_type
|
||||
<TITLE>Cursors</TITLE>
|
||||
<FILE>cursors</FILE>
|
||||
GdkCursor
|
||||
GdkCursorType
|
||||
gdk_cursor_new_from_pixbuf
|
||||
gdk_cursor_new_from_surface
|
||||
gdk_cursor_new_from_name
|
||||
|
@ -111,7 +111,6 @@ _gdk_broadway_display_get_cursor_for_surface (GdkDisplay *display,
|
||||
GdkCursor *cursor;
|
||||
|
||||
private = g_object_new (GDK_TYPE_BROADWAY_CURSOR,
|
||||
"cursor-type", GDK_CURSOR_IS_PIXMAP,
|
||||
"display", display,
|
||||
NULL);
|
||||
cursor = (GdkCursor *) private;
|
||||
@ -126,7 +125,6 @@ _gdk_broadway_display_get_cursor_for_name (GdkDisplay *display,
|
||||
GdkBroadwayCursor *private;
|
||||
|
||||
private = g_object_new (GDK_TYPE_BROADWAY_CURSOR,
|
||||
"cursor-type", GDK_CURSOR_IS_PIXMAP,
|
||||
"display", display,
|
||||
NULL);
|
||||
|
||||
|
@ -65,7 +65,6 @@
|
||||
|
||||
enum {
|
||||
PROP_0,
|
||||
PROP_CURSOR_TYPE,
|
||||
PROP_DISPLAY
|
||||
};
|
||||
|
||||
@ -81,9 +80,6 @@ gdk_cursor_get_property (GObject *object,
|
||||
|
||||
switch (prop_id)
|
||||
{
|
||||
case PROP_CURSOR_TYPE:
|
||||
g_value_set_enum (value, cursor->type);
|
||||
break;
|
||||
case PROP_DISPLAY:
|
||||
g_value_set_object (value, cursor->display);
|
||||
break;
|
||||
@ -103,9 +99,6 @@ gdk_cursor_set_property (GObject *object,
|
||||
|
||||
switch (prop_id)
|
||||
{
|
||||
case PROP_CURSOR_TYPE:
|
||||
cursor->type = g_value_get_enum (value);
|
||||
break;
|
||||
case PROP_DISPLAY:
|
||||
cursor->display = g_value_get_object (value);
|
||||
/* check that implementations actually provide the display when constructing */
|
||||
@ -125,14 +118,6 @@ gdk_cursor_class_init (GdkCursorClass *cursor_class)
|
||||
object_class->get_property = gdk_cursor_get_property;
|
||||
object_class->set_property = gdk_cursor_set_property;
|
||||
|
||||
g_object_class_install_property (object_class,
|
||||
PROP_CURSOR_TYPE,
|
||||
g_param_spec_enum ("cursor-type",
|
||||
P_("Cursor type"),
|
||||
P_("Standard cursor type"),
|
||||
GDK_TYPE_CURSOR_TYPE, GDK_X_CURSOR,
|
||||
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
|
||||
|
||||
g_object_class_install_property (object_class,
|
||||
PROP_DISPLAY,
|
||||
g_param_spec_object ("display",
|
||||
|
176
gdk/gdkcursor.h
176
gdk/gdkcursor.h
@ -39,182 +39,6 @@ G_BEGIN_DECLS
|
||||
#define GDK_CURSOR(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_CURSOR, GdkCursor))
|
||||
#define GDK_IS_CURSOR(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_CURSOR))
|
||||
|
||||
|
||||
/**
|
||||
* GdkCursorType:
|
||||
* @GDK_X_CURSOR: ![](X_cursor.png)
|
||||
* @GDK_ARROW: ![](arrow.png)
|
||||
* @GDK_BASED_ARROW_DOWN: ![](based_arrow_down.png)
|
||||
* @GDK_BASED_ARROW_UP: ![](based_arrow_up.png)
|
||||
* @GDK_BOAT: ![](boat.png)
|
||||
* @GDK_BOGOSITY: ![](bogosity.png)
|
||||
* @GDK_BOTTOM_LEFT_CORNER: ![](bottom_left_corner.png)
|
||||
* @GDK_BOTTOM_RIGHT_CORNER: ![](bottom_right_corner.png)
|
||||
* @GDK_BOTTOM_SIDE: ![](bottom_side.png)
|
||||
* @GDK_BOTTOM_TEE: ![](bottom_tee.png)
|
||||
* @GDK_BOX_SPIRAL: ![](box_spiral.png)
|
||||
* @GDK_CENTER_PTR: ![](center_ptr.png)
|
||||
* @GDK_CIRCLE: ![](circle.png)
|
||||
* @GDK_CLOCK: ![](clock.png)
|
||||
* @GDK_COFFEE_MUG: ![](coffee_mug.png)
|
||||
* @GDK_CROSS: ![](cross.png)
|
||||
* @GDK_CROSS_REVERSE: ![](cross_reverse.png)
|
||||
* @GDK_CROSSHAIR: ![](crosshair.png)
|
||||
* @GDK_DIAMOND_CROSS: ![](diamond_cross.png)
|
||||
* @GDK_DOT: ![](dot.png)
|
||||
* @GDK_DOTBOX: ![](dotbox.png)
|
||||
* @GDK_DOUBLE_ARROW: ![](double_arrow.png)
|
||||
* @GDK_DRAFT_LARGE: ![](draft_large.png)
|
||||
* @GDK_DRAFT_SMALL: ![](draft_small.png)
|
||||
* @GDK_DRAPED_BOX: ![](draped_box.png)
|
||||
* @GDK_EXCHANGE: ![](exchange.png)
|
||||
* @GDK_FLEUR: ![](fleur.png)
|
||||
* @GDK_GOBBLER: ![](gobbler.png)
|
||||
* @GDK_GUMBY: ![](gumby.png)
|
||||
* @GDK_HAND1: ![](hand1.png)
|
||||
* @GDK_HAND2: ![](hand2.png)
|
||||
* @GDK_HEART: ![](heart.png)
|
||||
* @GDK_ICON: ![](icon.png)
|
||||
* @GDK_IRON_CROSS: ![](iron_cross.png)
|
||||
* @GDK_LEFT_PTR: ![](left_ptr.png)
|
||||
* @GDK_LEFT_SIDE: ![](left_side.png)
|
||||
* @GDK_LEFT_TEE: ![](left_tee.png)
|
||||
* @GDK_LEFTBUTTON: ![](leftbutton.png)
|
||||
* @GDK_LL_ANGLE: ![](ll_angle.png)
|
||||
* @GDK_LR_ANGLE: ![](lr_angle.png)
|
||||
* @GDK_MAN: ![](man.png)
|
||||
* @GDK_MIDDLEBUTTON: ![](middlebutton.png)
|
||||
* @GDK_MOUSE: ![](mouse.png)
|
||||
* @GDK_PENCIL: ![](pencil.png)
|
||||
* @GDK_PIRATE: ![](pirate.png)
|
||||
* @GDK_PLUS: ![](plus.png)
|
||||
* @GDK_QUESTION_ARROW: ![](question_arrow.png)
|
||||
* @GDK_RIGHT_PTR: ![](right_ptr.png)
|
||||
* @GDK_RIGHT_SIDE: ![](right_side.png)
|
||||
* @GDK_RIGHT_TEE: ![](right_tee.png)
|
||||
* @GDK_RIGHTBUTTON: ![](rightbutton.png)
|
||||
* @GDK_RTL_LOGO: ![](rtl_logo.png)
|
||||
* @GDK_SAILBOAT: ![](sailboat.png)
|
||||
* @GDK_SB_DOWN_ARROW: ![](sb_down_arrow.png)
|
||||
* @GDK_SB_H_DOUBLE_ARROW: ![](sb_h_double_arrow.png)
|
||||
* @GDK_SB_LEFT_ARROW: ![](sb_left_arrow.png)
|
||||
* @GDK_SB_RIGHT_ARROW: ![](sb_right_arrow.png)
|
||||
* @GDK_SB_UP_ARROW: ![](sb_up_arrow.png)
|
||||
* @GDK_SB_V_DOUBLE_ARROW: ![](sb_v_double_arrow.png)
|
||||
* @GDK_SHUTTLE: ![](shuttle.png)
|
||||
* @GDK_SIZING: ![](sizing.png)
|
||||
* @GDK_SPIDER: ![](spider.png)
|
||||
* @GDK_SPRAYCAN: ![](spraycan.png)
|
||||
* @GDK_STAR: ![](star.png)
|
||||
* @GDK_TARGET: ![](target.png)
|
||||
* @GDK_TCROSS: ![](tcross.png)
|
||||
* @GDK_TOP_LEFT_ARROW: ![](top_left_arrow.png)
|
||||
* @GDK_TOP_LEFT_CORNER: ![](top_left_corner.png)
|
||||
* @GDK_TOP_RIGHT_CORNER: ![](top_right_corner.png)
|
||||
* @GDK_TOP_SIDE: ![](top_side.png)
|
||||
* @GDK_TOP_TEE: ![](top_tee.png)
|
||||
* @GDK_TREK: ![](trek.png)
|
||||
* @GDK_UL_ANGLE: ![](ul_angle.png)
|
||||
* @GDK_UMBRELLA: ![](umbrella.png)
|
||||
* @GDK_UR_ANGLE: ![](ur_angle.png)
|
||||
* @GDK_WATCH: ![](watch.png)
|
||||
* @GDK_XTERM: ![](xterm.png)
|
||||
* @GDK_LAST_CURSOR: last cursor type
|
||||
* @GDK_BLANK_CURSOR: Blank cursor. Since 2.16
|
||||
* @GDK_CURSOR_IS_PIXMAP: type of cursors constructed with
|
||||
* gdk_cursor_new_from_pixbuf()
|
||||
*
|
||||
* Predefined cursors.
|
||||
*
|
||||
* Note that these IDs are directly taken from the X cursor font, and many
|
||||
* of these cursors are either not useful, or are not available on other platforms.
|
||||
*
|
||||
* The recommended way to create cursors is to use gdk_cursor_new_from_name().
|
||||
*/
|
||||
typedef enum
|
||||
{
|
||||
GDK_X_CURSOR = 0,
|
||||
GDK_ARROW = 2,
|
||||
GDK_BASED_ARROW_DOWN = 4,
|
||||
GDK_BASED_ARROW_UP = 6,
|
||||
GDK_BOAT = 8,
|
||||
GDK_BOGOSITY = 10,
|
||||
GDK_BOTTOM_LEFT_CORNER = 12,
|
||||
GDK_BOTTOM_RIGHT_CORNER = 14,
|
||||
GDK_BOTTOM_SIDE = 16,
|
||||
GDK_BOTTOM_TEE = 18,
|
||||
GDK_BOX_SPIRAL = 20,
|
||||
GDK_CENTER_PTR = 22,
|
||||
GDK_CIRCLE = 24,
|
||||
GDK_CLOCK = 26,
|
||||
GDK_COFFEE_MUG = 28,
|
||||
GDK_CROSS = 30,
|
||||
GDK_CROSS_REVERSE = 32,
|
||||
GDK_CROSSHAIR = 34,
|
||||
GDK_DIAMOND_CROSS = 36,
|
||||
GDK_DOT = 38,
|
||||
GDK_DOTBOX = 40,
|
||||
GDK_DOUBLE_ARROW = 42,
|
||||
GDK_DRAFT_LARGE = 44,
|
||||
GDK_DRAFT_SMALL = 46,
|
||||
GDK_DRAPED_BOX = 48,
|
||||
GDK_EXCHANGE = 50,
|
||||
GDK_FLEUR = 52,
|
||||
GDK_GOBBLER = 54,
|
||||
GDK_GUMBY = 56,
|
||||
GDK_HAND1 = 58,
|
||||
GDK_HAND2 = 60,
|
||||
GDK_HEART = 62,
|
||||
GDK_ICON = 64,
|
||||
GDK_IRON_CROSS = 66,
|
||||
GDK_LEFT_PTR = 68,
|
||||
GDK_LEFT_SIDE = 70,
|
||||
GDK_LEFT_TEE = 72,
|
||||
GDK_LEFTBUTTON = 74,
|
||||
GDK_LL_ANGLE = 76,
|
||||
GDK_LR_ANGLE = 78,
|
||||
GDK_MAN = 80,
|
||||
GDK_MIDDLEBUTTON = 82,
|
||||
GDK_MOUSE = 84,
|
||||
GDK_PENCIL = 86,
|
||||
GDK_PIRATE = 88,
|
||||
GDK_PLUS = 90,
|
||||
GDK_QUESTION_ARROW = 92,
|
||||
GDK_RIGHT_PTR = 94,
|
||||
GDK_RIGHT_SIDE = 96,
|
||||
GDK_RIGHT_TEE = 98,
|
||||
GDK_RIGHTBUTTON = 100,
|
||||
GDK_RTL_LOGO = 102,
|
||||
GDK_SAILBOAT = 104,
|
||||
GDK_SB_DOWN_ARROW = 106,
|
||||
GDK_SB_H_DOUBLE_ARROW = 108,
|
||||
GDK_SB_LEFT_ARROW = 110,
|
||||
GDK_SB_RIGHT_ARROW = 112,
|
||||
GDK_SB_UP_ARROW = 114,
|
||||
GDK_SB_V_DOUBLE_ARROW = 116,
|
||||
GDK_SHUTTLE = 118,
|
||||
GDK_SIZING = 120,
|
||||
GDK_SPIDER = 122,
|
||||
GDK_SPRAYCAN = 124,
|
||||
GDK_STAR = 126,
|
||||
GDK_TARGET = 128,
|
||||
GDK_TCROSS = 130,
|
||||
GDK_TOP_LEFT_ARROW = 132,
|
||||
GDK_TOP_LEFT_CORNER = 134,
|
||||
GDK_TOP_RIGHT_CORNER = 136,
|
||||
GDK_TOP_SIDE = 138,
|
||||
GDK_TOP_TEE = 140,
|
||||
GDK_TREK = 142,
|
||||
GDK_UL_ANGLE = 144,
|
||||
GDK_UMBRELLA = 146,
|
||||
GDK_UR_ANGLE = 148,
|
||||
GDK_WATCH = 150,
|
||||
GDK_XTERM = 152,
|
||||
GDK_LAST_CURSOR,
|
||||
GDK_BLANK_CURSOR = -2,
|
||||
GDK_CURSOR_IS_PIXMAP = -1
|
||||
} GdkCursorType;
|
||||
|
||||
/* Cursors
|
||||
*/
|
||||
|
||||
|
@ -40,7 +40,6 @@ struct _GdkCursor
|
||||
GObject parent_instance;
|
||||
|
||||
GdkDisplay *display;
|
||||
GdkCursorType type;
|
||||
};
|
||||
|
||||
struct _GdkCursorClass
|
||||
|
@ -346,7 +346,6 @@ _gdk_wayland_display_get_cursor_for_name_with_scale (GdkDisplay *display,
|
||||
return GDK_CURSOR (g_object_ref (private));
|
||||
|
||||
private = g_object_new (GDK_TYPE_WAYLAND_CURSOR,
|
||||
"cursor-type", GDK_CURSOR_IS_PIXMAP,
|
||||
"display", display,
|
||||
NULL);
|
||||
|
||||
@ -407,7 +406,6 @@ _gdk_wayland_display_get_cursor_for_surface (GdkDisplay *display,
|
||||
cairo_t *cr;
|
||||
|
||||
cursor = g_object_new (GDK_TYPE_WAYLAND_CURSOR,
|
||||
"cursor-type", GDK_CURSOR_IS_PIXMAP,
|
||||
"display", display_wayland,
|
||||
NULL);
|
||||
cursor->name = NULL;
|
||||
|
@ -539,7 +539,6 @@ cursor_new_from_hcursor (GdkDisplay *display,
|
||||
GdkCursor *cursor;
|
||||
|
||||
private = g_object_new (GDK_TYPE_WIN32_CURSOR,
|
||||
"cursor-type", cursor_type,
|
||||
"display", display,
|
||||
NULL);
|
||||
|
||||
|
@ -72,7 +72,6 @@ static GSList* cursor_cache = NULL;
|
||||
struct cursor_cache_key
|
||||
{
|
||||
GdkDisplay* display;
|
||||
GdkCursorType type;
|
||||
const char* name;
|
||||
};
|
||||
|
||||
@ -98,33 +97,25 @@ cache_compare_func (gconstpointer listelem,
|
||||
GdkX11Cursor* cursor = (GdkX11Cursor*)listelem;
|
||||
struct cursor_cache_key* key = (struct cursor_cache_key*)target;
|
||||
|
||||
if ((cursor->cursor.type != key->type) ||
|
||||
(gdk_cursor_get_display (GDK_CURSOR (cursor)) != key->display))
|
||||
if (gdk_cursor_get_display (GDK_CURSOR (cursor)) != key->display)
|
||||
return 1; /* No match */
|
||||
|
||||
/* Elements marked as pixmap must be named cursors
|
||||
* (since we don't store normal pixmap cursors
|
||||
*/
|
||||
if (key->type == GDK_CURSOR_IS_PIXMAP)
|
||||
return strcmp (key->name, cursor->name);
|
||||
|
||||
return 0; /* Match */
|
||||
return strcmp (key->name, cursor->name);
|
||||
}
|
||||
|
||||
/* Returns the cursor if there is a match, NULL if not
|
||||
* For named cursors type shall be GDK_CURSOR_IS_PIXMAP
|
||||
* For unnamed, typed cursors, name shall be NULL
|
||||
*/
|
||||
static GdkX11Cursor*
|
||||
find_in_cache (GdkDisplay *display,
|
||||
GdkCursorType type,
|
||||
const char *name)
|
||||
{
|
||||
GSList* res;
|
||||
struct cursor_cache_key key;
|
||||
|
||||
key.display = display;
|
||||
key.type = type;
|
||||
key.name = name;
|
||||
|
||||
res = g_slist_find_custom (cursor_cache, &key, cache_compare_func);
|
||||
@ -279,7 +270,7 @@ gdk_x11_cursor_get_surface (GdkCursor *cursor,
|
||||
GdkDisplay *display;
|
||||
Display *xdisplay;
|
||||
GdkX11Cursor *private;
|
||||
XcursorImages *images = NULL;
|
||||
XcursorImages *images;
|
||||
XcursorImage *image;
|
||||
gint size;
|
||||
cairo_surface_t *surface;
|
||||
@ -294,13 +285,10 @@ gdk_x11_cursor_get_surface (GdkCursor *cursor,
|
||||
size = XcursorGetDefaultSize (xdisplay);
|
||||
theme = XcursorGetTheme (xdisplay);
|
||||
|
||||
if (cursor->type == GDK_CURSOR_IS_PIXMAP)
|
||||
{
|
||||
if (private->name)
|
||||
images = XcursorLibraryLoadImages (private->name, theme, size);
|
||||
}
|
||||
if (private->name)
|
||||
images = XcursorLibraryLoadImages (private->name, theme, size);
|
||||
else
|
||||
images = XcursorShapeLoadImages (cursor->type, theme, size);
|
||||
images = NULL;
|
||||
|
||||
if (!images)
|
||||
return NULL;
|
||||
@ -355,16 +343,8 @@ _gdk_x11_cursor_update_theme (GdkCursor *cursor)
|
||||
|
||||
if (private->xcursor != None)
|
||||
{
|
||||
if (cursor->type == GDK_BLANK_CURSOR)
|
||||
return;
|
||||
|
||||
if (cursor->type == GDK_CURSOR_IS_PIXMAP)
|
||||
{
|
||||
if (private->name)
|
||||
new_cursor = XcursorLibraryLoadCursor (xdisplay, private->name);
|
||||
}
|
||||
else
|
||||
new_cursor = XcursorShapeLoadCursor (xdisplay, cursor->type);
|
||||
if (private->name)
|
||||
new_cursor = XcursorLibraryLoadCursor (xdisplay, private->name);
|
||||
|
||||
if (new_cursor != None)
|
||||
{
|
||||
@ -549,7 +529,6 @@ _gdk_x11_display_get_cursor_for_surface (GdkDisplay *display,
|
||||
}
|
||||
|
||||
private = g_object_new (GDK_TYPE_X11_CURSOR,
|
||||
"cursor-type", GDK_CURSOR_IS_PIXMAP,
|
||||
"display", display,
|
||||
NULL);
|
||||
private->xcursor = xcursor;
|
||||
@ -632,7 +611,7 @@ _gdk_x11_display_get_cursor_for_name (GdkDisplay *display,
|
||||
}
|
||||
else
|
||||
{
|
||||
private = find_in_cache (display, GDK_CURSOR_IS_PIXMAP, name);
|
||||
private = find_in_cache (display, name);
|
||||
|
||||
if (private)
|
||||
{
|
||||
@ -664,7 +643,6 @@ _gdk_x11_display_get_cursor_for_name (GdkDisplay *display,
|
||||
}
|
||||
|
||||
private = g_object_new (GDK_TYPE_X11_CURSOR,
|
||||
"cursor-type", GDK_CURSOR_IS_PIXMAP,
|
||||
"display", display,
|
||||
NULL);
|
||||
private->xcursor = xcursor;
|
||||
@ -728,7 +706,6 @@ gdk_cursor_new_from_pixmap (GdkDisplay *display,
|
||||
xcursor = XCreatePixmapCursor (GDK_DISPLAY_XDISPLAY (display),
|
||||
source_pixmap, mask_pixmap, &xfg, &xbg, x, y);
|
||||
private = g_object_new (GDK_TYPE_X11_CURSOR,
|
||||
"cursor-type", GDK_CURSOR_IS_PIXMAP,
|
||||
"display", display,
|
||||
NULL);
|
||||
private->xcursor = xcursor;
|
||||
|
Loading…
Reference in New Issue
Block a user