gdk: Get rid of magic special atoms
This commit is contained in:
@@ -59,104 +59,17 @@
|
||||
static GHashTable *names_to_atoms;
|
||||
static GPtrArray *atoms_to_names;
|
||||
|
||||
static const gchar xatoms_string[] =
|
||||
/* These are all the standard predefined X atoms */
|
||||
"NONE\0"
|
||||
"PRIMARY\0"
|
||||
"SECONDARY\0"
|
||||
"ARC\0"
|
||||
"ATOM\0"
|
||||
"BITMAP\0"
|
||||
"CARDINAL\0"
|
||||
"COLORMAP\0"
|
||||
"CURSOR\0"
|
||||
"CUT_BUFFER0\0"
|
||||
"CUT_BUFFER1\0"
|
||||
"CUT_BUFFER2\0"
|
||||
"CUT_BUFFER3\0"
|
||||
"CUT_BUFFER4\0"
|
||||
"CUT_BUFFER5\0"
|
||||
"CUT_BUFFER6\0"
|
||||
"CUT_BUFFER7\0"
|
||||
"DRAWABLE\0"
|
||||
"FONT\0"
|
||||
"INTEGER\0"
|
||||
"PIXMAP\0"
|
||||
"POINT\0"
|
||||
"RECTANGLE\0"
|
||||
"RESOURCE_MANAGER\0"
|
||||
"RGB_COLOR_MAP\0"
|
||||
"RGB_BEST_MAP\0"
|
||||
"RGB_BLUE_MAP\0"
|
||||
"RGB_DEFAULT_MAP\0"
|
||||
"RGB_GRAY_MAP\0"
|
||||
"RGB_GREEN_MAP\0"
|
||||
"RGB_RED_MAP\0"
|
||||
"STRING\0"
|
||||
"VISUALID\0"
|
||||
"WINDOW\0"
|
||||
"WM_COMMAND\0"
|
||||
"WM_HINTS\0"
|
||||
"WM_CLIENT_MACHINE\0"
|
||||
"WM_ICON_NAME\0"
|
||||
"WM_ICON_SIZE\0"
|
||||
"WM_NAME\0"
|
||||
"WM_NORMAL_HINTS\0"
|
||||
"WM_SIZE_HINTS\0"
|
||||
"WM_ZOOM_HINTS\0"
|
||||
"MIN_SPACE\0"
|
||||
"NORM_SPACE\0"
|
||||
"MAX_SPACE\0"
|
||||
"END_SPACE\0"
|
||||
"SUPERSCRIPT_X\0"
|
||||
"SUPERSCRIPT_Y\0"
|
||||
"SUBSCRIPT_X\0"
|
||||
"SUBSCRIPT_Y\0"
|
||||
"UNDERLINE_POSITION\0"
|
||||
"UNDERLINE_THICKNESS\0"
|
||||
"STRIKEOUT_ASCENT\0"
|
||||
"STRIKEOUT_DESCENT\0"
|
||||
"ITALIC_ANGLE\0"
|
||||
"X_HEIGHT\0"
|
||||
"QUAD_WIDTH\0"
|
||||
"WEIGHT\0"
|
||||
"POINT_SIZE\0"
|
||||
"RESOLUTION\0"
|
||||
"COPYRIGHT\0"
|
||||
"NOTICE\0"
|
||||
"FONT_NAME\0"
|
||||
"FAMILY_NAME\0"
|
||||
"FULL_NAME\0"
|
||||
"CAP_HEIGHT\0"
|
||||
"WM_CLASS\0"
|
||||
"WM_TRANSIENT_FOR\0"
|
||||
"CLIPBOARD\0" /* = 69 */;
|
||||
|
||||
static const gint xatoms_offset[] = {
|
||||
0, 5, 13, 23, 27, 32, 39, 48, 57, 64, 76, 88,
|
||||
100, 112, 124, 136, 148, 160, 169, 174, 182, 189, 195, 205,
|
||||
222, 236, 249, 262, 278, 291, 305, 317, 324, 333, 340, 351,
|
||||
360, 378, 391, 404, 412, 428, 442, 456, 466, 477, 487, 497,
|
||||
511, 525, 537, 549, 568, 588, 605, 623, 636, 645, 656, 663,
|
||||
674, 685, 695, 702, 712, 724, 734, 745, 754, 771
|
||||
};
|
||||
|
||||
static void
|
||||
ensure_atom_tables (void)
|
||||
{
|
||||
int i;
|
||||
|
||||
if (names_to_atoms)
|
||||
return;
|
||||
|
||||
names_to_atoms = g_hash_table_new (g_str_hash, g_str_equal);
|
||||
atoms_to_names = g_ptr_array_sized_new (G_N_ELEMENTS (xatoms_offset));
|
||||
atoms_to_names = g_ptr_array_new ();
|
||||
|
||||
for (i = 0; i < G_N_ELEMENTS (xatoms_offset); i++)
|
||||
{
|
||||
g_hash_table_insert(names_to_atoms, (gchar *)xatoms_string + xatoms_offset[i], GINT_TO_POINTER (i));
|
||||
g_ptr_array_add(atoms_to_names, (gchar *)xatoms_string + xatoms_offset[i]);
|
||||
}
|
||||
g_hash_table_insert (names_to_atoms, (gpointer) "NONE", NULL);
|
||||
g_ptr_array_add (atoms_to_names, (gpointer) "NONE");
|
||||
}
|
||||
|
||||
static GdkAtom
|
||||
|
||||
@@ -42,112 +42,112 @@ G_BEGIN_DECLS
|
||||
*
|
||||
* A #GdkAtom representing the `PRIMARY` selection.
|
||||
*/
|
||||
#define GDK_SELECTION_PRIMARY _GDK_MAKE_ATOM (1)
|
||||
#define GDK_SELECTION_PRIMARY gdk_atom_intern_static_string ("PRIMARY")
|
||||
|
||||
/**
|
||||
* GDK_SELECTION_SECONDARY:
|
||||
*
|
||||
* A #GdkAtom representing the `SECONDARY` selection.
|
||||
*/
|
||||
#define GDK_SELECTION_SECONDARY _GDK_MAKE_ATOM (2)
|
||||
#define GDK_SELECTION_SECONDARY gdk_atom_intern_static_string ("SECONDARY")
|
||||
|
||||
/**
|
||||
* GDK_SELECTION_CLIPBOARD:
|
||||
*
|
||||
* A #GdkAtom representing the `CLIPBOARD` selection.
|
||||
*/
|
||||
#define GDK_SELECTION_CLIPBOARD _GDK_MAKE_ATOM (69)
|
||||
#define GDK_SELECTION_CLIPBOARD gdk_atom_intern_static_string ("CLIPBOARD")
|
||||
|
||||
/**
|
||||
* GDK_TARGET_BITMAP:
|
||||
*
|
||||
* A #GdkAtom representing the `BITMAP` selection target.
|
||||
*/
|
||||
#define GDK_TARGET_BITMAP _GDK_MAKE_ATOM (5)
|
||||
#define GDK_TARGET_BITMAP gdk_atom_intern_static_string ("BITMAP")
|
||||
|
||||
/**
|
||||
* GDK_TARGET_COLORMAP:
|
||||
*
|
||||
* A #GdkAtom representing the `COLORMAP` selection target.
|
||||
*/
|
||||
#define GDK_TARGET_COLORMAP _GDK_MAKE_ATOM (7)
|
||||
#define GDK_TARGET_COLORMAP gdk_atom_intern_static_string ("COLORMAP")
|
||||
|
||||
/**
|
||||
* GDK_TARGET_DRAWABLE:
|
||||
*
|
||||
* A #GdkAtom representing the `DRAWABLE` selection target.
|
||||
*/
|
||||
#define GDK_TARGET_DRAWABLE _GDK_MAKE_ATOM (17)
|
||||
#define GDK_TARGET_DRAWABLE gdk_atom_intern_static_string ("DRAWABLE")
|
||||
|
||||
/**
|
||||
* GDK_TARGET_PIXMAP:
|
||||
*
|
||||
* A #GdkAtom representing the `PIXMAP` selection target.
|
||||
*/
|
||||
#define GDK_TARGET_PIXMAP _GDK_MAKE_ATOM (20)
|
||||
#define GDK_TARGET_PIXMAP gdk_atom_intern_static_string ("PIXMAP")
|
||||
|
||||
/**
|
||||
* GDK_TARGET_STRING:
|
||||
*
|
||||
* A #GdkAtom representing the `STRING` selection target.
|
||||
*/
|
||||
#define GDK_TARGET_STRING _GDK_MAKE_ATOM (31)
|
||||
#define GDK_TARGET_STRING gdk_atom_intern_static_string ("STRING")
|
||||
|
||||
/**
|
||||
* GDK_SELECTION_TYPE_ATOM:
|
||||
*
|
||||
* A #GdkAtom representing the `ATOM` selection type.
|
||||
*/
|
||||
#define GDK_SELECTION_TYPE_ATOM _GDK_MAKE_ATOM (4)
|
||||
#define GDK_SELECTION_TYPE_ATOM gdk_atom_intern_static_string ("ATOM")
|
||||
|
||||
/**
|
||||
* GDK_SELECTION_TYPE_BITMAP:
|
||||
*
|
||||
* A #GdkAtom representing the `BITMAP` selection type.
|
||||
*/
|
||||
#define GDK_SELECTION_TYPE_BITMAP _GDK_MAKE_ATOM (5)
|
||||
#define GDK_SELECTION_TYPE_BITMAP gdk_atom_intern_static_string ("BITMAP")
|
||||
|
||||
/**
|
||||
* GDK_SELECTION_TYPE_COLORMAP:
|
||||
*
|
||||
* A #GdkAtom representing the `COLORMAP` selection type.
|
||||
*/
|
||||
#define GDK_SELECTION_TYPE_COLORMAP _GDK_MAKE_ATOM (7)
|
||||
#define GDK_SELECTION_TYPE_COLORMAP gdk_atom_intern_static_string ("COLORMAP")
|
||||
|
||||
/**
|
||||
* GDK_SELECTION_TYPE_DRAWABLE:
|
||||
*
|
||||
* A #GdkAtom representing the `DRAWABLE` selection type.
|
||||
*/
|
||||
#define GDK_SELECTION_TYPE_DRAWABLE _GDK_MAKE_ATOM (17)
|
||||
#define GDK_SELECTION_TYPE_DRAWABLE gdk_atom_intern_static_string ("DRAWABLE")
|
||||
|
||||
/**
|
||||
* GDK_SELECTION_TYPE_INTEGER:
|
||||
*
|
||||
* A #GdkAtom representing the `INTEGER` selection type.
|
||||
*/
|
||||
#define GDK_SELECTION_TYPE_INTEGER _GDK_MAKE_ATOM (19)
|
||||
#define GDK_SELECTION_TYPE_INTEGER gdk_atom_intern_static_string ("INTEGER")
|
||||
|
||||
/**
|
||||
* GDK_SELECTION_TYPE_PIXMAP:
|
||||
*
|
||||
* A #GdkAtom representing the `PIXMAP` selection type.
|
||||
*/
|
||||
#define GDK_SELECTION_TYPE_PIXMAP _GDK_MAKE_ATOM (20)
|
||||
#define GDK_SELECTION_TYPE_PIXMAP gdk_atom_intern_static_string ("PIXMAP")
|
||||
|
||||
/**
|
||||
* GDK_SELECTION_TYPE_WINDOW:
|
||||
*
|
||||
* A #GdkAtom representing the `WINDOW` selection type.
|
||||
*/
|
||||
#define GDK_SELECTION_TYPE_WINDOW _GDK_MAKE_ATOM (33)
|
||||
#define GDK_SELECTION_TYPE_WINDOW gdk_atom_intern_static_string ("WINDOW")
|
||||
|
||||
/**
|
||||
* GDK_SELECTION_TYPE_STRING:
|
||||
*
|
||||
* A #GdkAtom representing the `STRING` selection type.
|
||||
*/
|
||||
#define GDK_SELECTION_TYPE_STRING _GDK_MAKE_ATOM (31)
|
||||
#define GDK_SELECTION_TYPE_STRING gdk_atom_intern_static_string ("STRING")
|
||||
|
||||
/* Selections
|
||||
*/
|
||||
|
||||
@@ -126,7 +126,7 @@ typedef struct _GdkAtom *GdkAtom;
|
||||
* A null value for #GdkAtom, used in a similar way as
|
||||
* `None` in the Xlib API.
|
||||
*/
|
||||
#define GDK_NONE _GDK_MAKE_ATOM (0)
|
||||
#define GDK_NONE ((GdkAtom) 0)
|
||||
|
||||
/* Forward declarations of commonly used types */
|
||||
typedef struct _GdkRGBA GdkRGBA;
|
||||
|
||||
Reference in New Issue
Block a user