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:
Benjamin Otte 2017-11-02 18:52:35 +01:00
parent b8d3f88ddb
commit a1759a0a52
8 changed files with 9 additions and 230 deletions

View File

@ -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

View File

@ -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);

View File

@ -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",

View File

@ -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
*/

View File

@ -40,7 +40,6 @@ struct _GdkCursor
GObject parent_instance;
GdkDisplay *display;
GdkCursorType type;
};
struct _GdkCursorClass

View File

@ -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;

View File

@ -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);

View File

@ -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;