summaryrefslogtreecommitdiff
path: root/gdk/x11
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@redhat.com>2001-09-07 21:50:20 +0000
committerOwen Taylor <otaylor@src.gnome.org>2001-09-07 21:50:20 +0000
commit1bbf2ac7ee201ea1a6a1f6307371dae86952235b (patch)
tree122a66b70762db77e892ca4b9d66278c8a5c778b /gdk/x11
parentf1427cd9bb2d980af72b98d6f1f1d835190edc52 (diff)
downloadgtk+-1bbf2ac7ee201ea1a6a1f6307371dae86952235b.tar.gz
Make gdkx.h the only installed header from gdk/x11. All structures in
Fri Sep 7 11:51:44 2001 Owen Taylor <otaylor@redhat.com> Make gdkx.h the only installed header from gdk/x11. All structures in gdk/x11 are opaque. * gdk/x11/Makefile.am gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h: Don't install gdk{drawable,pixmap,window}-x11.h. * gdk/x11/{gdkcolormap-x11.c, gdkfont-x11.c, gdkx.h, gdkvisual-x11.c: Move GdkColormapPrivateX11, GdkFontPrivateX GdkImagePrivateX11, GdkVisualClass into C files. * gdk/gdkpixmap-x11.[ch]: Make gdk_pixmap_impl_get_type() static. * gdk/x11/{gdkcolor-x11.c, gdkcursor-x11.c, gdkdrawable-x11.c, gdkfont-x11.c, gdkgc-x11.c, gdkx.h, gdkimage-x11,gdkvisual-x11.c} Add public functions to replace previously exported direct structure access. gdk_x11_colormap_get_{xdisplay,xcolormap} gdk_x11_cursor_get_{xdisplay,xcursor}, gdk_x11_drawable_get_{xdisplay,xcursor,gdk_x11_visual_get_xvisual, gdk_x11_font_get_{xdisplay,xfont}, gdk_x11_image_get_{xdisplay,ximage}, gdk_x11_gc_get_{xdisplay,ximage} * gdk/gdkprivate.h gdk/gdkinternals.h: Move GdkColorInfo, GdkEventFilter, GdkClientFilter, GdkFontPrivate to gdkinternals. Fix a number of variables and functions that were exported "accidentally" from GDK. * gdk/**.[ch]: gdk => _gdk for gdk_visual_init, gdk_events_init, gdk_input_init, gdk_dnd_init, gdk_image_exit, gdk_input_exit, gdk_windowing_exit, gdk_event_func, gdk_event_data, gdk_event_notify, gdk_queued_events, gdk_queued_tail, gdk_event_new, gdk_events_queue, gdk_events_unqueue, gdk_event_queue_find_first, gdk_event_queue_remove_link, gdk_event_queue_append, gdk_event_button_generate, gdk_debug_flags, gdk_default_filters, gdk_parent_root. * gdk/x11/{gdkevents-x11.c, gdkglobals-x11.c, gdkimage-x11.c, gdkmain-x11.c, gdkprivate-x11.h, gdk/x11/gdkwindow-x11.c}: gdk => _gdk for gdk_event_mask_table, gkd_nevent_masks, gdk_wm_window_protocols, gdk_leader_window, gdk_xgrab_window, gdk_use_xshm, gdk_input_ignore_core. * gdk/x11/xsettings-common.h (xsettings_list_insert): Add #defines to namespace functions into the private _gdk_ namespace. * gdk/gdkwindow.[ch] gdk/x11/gdkx.h: Add gdk_get_default_root_window () to replace gdk_parent_root exported variable. Adjust and deprecate GDK_ROOT_PARENT(). * demos/{testpixbuf-drawable.c,testpixbuf-save.c}: Fix GDK_ROOT_PARENT usage, remove includes of port-specific headers. * gdk/{win32,x11,fb}/gdkinput*.[ch]: s/gdk/_gdk/ for _gdk_input_gxid_host, _gdk_input_gxid_port, _gdk_input_ignore_core, gdk_input_devices, _gdk_input_windows, gdk_init_input_core. * gdk/x11/{gdkevents-x11.,c gdkglobals-x11.c, gdkmain-x11.c} docs/Changes-2.0.txt: Remove gdk_wm_protocols, gdk_wm_delete_window functions, gdk_wm_take_focus, use gdk_atom_intern() instead. * gdk/linux-fb/{gdkselection-fb.c, gdkmain-fb.c, gdkprivatefb.h} gdk/win32/{gdkselection-win32.c, gdkmgdkwin32.h, gdkprivate-win32.h} gdk/x11/{gdkselection-x11.c gdkx.h, gtkprivate-x11.h} gtk/gtkselection.c Unexport gdk_selection_property, just use gdk_atom_intern ("GDK_SELECTION"). * gdk/x11/{gdkprivate-x11.h,gdkdrawable-x11h,gdkgc-x11.c,gdkx.h}: Unexport gdk_drawable_impl_x11_get_type, gdk_gc_x11_get_type, GDK_GC_X11 cast macros, GdkGCX11 structures, GdkCursorPrivate, GdkVisualprivate, gdk_x11_gc_flush. Make a number of public exports of variables into functions to increase encapsulation. * gdk/gdkinternals.h gdk/gdkinput.h gdk/gdkevents.h gdk/linux-fb/gdkmouse-fb.c: gdk_core_pointer => _gdk_core_pointer, move to gdkinternals.h. Add gdk_device_get_core_pointer (). * gdk/gdkprivate.h gdk/gdkpango.c gdk/gdkinternals.h docs/Changes-2.0.txt: Unexport gdk_parent_root, gdk_error_code, gdk_error_warnings. * gdk/x11/{gdkcolormap-x11.c, gdkmain-x11.c, gdkx.h} docs/Changes-2.0.txt: s/gdk_screen/_gdk_screen/, add gdk_x11_get_default_screen() s/gdk_root_window/_gdk_root_window/, add gdk_x11_get_default_root_xwindow() Add gdk_x11_get_default_xdisplay(). * gdk/gdk.h gdk/gdk.c linux-fb/gdkfb.h linux-fb/gdkglobals-fb.c win32/gdkwin32.h x11/gdkglobals-x11.c gdk/x11/gdkmain-x11.c gdk/x11/gdkx.h: gdk/gdk.def: Add gdk_get/set_program_class, Don't export gdk_progclass, move --class command line option and handling to common portion of GDK. Miscellaneous fixes: * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_list): Fix g_return_val_if_fail that should have been g_return_if_fail. * gdk/gdkinternals.h gdk/gdkprivate.h: Move gdk_synthesize_window_state() to the semi-public gdkprivate.h. * gtk/gtkdnd.c (_gtk_drag_source_handle_event): Remove uneeded X11 dependency. * gdk/linux-fb/gdkmain-fb.c gdk/win32/gdkmain-win32.c gdk/TODO: Remove unused gdk_key_repeat_disable/restore. * linux-fb/gdkglobals-fb.c win32/gdkglobals-win32.c x11/gdkglobals-x11.c x11/gdkprivate-x11.h gdk/gdk.def: Remove unused gdk_null_window_warnings variable. * gdk/Makefile.am (DIST_SUBDIRS) nanox/*: cvs remove nanox; it can be retrieved from the repository; it is too far from functional to be worth having people check out; it would be easier to start from scratch, I suspect. * gdk/x11/gdkpixmap-x11.c: Fix lvalue usage of GDK_PIXMAP_XID(). * gdk/x11/gdkkeys-x11.c gdk/gdkrgb.c gdk/gdkwindow.c gdk/x11/gdkpango-x11.c gdk/x11/gdkselection-x11.c: Fix some accidentally global variables and unused global variables. * gdk/x11/gdkkeys-x11.c gdk/gdkrgb.c gdk/gdkwindow.c gdk/x11/gdkpango-x11.c gdk/x11/gdkselection-x11.c: Fix some accidentally global variables and unused global variables. Add some space for future expansion to multihead. * gdk/gdkdrawable.h: Add four reserved function pointers for future expansion of GdkDrawableClass. * gtk/gtkwindow.h gtk/gtkinvisible.h: Add reserved pointer where we can put a GdkScreen * later.
Diffstat (limited to 'gdk/x11')
-rw-r--r--gdk/x11/Makefile.am10
-rw-r--r--gdk/x11/gdkcolor-x11.c63
-rw-r--r--gdk/x11/gdkcursor-x11.c18
-rw-r--r--gdk/x11/gdkdnd-x11.c138
-rw-r--r--gdk/x11/gdkdrawable-x11.c40
-rw-r--r--gdk/x11/gdkdrawable-x11.h5
-rw-r--r--gdk/x11/gdkevents-x11.c112
-rw-r--r--gdk/x11/gdkfont-x11.c30
-rw-r--r--gdk/x11/gdkgc-x11.c27
-rw-r--r--gdk/x11/gdkglobals-x11.c24
-rw-r--r--gdk/x11/gdkimage-x11.c53
-rw-r--r--gdk/x11/gdkinput-gxi.c32
-rw-r--r--gdk/x11/gdkinput-none.c6
-rw-r--r--gdk/x11/gdkinput-x11.c8
-rw-r--r--gdk/x11/gdkinput-xfree.c28
-rw-r--r--gdk/x11/gdkinput.c52
-rw-r--r--gdk/x11/gdkinputprivate.h12
-rw-r--r--gdk/x11/gdkkeys-x11.c2
-rw-r--r--gdk/x11/gdkmain-x11.c111
-rw-r--r--gdk/x11/gdkpixmap-x11.c19
-rw-r--r--gdk/x11/gdkpixmap-x11.h2
-rw-r--r--gdk/x11/gdkprivate-x11.h77
-rw-r--r--gdk/x11/gdkproperty-x11.c16
-rw-r--r--gdk/x11/gdkselection-x11.c8
-rw-r--r--gdk/x11/gdkvisual-x11.c21
-rw-r--r--gdk/x11/gdkwindow-x11.c74
-rw-r--r--gdk/x11/gdkx.h161
-rw-r--r--gdk/x11/xsettings-common.h17
28 files changed, 687 insertions, 479 deletions
diff --git a/gdk/x11/Makefile.am b/gdk/x11/Makefile.am
index 703ebee435..1d8d57dd86 100644
--- a/gdk/x11/Makefile.am
+++ b/gdk/x11/Makefile.am
@@ -1,10 +1,10 @@
## Process this file with automake to produce Makefile.in
libgdkincludedir = $(includedir)/gtk-2.0/gdk
-libgdkx11includedir = $(includedir)/gtk-2.0/gdk/x11
INCLUDES = @STRIP_BEGIN@ \
-DG_LOG_DOMAIN=\"Gdk\" \
+ -DINSIDE_GDK_X11 \
-I$(top_srcdir) \
-I$(top_srcdir)/gdk \
-I$(top_builddir)/gdk \
@@ -39,6 +39,7 @@ libgdk_x11_la_SOURCES = \
gdkcursor-x11.c \
gdkdnd-x11.c \
gdkdrawable-x11.c \
+ gdkdrawable-x11.h \
gdkevents-x11.c \
gdkfont-x11.c \
gdkgc-x11.c \
@@ -51,10 +52,12 @@ libgdk_x11_la_SOURCES = \
gdkmain-x11.c \
gdkpango-x11.c \
gdkpixmap-x11.c \
+ gdkpixmap-x11.h \
gdkproperty-x11.c \
gdkselection-x11.c \
gdkvisual-x11.c \
gdkwindow-x11.c \
+ gdkwindow-x11.h \
gdkxid.c \
gxid_lib.c \
gxid_lib.h \
@@ -71,11 +74,6 @@ libgdk_x11_la_SOURCES = \
libgdkinclude_HEADERS = \
gdkx.h
-libgdkx11include_HEADERS = \
- gdkdrawable-x11.h \
- gdkwindow-x11.h \
- gdkpixmap-x11.h
-
EXTRA_PROGRAMS = gxid
bin_PROGRAMS = @xinput_progs@
diff --git a/gdk/x11/gdkcolor-x11.c b/gdk/x11/gdkcolor-x11.c
index af6a1172dc..13b99e0ba0 100644
--- a/gdk/x11/gdkcolor-x11.c
+++ b/gdk/x11/gdkcolor-x11.c
@@ -27,8 +27,22 @@
#include <time.h>
#include "gdkcolor.h"
+#include "gdkinternals.h"
#include "gdkprivate-x11.h"
+typedef struct _GdkColormapPrivateX11 GdkColormapPrivateX11;
+
+struct _GdkColormapPrivateX11
+{
+ Colormap xcolormap;
+ Display *xdisplay;
+ gint private_val;
+
+ GHashTable *hash;
+ GdkColorInfo *info;
+ time_t last_sync_time;
+};
+
#define GDK_COLORMAP_PRIVATE_DATA(cmap) ((GdkColormapPrivateX11 *) GDK_COLORMAP (cmap)->windowing_data)
static gint gdk_colormap_match_color (GdkColormap *cmap,
@@ -161,7 +175,7 @@ gdk_colormap_new (GdkVisual *visual,
(GEqualFunc) gdk_color_equal);
private->private_val = private_cmap;
- private->xcolormap = XCreateColormap (private->xdisplay, gdk_root_window,
+ private->xcolormap = XCreateColormap (private->xdisplay, _gdk_root_window,
xvisual, (private_cmap) ? (AllocAll) : (AllocNone));
if (private_cmap)
@@ -174,7 +188,7 @@ gdk_colormap_new (GdkVisual *visual,
default_colors[i].pixel = i;
XQueryColors (private->xdisplay,
- DefaultColormap (private->xdisplay, gdk_screen),
+ DefaultColormap (private->xdisplay, _gdk_screen),
default_colors, colormap->size);
for (i = 0; i < colormap->size; i++)
@@ -193,7 +207,7 @@ gdk_colormap_new (GdkVisual *visual,
case GDK_VISUAL_DIRECT_COLOR:
private->private_val = TRUE;
- private->xcolormap = XCreateColormap (private->xdisplay, gdk_root_window,
+ private->xcolormap = XCreateColormap (private->xdisplay, _gdk_root_window,
xvisual, AllocAll);
colormap->colors = g_new (GdkColor, colormap->size);
@@ -215,7 +229,7 @@ gdk_colormap_new (GdkVisual *visual,
case GDK_VISUAL_STATIC_GRAY:
case GDK_VISUAL_STATIC_COLOR:
private->private_val = FALSE;
- private->xcolormap = XCreateColormap (private->xdisplay, gdk_root_window,
+ private->xcolormap = XCreateColormap (private->xdisplay, _gdk_root_window,
xvisual, AllocNone);
colormap->colors = g_new (GdkColor, colormap->size);
@@ -224,7 +238,7 @@ gdk_colormap_new (GdkVisual *visual,
case GDK_VISUAL_TRUE_COLOR:
private->private_val = FALSE;
- private->xcolormap = XCreateColormap (private->xdisplay, gdk_root_window,
+ private->xcolormap = XCreateColormap (private->xdisplay, _gdk_root_window,
xvisual, AllocNone);
break;
}
@@ -296,7 +310,7 @@ gdk_colormap_get_system (void)
private = GDK_COLORMAP_PRIVATE_DATA (colormap);
private->xdisplay = gdk_display;
- private->xcolormap = DefaultColormap (gdk_display, gdk_screen);
+ private->xcolormap = DefaultColormap (gdk_display, _gdk_screen);
colormap->visual = gdk_visual_get_system ();
private->private_val = FALSE;
@@ -334,7 +348,7 @@ gdk_colormap_get_system (void)
gint
gdk_colormap_get_system_size (void)
{
- return DisplayCells (gdk_display, gdk_screen);
+ return DisplayCells (gdk_display, _gdk_screen);
}
void
@@ -462,7 +476,7 @@ gdk_color_parse (const gchar *spec,
g_return_val_if_fail (spec != NULL, FALSE);
g_return_val_if_fail (color != NULL, FALSE);
- xcolormap = DefaultColormap (gdk_display, gdk_screen);
+ xcolormap = DefaultColormap (gdk_display, _gdk_screen);
if (XParseColor (gdk_display, xcolormap, spec, &xcolor))
{
@@ -986,9 +1000,12 @@ gdk_colormap_query_color (GdkColormap *colormap,
{
XColor xcolor;
GdkVisual *visual;
-
+ GdkColormapPrivateX11 *private;
+
g_return_if_fail (GDK_IS_COLORMAP (colormap));
+ private = GDK_COLORMAP_PRIVATE_DATA (colormap);
+
visual = gdk_colormap_get_visual (colormap);
switch (visual->type) {
@@ -1004,7 +1021,7 @@ gdk_colormap_query_color (GdkColormap *colormap,
break;
case GDK_VISUAL_STATIC_COLOR:
xcolor.pixel = pixel;
- XQueryColor (GDK_DISPLAY (), GDK_COLORMAP_XCOLORMAP (colormap), &xcolor);
+ XQueryColor (private->xdisplay, private->xcolormap, &xcolor);
result->red = xcolor.red;
result->green = xcolor.green;
result->blue = xcolor.blue;
@@ -1055,7 +1072,7 @@ gdkx_colormap_get (Colormap xcolormap)
if (colormap)
return colormap;
- if (xcolormap == DefaultColormap (gdk_display, gdk_screen))
+ if (xcolormap == DefaultColormap (gdk_display, _gdk_screen))
return gdk_colormap_get_system ();
colormap = g_object_new (gdk_colormap_get_type (), NULL);
@@ -1191,3 +1208,27 @@ gdk_colormap_equal (Colormap *a,
{
return (*a == *b);
}
+
+Display *
+gdk_x11_colormap_get_xdisplay (GdkColormap *colormap)
+{
+ GdkColormapPrivateX11 *private;
+
+ g_return_val_if_fail (GDK_IS_COLORMAP (colormap), NULL);
+
+ private = GDK_COLORMAP_PRIVATE_DATA (colormap);
+
+ return private->xdisplay;
+}
+
+Colormap
+gdk_x11_colormap_get_xcolormap (GdkColormap *colormap)
+{
+ GdkColormapPrivateX11 *private;
+
+ g_return_val_if_fail (GDK_IS_COLORMAP (colormap), None);
+
+ private = GDK_COLORMAP_PRIVATE_DATA (colormap);
+
+ return private->xcolormap;
+}
diff --git a/gdk/x11/gdkcursor-x11.c b/gdk/x11/gdkcursor-x11.c
index 6cd32fb739..82e6dbb46a 100644
--- a/gdk/x11/gdkcursor-x11.c
+++ b/gdk/x11/gdkcursor-x11.c
@@ -27,7 +27,7 @@
#include <X11/Xlib.h>
#include <X11/cursorfont.h>
-#include "gdkx.h"
+#include "gdkprivate-x11.h"
#include "gdkcursor.h"
#include "gdkpixmap-x11.h"
#include <gdk/gdkpixmap.h>
@@ -105,3 +105,19 @@ _gdk_cursor_destroy (GdkCursor *cursor)
g_free (private);
}
+
+Display *
+gdk_x11_cursor_get_xdisplay (GdkCursor *cursor)
+{
+ g_return_val_if_fail (cursor != NULL, NULL);
+
+ return ((GdkCursorPrivate *)cursor)->xdisplay;
+}
+
+Cursor
+gdk_x11_cursor_get_xcursor (GdkCursor *cursor)
+{
+ g_return_val_if_fail (cursor != NULL, None);
+
+ return ((GdkCursorPrivate *)cursor)->xcursor;
+}
diff --git a/gdk/x11/gdkdnd-x11.c b/gdk/x11/gdkdnd-x11.c
index c143ceae10..024651576f 100644
--- a/gdk/x11/gdkdnd-x11.c
+++ b/gdk/x11/gdkdnd-x11.c
@@ -84,7 +84,7 @@ struct _GdkDragContextPrivateX11 {
#define PRIVATE_DATA(context) ((GdkDragContextPrivateX11 *) GDK_DRAG_CONTEXT (context)->windowing_data)
-GdkDragContext *current_dest_drag = NULL;
+static GdkDragContext *current_dest_drag = NULL;
/* Forward declarations */
@@ -412,24 +412,24 @@ gdk_window_cache_new (void)
unsigned int nchildren;
int i;
- gint old_warnings = gdk_error_warnings;
+ gint old_warnings = _gdk_error_warnings;
GdkWindowCache *result = g_new (GdkWindowCache, 1);
result->children = NULL;
result->child_hash = g_hash_table_new (g_direct_hash, NULL);
- XGetWindowAttributes (gdk_display, gdk_root_window, &xwa);
+ XGetWindowAttributes (gdk_display, _gdk_root_window, &xwa);
result->old_event_mask = xwa.your_event_mask;
- XSelectInput (gdk_display, gdk_root_window,
+ XSelectInput (gdk_display, _gdk_root_window,
result->old_event_mask | SubstructureNotifyMask);
- gdk_window_add_filter (gdk_parent_root,
+ gdk_window_add_filter (_gdk_parent_root,
gdk_window_cache_filter, result);
- gdk_error_code = 0;
- gdk_error_warnings = 0;
+ _gdk_error_code = 0;
+ _gdk_error_warnings = 0;
- if (XQueryTree(gdk_display, gdk_root_window,
+ if (XQueryTree(gdk_display, _gdk_root_window,
&root, &parent, &children, &nchildren) == 0)
return result;
@@ -441,8 +441,8 @@ gdk_window_cache_new (void)
xwa.x, xwa.y, xwa.width, xwa.height,
xwa.map_state != IsUnmapped);
- if (gdk_error_code)
- gdk_error_code = 0;
+ if (_gdk_error_code)
+ _gdk_error_code = 0;
else
{
gdk_window_cache_add (result, children[i],
@@ -453,7 +453,7 @@ gdk_window_cache_new (void)
XFree (children);
- gdk_error_warnings = old_warnings;
+ _gdk_error_warnings = old_warnings;
return result;
}
@@ -461,8 +461,8 @@ gdk_window_cache_new (void)
static void
gdk_window_cache_destroy (GdkWindowCache *cache)
{
- XSelectInput (gdk_display, gdk_root_window, cache->old_event_mask);
- gdk_window_remove_filter (gdk_parent_root,
+ XSelectInput (gdk_display, _gdk_root_window, cache->old_event_mask);
+ gdk_window_remove_filter (_gdk_parent_root,
gdk_window_cache_filter, cache);
g_list_foreach (cache->children, (GFunc)g_free, NULL);
@@ -495,9 +495,9 @@ get_client_window_at_coords_recurse (Window win,
wm_state_atom, 0, 0, False, AnyPropertyType,
&type, &format, &nitems, &after, &data);
- if (gdk_error_code)
+ if (_gdk_error_code)
{
- gdk_error_code = 0;
+ _gdk_error_code = 0;
return None;
}
@@ -510,12 +510,12 @@ get_client_window_at_coords_recurse (Window win,
#if 0
/* This is beautiful! Damn Enlightenment and click-to-focus */
- XTranslateCoordinates (gdk_display, gdk_root_window, win,
+ XTranslateCoordinates (gdk_display, _gdk_root_window, win,
x_root, y_root, &dest_x, &dest_y, &child);
- if (gdk_error_code)
+ if (_gdk_error_code)
{
- gdk_error_code = 0;
+ _gdk_error_code = 0;
return None;
}
@@ -525,7 +525,7 @@ get_client_window_at_coords_recurse (Window win,
&root, &tmp_parent, &children, &nchildren) == 0)
return 0;
- if (!gdk_error_code)
+ if (!_gdk_error_code)
{
for (i = nchildren - 1; (i >= 0) && (child == None); i--)
{
@@ -533,8 +533,8 @@ get_client_window_at_coords_recurse (Window win,
XGetWindowAttributes (gdk_display, children[i], &xwa);
- if (gdk_error_code)
- gdk_error_code = 0;
+ if (_gdk_error_code)
+ _gdk_error_code = 0;
else if ((xwa.map_state == IsViewable) && (xwa.class == InputOutput) &&
(x >= xwa.x) && (x < xwa.x + (gint)xwa.width) &&
(y >= xwa.y) && (y < xwa.y + (gint)xwa.height))
@@ -548,7 +548,7 @@ get_client_window_at_coords_recurse (Window win,
XFree (children);
}
else
- gdk_error_code = 0;
+ _gdk_error_code = 0;
#endif
if (child)
@@ -566,10 +566,10 @@ get_client_window_at_coords (GdkWindowCache *cache,
GList *tmp_list;
Window retval = None;
- gint old_warnings = gdk_error_warnings;
+ gint old_warnings = _gdk_error_warnings;
- gdk_error_code = 0;
- gdk_error_warnings = 0;
+ _gdk_error_code = 0;
+ _gdk_error_warnings = 0;
tmp_list = cache->children;
@@ -593,11 +593,11 @@ get_client_window_at_coords (GdkWindowCache *cache,
tmp_list = tmp_list->next;
}
- gdk_error_warnings = old_warnings;
+ _gdk_error_warnings = old_warnings;
if (retval)
return retval;
else
- return gdk_root_window;
+ return _gdk_root_window;
}
#if 0
@@ -622,9 +622,9 @@ get_client_window_at_coords_recurse (Window win,
wm_state_atom, 0, 0, False, AnyPropertyType,
&type, &format, &nitems, &after, &data);
- if (gdk_error_code)
+ if (_gdk_error_code)
{
- gdk_error_code = 0;
+ _gdk_error_code = 0;
return None;
}
@@ -635,12 +635,12 @@ get_client_window_at_coords_recurse (Window win,
return win;
}
- XTranslateCoordinates (gdk_display, gdk_root_window, win,
+ XTranslateCoordinates (gdk_display, _gdk_root_window, win,
x_root, y_root, &dest_x, &dest_y, &child);
- if (gdk_error_code)
+ if (_gdk_error_code)
{
- gdk_error_code = 0;
+ _gdk_error_code = 0;
return None;
}
@@ -661,12 +661,12 @@ get_client_window_at_coords (Window ignore,
int i;
Window retval = None;
- gint old_warnings = gdk_error_warnings;
+ gint old_warnings = _gdk_error_warnings;
- gdk_error_code = 0;
- gdk_error_warnings = 0;
+ _gdk_error_code = 0;
+ _gdk_error_warnings = 0;
- if (XQueryTree(gdk_display, gdk_root_window,
+ if (XQueryTree(gdk_display, _gdk_root_window,
&root, &parent, &children, &nchildren) == 0)
return 0;
@@ -678,8 +678,8 @@ get_client_window_at_coords (Window ignore,
XGetWindowAttributes (gdk_display, children[i], &xwa);
- if (gdk_error_code)
- gdk_error_code = 0;
+ if (_gdk_error_code)
+ _gdk_error_code = 0;
else if ((xwa.map_state == IsViewable) &&
(x_root >= xwa.x) && (x_root < xwa.x + (gint)xwa.width) &&
(y_root >= xwa.y) && (y_root < xwa.y + (gint)xwa.height))
@@ -694,11 +694,11 @@ get_client_window_at_coords (Window ignore,
XFree (children);
- gdk_error_warnings = old_warnings;
+ _gdk_error_warnings = old_warnings;
if (retval)
return retval;
else
- return gdk_root_window;
+ return _gdk_root_window;
}
#endif
@@ -890,7 +890,7 @@ motif_lookup_drag_window (Display *display)
gint format;
guchar *data;
- XGetWindowProperty (gdk_display, gdk_root_window, motif_drag_window_atom,
+ XGetWindowProperty (gdk_display, _gdk_root_window, motif_drag_window_atom,
0, 1, FALSE,
XA_WINDOW, &type, &format, &nitems, &bytes_after,
&data);
@@ -927,7 +927,7 @@ motif_find_drag_window (gboolean create)
Display *display;
XSetWindowAttributes attr;
- display = XOpenDisplay (gdk_display_name);
+ display = XOpenDisplay (_gdk_display_name);
XSetCloseDownMode (display, RetainPermanent);
XGrabServer (display);
@@ -948,7 +948,7 @@ motif_find_drag_window (gboolean create)
GDK_NOTE (DND,
g_message ("Created drag window %#lx\n", motif_drag_window));
- XChangeProperty (display, gdk_root_window,
+ XChangeProperty (display, _gdk_root_window,
motif_drag_window_atom, XA_WINDOW,
32, PropModeReplace,
(guchar *)&motif_drag_window_atom, 1);
@@ -1570,7 +1570,7 @@ motif_read_initiator_info (Window source_window,
}
#ifdef G_ENABLE_DEBUG
- if (gdk_debug_flags & GDK_DEBUG_DND)
+ if (_gdk_debug_flags & GDK_DEBUG_DND)
print_target_list (*targets);
#endif /* G_ENABLE_DEBUG */
@@ -2160,7 +2160,7 @@ static gint
xdnd_send_xevent (Window window, gboolean propagate,
XEvent *event_send)
{
- if (window == gdk_root_window)
+ if (window == _gdk_root_window)
return gdk_send_xevent (window, propagate, ButtonPressMask, event_send);
else
return gdk_send_xevent (window, propagate, 0, event_send);
@@ -2322,7 +2322,7 @@ xdnd_check_dest (Window win)
Window proxy;
static GdkAtom xdnd_proxy_atom = GDK_NONE;
- gint old_warnings = gdk_error_warnings;
+ gint old_warnings = _gdk_error_warnings;
if (!xdnd_proxy_atom)
xdnd_proxy_atom = gdk_atom_intern ("XdndProxy", FALSE);
@@ -2332,8 +2332,8 @@ xdnd_check_dest (Window win)
proxy = GDK_NONE;
- gdk_error_code = 0;
- gdk_error_warnings = 0;
+ _gdk_error_code = 0;
+ _gdk_error_warnings = 0;
XGetWindowProperty (gdk_display, win,
xdnd_proxy_atom, 0,
@@ -2341,7 +2341,7 @@ xdnd_check_dest (Window win)
&type, &format, &nitems, &after,
(guchar **)&proxy_data);
- if (!gdk_error_code)
+ if (!_gdk_error_code)
{
if (type != None)
{
@@ -2362,7 +2362,7 @@ xdnd_check_dest (Window win)
&type, &format, &nitems, &after,
(guchar **)&version);
- if (!gdk_error_code && type != None)
+ if (!_gdk_error_code && type != None)
{
if ((format == 32) && (nitems == 1))
{
@@ -2378,8 +2378,8 @@ xdnd_check_dest (Window win)
}
- gdk_error_warnings = old_warnings;
- gdk_error_code = 0;
+ _gdk_error_warnings = old_warnings;
+ _gdk_error_code = 0;
return retval ? (proxy ? proxy : win) : GDK_NONE;
}
@@ -2396,10 +2396,10 @@ xdnd_read_actions (GdkDragContext *context)
gint i;
- gint old_warnings = gdk_error_warnings;
+ gint old_warnings = _gdk_error_warnings;
- gdk_error_code = 0;
- gdk_error_warnings = 0;
+ _gdk_error_code = 0;
+ _gdk_error_warnings = 0;
/* Get the XdndActionList, if set */
@@ -2409,7 +2409,7 @@ xdnd_read_actions (GdkDragContext *context)
False, XA_ATOM, &type, &format, &nitems,
&after, (guchar **)&data);
- if (!gdk_error_code && (format == 32) && (type == XA_ATOM))
+ if (!_gdk_error_code && (format == 32) && (type == XA_ATOM))
{
context->actions = 0;
@@ -2419,7 +2419,7 @@ xdnd_read_actions (GdkDragContext *context)
(PRIVATE_DATA (context))->xdnd_have_actions = TRUE;
#ifdef G_ENABLE_DEBUG
- if (gdk_debug_flags & GDK_DEBUG_DND)
+ if (_gdk_debug_flags & GDK_DEBUG_DND)
{
GString *action_str = g_string_new (NULL);
if (context->actions & GDK_ACTION_MOVE)
@@ -2439,8 +2439,8 @@ xdnd_read_actions (GdkDragContext *context)
XFree(data);
}
- gdk_error_warnings = old_warnings;
- gdk_error_code = 0;
+ _gdk_error_warnings = old_warnings;
+ _gdk_error_code = 0;
}
/* We have to make sure that the XdndActionList we keep internally
@@ -2586,7 +2586,7 @@ xdnd_enter_filter (GdkXEvent *xev,
}
#ifdef G_ENABLE_DEBUG
- if (gdk_debug_flags & GDK_DEBUG_DND)
+ if (_gdk_debug_flags & GDK_DEBUG_DND)
print_target_list (new_context->targets);
#endif /* G_ENABLE_DEBUG */
@@ -2715,7 +2715,7 @@ xdnd_drop_filter (GdkXEvent *xev,
*************************************************************/
void
-gdk_dnd_init (void)
+_gdk_dnd_init (void)
{
init_byte_order();
@@ -2819,26 +2819,26 @@ gdk_drag_get_protocol (guint32 xid,
/* Check if this is a root window */
gboolean rootwin = FALSE;
- gint old_warnings = gdk_error_warnings;
+ gint old_warnings = _gdk_error_warnings;
Atom type = None;
int format;
unsigned long nitems, after;
unsigned char *data;
- if (xid == gdk_root_window)
+ if (xid == _gdk_root_window)
rootwin = TRUE;
- gdk_error_warnings = 0;
+ _gdk_error_warnings = 0;
if (!rootwin)
{
- gdk_error_code = 0;
+ _gdk_error_code = 0;
XGetWindowProperty (gdk_display, xid,
gdk_atom_intern ("ENLIGHTENMENT_DESKTOP", FALSE),
0, 0, False, AnyPropertyType,
&type, &format, &nitems, &after, &data);
- if ((gdk_error_code == 0) && type != None)
+ if ((_gdk_error_code == 0) && type != None)
{
XFree (data);
rootwin = TRUE;
@@ -2852,18 +2852,18 @@ gdk_drag_get_protocol (guint32 xid,
#if 0
if (!rootwin)
{
- gdk_error_code = 0;
+ _gdk_error_code = 0;
XGetWindowProperty (gdk_display, win,
gdk_atom_intern ("__SWM_VROOT", FALSE),
0, 0, False, AnyPropertyType,
&type, &format, &nitems, &data);
- if ((gdk_error_code == 0) && type != None)
+ if ((_gdk_error_code == 0) && type != None)
rootwin = TRUE;
}
#endif
- gdk_error_warnings = old_warnings;
+ _gdk_error_warnings = old_warnings;
if (rootwin)
{
diff --git a/gdk/x11/gdkdrawable-x11.c b/gdk/x11/gdkdrawable-x11.c
index 7d563e86e4..f5589dcb0a 100644
--- a/gdk/x11/gdkdrawable-x11.c
+++ b/gdk/x11/gdkdrawable-x11.c
@@ -24,7 +24,7 @@
* GTK+ at ftp://ftp.gtk.org/pub/gtk/.
*/
-#include "gdkprivate-x11.h"
+#include "gdkx.h"
#include "gdkregion-generic.h"
#include <pango/pangox.h>
@@ -136,7 +136,7 @@ static void gdk_drawable_impl_x11_finalize (GObject *object);
static gpointer parent_class = NULL;
GType
-gdk_drawable_impl_x11_get_type (void)
+_gdk_drawable_impl_x11_get_type (void)
{
static GType object_type = 0;
@@ -710,3 +710,39 @@ gdk_x11_get_visual (GdkDrawable *drawable)
{
return gdk_drawable_get_visual (GDK_DRAWABLE_IMPL_X11 (drawable)->wrapper);
}
+
+Display *
+gdk_x11_drawable_get_xdisplay (GdkDrawable *drawable)
+{
+ GdkDrawable *impl;
+
+ if (GDK_IS_WINDOW (drawable))
+ impl = ((GdkPixmapObject *)drawable)->impl;
+ else if (GDK_IS_PIXMAP (drawable))
+ impl = ((GdkPixmapObject *)drawable)->impl;
+ else
+ {
+ g_warning (G_STRLOC " drawable is not a pixmap or window");
+ return NULL;
+ }
+
+ return ((GdkDrawableImplX11 *)impl)->xdisplay;
+}
+
+XID
+gdk_x11_drawable_get_xid (GdkDrawable *drawable)
+{
+ GdkDrawable *impl;
+
+ if (GDK_IS_WINDOW (drawable))
+ impl = ((GdkPixmapObject *)drawable)->impl;
+ else if (GDK_IS_PIXMAP (drawable))
+ impl = ((GdkPixmapObject *)drawable)->impl;
+ else
+ {
+ g_warning (G_STRLOC " drawable is not a pixmap or window");
+ return None;
+ }
+
+ return ((GdkDrawableImplX11 *)impl)->xid;
+}
diff --git a/gdk/x11/gdkdrawable-x11.h b/gdk/x11/gdkdrawable-x11.h
index 0164654b3b..7d20d50d52 100644
--- a/gdk/x11/gdkdrawable-x11.h
+++ b/gdk/x11/gdkdrawable-x11.h
@@ -28,6 +28,7 @@
#define __GDK_DRAWABLE_X11_H__
#include <gdk/gdkdrawable.h>
+#include <gdk/x11/gdkx.h>
#ifdef __cplusplus
extern "C" {
@@ -39,7 +40,7 @@ extern "C" {
typedef struct _GdkDrawableImplX11 GdkDrawableImplX11;
typedef struct _GdkDrawableImplX11Class GdkDrawableImplX11Class;
-#define GDK_TYPE_DRAWABLE_IMPL_X11 (gdk_drawable_impl_x11_get_type ())
+#define GDK_TYPE_DRAWABLE_IMPL_X11 (_gdk_drawable_impl_x11_get_type ())
#define GDK_DRAWABLE_IMPL_X11(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_DRAWABLE_IMPL_X11, GdkDrawableImplX11))
#define GDK_DRAWABLE_IMPL_X11_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_DRAWABLE_IMPL_X11, GdkDrawableImplX11Class))
#define GDK_IS_DRAWABLE_IMPL_X11(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_DRAWABLE_IMPL_X11))
@@ -64,7 +65,7 @@ struct _GdkDrawableImplX11Class
};
-GType gdk_drawable_impl_x11_get_type (void);
+GType _gdk_drawable_impl_x11_get_type (void);
#ifdef __cplusplus
}
diff --git a/gdk/x11/gdkevents-x11.c b/gdk/x11/gdkevents-x11.c
index a757e6bbfc..ca05f1ba96 100644
--- a/gdk/x11/gdkevents-x11.c
+++ b/gdk/x11/gdkevents-x11.c
@@ -101,9 +101,9 @@ static gboolean gdk_event_dispatch (GSource *source,
GSourceFunc callback,
gpointer user_data);
-GdkFilterReturn gdk_wm_protocols_filter (GdkXEvent *xev,
- GdkEvent *event,
- gpointer data);
+static GdkFilterReturn gdk_wm_protocols_filter (GdkXEvent *xev,
+ GdkEvent *event,
+ gpointer data);
static void gdk_xsettings_watch_cb (Window window,
Bool is_start,
@@ -143,7 +143,7 @@ static XSettingsClient *xsettings_client;
*********************************************/
void
-gdk_events_init (void)
+_gdk_events_init (void)
{
GSource *source;
@@ -162,7 +162,11 @@ gdk_events_init (void)
g_source_set_can_recurse (source, TRUE);
g_source_attach (source, NULL);
- gdk_add_client_message_filter (gdk_wm_protocols,
+ _gdk_wm_window_protocols[0] = gdk_atom_intern ("WM_DELETE_WINDOW", FALSE);
+ _gdk_wm_window_protocols[1] = gdk_atom_intern ("WM_TAKE_FOCUS", FALSE);
+ _gdk_wm_window_protocols[2] = gdk_atom_intern ("_NET_WM_PING", FALSE);
+
+ gdk_add_client_message_filter (gdk_atom_intern ("WM_PROTOCOLS", FALSE),
gdk_wm_protocols_filter, NULL);
xsettings_client = xsettings_client_new (gdk_display, DefaultScreen (gdk_display),
@@ -190,7 +194,7 @@ gdk_events_init (void)
gboolean
gdk_events_pending (void)
{
- return (gdk_event_queue_find_first() || XPending (gdk_display));
+ return (_gdk_event_queue_find_first() || XPending (gdk_display));
}
/*
@@ -214,7 +218,7 @@ graphics_expose_predicate (Display *display,
XEvent *xevent,
XPointer arg)
{
- if (xevent->xany.window == GDK_DRAWABLE_XID (arg) &&
+ if (xevent->xany.window == GDK_DRAWABLE_XID ((GdkDrawable *)arg) &&
(xevent->xany.type == GraphicsExpose ||
xevent->xany.type == NoExpose))
return True;
@@ -234,7 +238,7 @@ gdk_event_get_graphics_expose (GdkWindow *window)
if (xevent.xany.type == GraphicsExpose)
{
- event = gdk_event_new ();
+ event = _gdk_event_new ();
if (gdk_event_translate (event, &xevent, TRUE))
return event;
@@ -444,12 +448,12 @@ gdk_event_translate (GdkEvent *event,
window_private = NULL;
event->any.window = NULL;
- if (gdk_default_filters)
+ if (_gdk_default_filters)
{
/* Apply global filters */
GdkFilterReturn result;
result = gdk_event_apply_filters (xevent, event,
- gdk_default_filters);
+ _gdk_default_filters);
if (result != GDK_FILTER_CONTINUE)
{
@@ -600,7 +604,7 @@ gdk_event_translate (GdkEvent *event,
buf[charcount] = '\0';
#ifdef G_ENABLE_DEBUG
- if (gdk_debug_flags & GDK_DEBUG_EVENTS)
+ if (_gdk_debug_flags & GDK_DEBUG_EVENTS)
{
g_message ("key press:\twindow: %ld key: %12s %d",
xevent->xkey.window,
@@ -683,7 +687,7 @@ gdk_event_translate (GdkEvent *event,
if (window_private == NULL ||
((window_private->extension_events != 0) &&
- gdk_input_ignore_core))
+ _gdk_input_ignore_core))
{
return_val = FALSE;
break;
@@ -715,7 +719,7 @@ gdk_event_translate (GdkEvent *event,
event->scroll.x_root = (gfloat)xevent->xbutton.x_root;
event->scroll.y_root = (gfloat)xevent->xbutton.y_root;
event->scroll.state = (GdkModifierType) xevent->xbutton.state;
- event->scroll.device = gdk_core_pointer;
+ event->scroll.device = _gdk_core_pointer;
break;
default:
@@ -729,9 +733,9 @@ gdk_event_translate (GdkEvent *event,
event->button.axes = NULL;
event->button.state = (GdkModifierType) xevent->xbutton.state;
event->button.button = xevent->xbutton.button;
- event->button.device = gdk_core_pointer;
+ event->button.device = _gdk_core_pointer;
- gdk_event_button_generate (event);
+ _gdk_event_button_generate (event);
break;
}
@@ -746,7 +750,7 @@ gdk_event_translate (GdkEvent *event,
if (window_private == NULL ||
((window_private->extension_events != 0) &&
- gdk_input_ignore_core))
+ _gdk_input_ignore_core))
{
return_val = FALSE;
break;
@@ -770,7 +774,7 @@ gdk_event_translate (GdkEvent *event,
event->button.axes = NULL;
event->button.state = (GdkModifierType) xevent->xbutton.state;
event->button.button = xevent->xbutton.button;
- event->button.device = gdk_core_pointer;
+ event->button.device = _gdk_core_pointer;
break;
@@ -783,7 +787,7 @@ gdk_event_translate (GdkEvent *event,
if (window_private == NULL ||
((window_private->extension_events != 0) &&
- gdk_input_ignore_core))
+ _gdk_input_ignore_core))
{
return_val = FALSE;
break;
@@ -799,7 +803,7 @@ gdk_event_translate (GdkEvent *event,
event->motion.axes = NULL;
event->motion.state = (GdkModifierType) xevent->xmotion.state;
event->motion.is_hint = xevent->xmotion.is_hint;
- event->motion.device = gdk_core_pointer;
+ event->motion.device = _gdk_core_pointer;
break;
@@ -1158,7 +1162,7 @@ gdk_event_translate (GdkEvent *event,
case VisibilityNotify:
#ifdef G_ENABLE_DEBUG
- if (gdk_debug_flags & GDK_DEBUG_EVENTS)
+ if (_gdk_debug_flags & GDK_DEBUG_EVENTS)
switch (xevent->xvisibility.state)
{
case VisibilityFullyObscured:
@@ -1254,8 +1258,8 @@ gdk_event_translate (GdkEvent *event,
0,
GDK_WINDOW_STATE_ICONIFIED);
- if (gdk_xgrab_window == window_private)
- gdk_xgrab_window = NULL;
+ if (_gdk_xgrab_window == window_private)
+ _gdk_xgrab_window = NULL;
break;
@@ -1330,7 +1334,7 @@ gdk_event_translate (GdkEvent *event,
gdk_error_trap_push ();
if (XTranslateCoordinates (GDK_DRAWABLE_XDISPLAY (window),
GDK_DRAWABLE_XID (window),
- gdk_root_window,
+ _gdk_root_window,
0, 0,
&tx, &ty,
&child_window))
@@ -1578,14 +1582,14 @@ gdk_event_translate (GdkEvent *event,
return return_val;
}
-GdkFilterReturn
+static GdkFilterReturn
gdk_wm_protocols_filter (GdkXEvent *xev,
GdkEvent *event,
gpointer data)
{
XEvent *xevent = (XEvent *)xev;
- if ((Atom) xevent->xclient.data.l[0] == gdk_wm_delete_window)
+ if ((Atom) xevent->xclient.data.l[0] == gdk_atom_intern ("WM_DELETE_WINDOW", FALSE))
{
/* The delete window request specifies a window
* to delete. We don't actually destroy the
@@ -1603,7 +1607,7 @@ gdk_wm_protocols_filter (GdkXEvent *xev,
return GDK_FILTER_TRANSLATE;
}
- else if ((Atom) xevent->xclient.data.l[0] == gdk_wm_take_focus)
+ else if ((Atom) xevent->xclient.data.l[0] == gdk_atom_intern ("WM_TAKE_FOCUS", FALSE))
{
GdkWindow *win = event->any.window;
Window focus_win = GDK_WINDOW_IMPL_X11(((GdkWindowObject *)win)->impl)->focus_window;
@@ -1623,8 +1627,8 @@ gdk_wm_protocols_filter (GdkXEvent *xev,
{
XEvent xev = *xevent;
- xev.xclient.window = gdk_root_window;
- XSendEvent (gdk_display, gdk_root_window, False, SubstructureRedirectMask | SubstructureNotifyMask, &xev);
+ xev.xclient.window = _gdk_root_window;
+ XSendEvent (gdk_display, _gdk_root_window, False, SubstructureRedirectMask | SubstructureNotifyMask, &xev);
}
return GDK_FILTER_REMOVE;
@@ -1650,13 +1654,13 @@ gdk_event_get_type (Display *display,
#endif
void
-gdk_events_queue (void)
+_gdk_events_queue (void)
{
GList *node;
GdkEvent *event;
XEvent xevent;
- while (!gdk_event_queue_find_first() && XPending (gdk_display))
+ while (!_gdk_event_queue_find_first() && XPending (gdk_display))
{
XNextEvent (gdk_display, &xevent);
@@ -1670,7 +1674,7 @@ gdk_events_queue (void)
continue;
}
- event = gdk_event_new ();
+ event = _gdk_event_new ();
event->any.type = GDK_NOTHING;
event->any.window = NULL;
@@ -1678,8 +1682,8 @@ gdk_events_queue (void)
((GdkEventPrivate *)event)->flags |= GDK_EVENT_PENDING;
- gdk_event_queue_append (event);
- node = gdk_queued_tail;
+ _gdk_event_queue_append (event);
+ node = _gdk_queued_tail;
if (gdk_event_translate (event, &xevent, FALSE))
{
@@ -1687,7 +1691,7 @@ gdk_events_queue (void)
}
else
{
- gdk_event_queue_remove_link (node);
+ _gdk_event_queue_remove_link (node);
g_list_free_1 (node);
gdk_event_free (event);
}
@@ -1704,7 +1708,7 @@ gdk_event_prepare (GSource *source,
*timeout = -1;
- retval = (gdk_event_queue_find_first () != NULL) || XPending (gdk_display);
+ retval = (_gdk_event_queue_find_first () != NULL) || XPending (gdk_display);
GDK_THREADS_LEAVE ();
@@ -1719,7 +1723,7 @@ gdk_event_check (GSource *source)
GDK_THREADS_ENTER ();
if (event_poll_fd.revents & G_IO_IN)
- retval = (gdk_event_queue_find_first () != NULL) || XPending (gdk_display);
+ retval = (_gdk_event_queue_find_first () != NULL) || XPending (gdk_display);
else
retval = FALSE;
@@ -1737,13 +1741,13 @@ gdk_event_dispatch (GSource *source,
GDK_THREADS_ENTER ();
- gdk_events_queue();
- event = gdk_event_unqueue();
+ _gdk_events_queue();
+ event = _gdk_event_unqueue();
if (event)
{
- if (gdk_event_func)
- (*gdk_event_func) (event, gdk_event_data);
+ if (_gdk_event_func)
+ (*_gdk_event_func) (event, _gdk_event_data);
gdk_event_free (event);
}
@@ -1785,7 +1789,7 @@ gdk_event_send_client_message_to_all_recurse (XEvent *xev,
unsigned char *data;
Window *ret_children, ret_root, ret_parent;
unsigned int ret_nchildren;
- gint old_warnings = gdk_error_warnings;
+ gint old_warnings = _gdk_error_warnings;
gboolean send = FALSE;
gboolean found = FALSE;
int i;
@@ -1793,14 +1797,14 @@ gdk_event_send_client_message_to_all_recurse (XEvent *xev,
if (!wm_state_atom)
wm_state_atom = gdk_atom_intern ("WM_STATE", FALSE);
- gdk_error_warnings = FALSE;
- gdk_error_code = 0;
+ _gdk_error_warnings = FALSE;
+ _gdk_error_code = 0;
XGetWindowProperty (gdk_display, xid, wm_state_atom, 0, 0, False, AnyPropertyType,
&type, &format, &nitems, &after, &data);
- if (gdk_error_code)
+ if (_gdk_error_code)
{
- gdk_error_warnings = old_warnings;
+ _gdk_error_warnings = old_warnings;
return FALSE;
}
@@ -1815,9 +1819,9 @@ gdk_event_send_client_message_to_all_recurse (XEvent *xev,
/* OK, we're all set, now let's find some windows to send this to */
if (XQueryTree (gdk_display, xid, &ret_root, &ret_parent,
&ret_children, &ret_nchildren) != True ||
- gdk_error_code)
+ _gdk_error_code)
{
- gdk_error_warnings = old_warnings;
+ _gdk_error_warnings = old_warnings;
return FALSE;
}
@@ -1835,7 +1839,7 @@ gdk_event_send_client_message_to_all_recurse (XEvent *xev,
gdk_send_xevent (xid, False, NoEventMask, xev);
}
- gdk_error_warnings = old_warnings;
+ _gdk_error_warnings = old_warnings;
return (send || found);
}
@@ -1844,7 +1848,7 @@ void
gdk_event_send_clientmessage_toall (GdkEvent *event)
{
XEvent sev;
- gint old_warnings = gdk_error_warnings;
+ gint old_warnings = _gdk_error_warnings;
g_return_if_fail(event != NULL);
@@ -1855,9 +1859,9 @@ gdk_event_send_clientmessage_toall (GdkEvent *event)
memcpy(&sev.xclient.data, &event->client.data, sizeof(sev.xclient.data));
sev.xclient.message_type = event->client.message_type;
- gdk_event_send_client_message_to_all_recurse(&sev, gdk_root_window, 0);
+ gdk_event_send_client_message_to_all_recurse(&sev, _gdk_root_window, 0);
- gdk_error_warnings = old_warnings;
+ _gdk_error_warnings = old_warnings;
}
/*
@@ -1990,7 +1994,7 @@ gdk_net_wm_supports (GdkAtom property)
if (wmspec_supported_atom == 0)
wmspec_supported_atom = gdk_atom_intern ("_NET_SUPPORTED", FALSE);
- XGetWindowProperty (gdk_display, gdk_root_window,
+ XGetWindowProperty (gdk_display, _gdk_root_window,
wmspec_check_atom, 0, G_MAXLONG,
False, XA_WINDOW, &type, &format, &nitems,
&bytes_after, (guchar **)&xwindow);
@@ -2012,7 +2016,7 @@ gdk_net_wm_supports (GdkAtom property)
return FALSE;
}
- XGetWindowProperty (gdk_display, gdk_root_window,
+ XGetWindowProperty (gdk_display, _gdk_root_window,
wmspec_supported_atom, 0, G_MAXLONG,
False, XA_ATOM, &type, &format, &n_atoms,
&bytes_after, (guchar **)&atoms);
@@ -2175,7 +2179,7 @@ gdk_setting_get (const gchar *name,
return success;
}
-GdkFilterReturn
+static GdkFilterReturn
gdk_xsettings_client_event_filter (GdkXEvent *xevent,
GdkEvent *event,
gpointer data)
diff --git a/gdk/x11/gdkfont-x11.c b/gdk/x11/gdkfont-x11.c
index 1f4b76c1c7..efec6f2c43 100644
--- a/gdk/x11/gdkfont-x11.c
+++ b/gdk/x11/gdkfont-x11.c
@@ -32,6 +32,19 @@
#include "gdkfont.h"
#include "gdkprivate-x11.h"
+typedef struct _GdkFontPrivateX GdkFontPrivateX;
+
+struct _GdkFontPrivateX
+{
+ GdkFontPrivate base;
+ /* XFontStruct *xfont; */
+ /* generic pointer point to XFontStruct or XFontSet */
+ gpointer xfont;
+ Display *xdisplay;
+
+ GSList *names;
+};
+
static GHashTable *font_name_hash = NULL;
static GHashTable *fontset_name_hash = NULL;
@@ -648,3 +661,20 @@ gdk_text_extents_wc (GdkFont *font,
}
}
+
+Display *
+gdk_x11_font_get_xdisplay (GdkFont *font)
+{
+ g_return_val_if_fail (font != NULL, NULL);
+
+ return ((GdkFontPrivateX *)font)->xdisplay;
+}
+
+gpointer
+gdk_x11_font_get_xfont (GdkFont *font)
+{
+ g_return_val_if_fail (font != NULL, NULL);
+
+ return ((GdkFontPrivateX *)font)->xfont;
+}
+
diff --git a/gdk/x11/gdkgc-x11.c b/gdk/x11/gdkgc-x11.c
index 34f90a0d28..ce3c60490e 100644
--- a/gdk/x11/gdkgc-x11.c
+++ b/gdk/x11/gdkgc-x11.c
@@ -62,7 +62,7 @@ static void gdk_gc_x11_finalize (GObject *object);
static gpointer parent_class = NULL;
GType
-gdk_gc_x11_get_type (void)
+_gdk_gc_x11_get_type (void)
{
static GType object_type = 0;
@@ -139,7 +139,7 @@ _gdk_x11_gc_new (GdkDrawable *drawable,
*/
g_return_val_if_fail (GDK_IS_DRAWABLE_IMPL_X11 (drawable), NULL);
- gc = g_object_new (gdk_gc_x11_get_type (), NULL);
+ gc = g_object_new (_gdk_gc_x11_get_type (), NULL);
private = GDK_GC_X11 (gc);
private->dirty_mask = 0;
@@ -734,3 +734,26 @@ gdk_gc_copy (GdkGC *dst_gc, GdkGC *src_gc)
x11_dst_gc->dirty_mask = x11_src_gc->dirty_mask;
x11_dst_gc->fg_pixel = x11_src_gc->fg_pixel;
}
+
+Display *
+gdk_x11_gc_get_xdisplay (GdkGC *gc)
+{
+ g_return_val_if_fail (GDK_IS_GC_X11 (gc), NULL);
+
+ return GDK_GC_X11(gc)->xdisplay;
+}
+
+GC
+gdk_x11_gc_get_xgc (GdkGC *gc)
+{
+ GdkGCX11 *gc_x11;
+
+ g_return_val_if_fail (GDK_IS_GC_X11 (gc), NULL);
+
+ gc_x11 = GDK_GC_X11 (gc);
+
+ if (gc_x11->dirty_mask)
+ _gdk_x11_gc_flush (gc);
+
+ return gc_x11->xgc;
+}
diff --git a/gdk/x11/gdkglobals-x11.c b/gdk/x11/gdkglobals-x11.c
index 104b79f9ef..ffa30896c3 100644
--- a/gdk/x11/gdkglobals-x11.c
+++ b/gdk/x11/gdkglobals-x11.c
@@ -30,23 +30,15 @@
#include "gdkprivate-x11.h"
#include "config.h"
-gboolean gdk_use_xshm = TRUE;
-gchar *gdk_display_name = NULL;
+gboolean _gdk_use_xshm = TRUE;
+gchar *_gdk_display_name = NULL;
Display *gdk_display = NULL;
-gint gdk_screen;
-Window gdk_root_window;
-Window gdk_leader_window;
-Atom gdk_wm_delete_window;
-Atom gdk_wm_take_focus;
-Atom gdk_wm_protocols;
-Atom gdk_wm_window_protocols[3];
-Atom gdk_selection_property;
-gchar *gdk_progclass = NULL;
-gboolean gdk_null_window_warnings = TRUE;
+gint _gdk_screen;
+Window _gdk_root_window;
+Window _gdk_leader_window;
+Atom _gdk_wm_window_protocols[3];
+Atom _gdk_selection_property;
-gboolean gdk_xim_using; /* using XIM Protocol if TRUE */
-GdkWindow *gdk_xim_window; /* currently using Widow */
-
-GdkWindowObject *gdk_xgrab_window = NULL; /* Window that currently holds the
+GdkWindowObject *_gdk_xgrab_window = NULL; /* Window that currently holds the
* x pointer grab
*/
diff --git a/gdk/x11/gdkimage-x11.c b/gdk/x11/gdkimage-x11.c
index d957595ce3..21302d7e6f 100644
--- a/gdk/x11/gdkimage-x11.c
+++ b/gdk/x11/gdkimage-x11.c
@@ -52,6 +52,15 @@
#include "gdkprivate.h"
#include "gdkprivate-x11.h"
+typedef struct _GdkImagePrivateX11 GdkImagePrivateX11;
+
+struct _GdkImagePrivateX11
+{
+ XImage *ximage;
+ Display *xdisplay;
+ gpointer x_shm_info;
+};
+
static GList *image_list = NULL;
static gpointer parent_class = NULL;
@@ -118,7 +127,7 @@ gdk_image_finalize (GObject *object)
void
-gdk_image_exit (void)
+_gdk_image_exit (void)
{
GdkImage *image;
@@ -187,11 +196,11 @@ gdk_image_check_xshm(Display *display)
void
_gdk_windowing_image_init (void)
{
- if (gdk_use_xshm)
+ if (_gdk_use_xshm)
{
if (!gdk_image_check_xshm (gdk_display))
{
- gdk_use_xshm = False;
+ _gdk_use_xshm = False;
}
}
}
@@ -237,7 +246,7 @@ gdk_image_new (GdkImageType type,
{
case GDK_IMAGE_SHARED:
#ifdef USE_SHM
- if (gdk_use_xshm)
+ if (_gdk_use_xshm)
{
private->x_shm_info = g_new (XShmSegmentInfo, 1);
x_shm_info = private->x_shm_info;
@@ -249,7 +258,7 @@ gdk_image_new (GdkImageType type,
if (private->ximage == NULL)
{
g_warning ("XShmCreateImage failed");
- gdk_use_xshm = FALSE;
+ _gdk_use_xshm = FALSE;
goto error;
}
@@ -268,7 +277,7 @@ gdk_image_new (GdkImageType type,
if (errno != EINVAL)
{
g_warning ("shmget failed: error %d (%s)", errno, g_strerror (errno));
- gdk_use_xshm = FALSE;
+ _gdk_use_xshm = FALSE;
}
goto error;
@@ -285,7 +294,7 @@ gdk_image_new (GdkImageType type,
* EMFILE, which would mean that we've exceeded the per-process
* Shm segment limit.
*/
- gdk_use_xshm = FALSE;
+ _gdk_use_xshm = FALSE;
goto error;
}
@@ -297,7 +306,7 @@ gdk_image_new (GdkImageType type,
if (gdk_error_trap_pop ())
{
/* this is the common failure case so omit warning */
- gdk_use_xshm = FALSE;
+ _gdk_use_xshm = FALSE;
goto error;
}
@@ -408,7 +417,7 @@ _gdk_x11_get_image (GdkDrawable *drawable,
/* Translate screen area into window coordinates */
XTranslateCoordinates (gdk_display,
- gdk_root_window,
+ _gdk_root_window,
impl->xid,
0, 0,
&screen_rect.x, &screen_rect.y,
@@ -599,7 +608,7 @@ gdk_x11_image_destroy (GdkImage *image)
private = PRIVATE_DATA (image);
- if (private == NULL) /* This means that gdk_image_exit() destroyed the
+ if (private == NULL) /* This means that _gdk_image_exit() destroyed the
* image already, and now we're called a second
* time from _finalize()
*/
@@ -640,3 +649,27 @@ gdk_x11_image_destroy (GdkImage *image)
g_free (private);
image->windowing_data = NULL;
}
+
+Display *
+gdk_x11_image_get_xdisplay (GdkImage *image)
+{
+ GdkImagePrivateX11 *private;
+
+ g_return_val_if_fail (GDK_IS_IMAGE (image), NULL);
+
+ private = PRIVATE_DATA (image);
+
+ return private->xdisplay;
+}
+
+XImage *
+gdk_x11_image_get_ximage (GdkImage *image)
+{
+ GdkImagePrivateX11 *private;
+
+ g_return_val_if_fail (GDK_IS_IMAGE (image), NULL);
+
+ private = PRIVATE_DATA (image);
+
+ return private->ximage;
+}
diff --git a/gdk/x11/gdkinput-gxi.c b/gdk/x11/gdkinput-gxi.c
index b7469cea01..aecb850bed 100644
--- a/gdk/x11/gdkinput-gxi.c
+++ b/gdk/x11/gdkinput-gxi.c
@@ -49,30 +49,30 @@ static GdkDevicePrivate *gdk_input_current_device;
static GdkDevicePrivate *gdk_input_core_pointer;
void
-gdk_input_init(void)
+_gdk_input_init(void)
{
GList *tmp_list;
_gdk_init_input_core ();
- gdk_input_ignore_core = FALSE;
+ _gdk_input_ignore_core = FALSE;
gdk_input_core_pointer = NULL;
- if (!gdk_input_gxid_host)
+ if (!_gdk_input_gxid_host)
{
- gdk_input_gxid_host = getenv("GXID_HOST");
+ _gdk_input_gxid_host = getenv("GXID_HOST");
}
- if (!gdk_input_gxid_port)
+ if (!_gdk_input_gxid_port)
{
char *t = getenv("GXID_PORT");
if (t)
- gdk_input_gxid_port = atoi(t);
+ _gdk_input_gxid_port = atoi(t);
}
gdk_input_common_init(TRUE);
/* find initial core pointer */
- for (tmp_list = gdk_input_devices; tmp_list; tmp_list = tmp_list->next)
+ for (tmp_list = _gdk_input_devices; tmp_list; tmp_list = tmp_list->next)
{
GdkDevicePrivate *gdkdev = (GdkDevicePrivate *)tmp_list->data;
if (gdk_input_is_extension_device (gdkdev))
@@ -94,7 +94,7 @@ gdk_input_gxi_select_notify (GdkDevicePrivate *gdkdev)
ChangeDeviceNotify (gdkdev->xdevice, gdkdev->changenotify_type, class);
- XSelectExtensionEvent (gdk_display, gdk_root_window, &class, 1);
+ XSelectExtensionEvent (gdk_display, _gdk_root_window, &class, 1);
}
/* Set the core pointer. Device should already be enabled. */
@@ -167,7 +167,7 @@ gdk_device_set_mode (GdkDevice *device,
if (old_mode != GDK_MODE_DISABLED)
{
- for (tmp_list = gdk_input_windows; tmp_list; tmp_list = tmp_list->next)
+ for (tmp_list = _gdk_input_windows; tmp_list; tmp_list = tmp_list->next)
{
input_window = (GdkInputWindow *)tmp_list->data;
if (input_window->mode != GDK_EXTENSION_EVENTS_CURSOR)
@@ -177,7 +177,7 @@ gdk_device_set_mode (GdkDevice *device,
if (mode != GDK_MODE_DISABLED)
{
- for (tmp_list = gdk_input_windows; tmp_list; tmp_list = tmp_list->next)
+ for (tmp_list = _gdk_input_windows; tmp_list; tmp_list = tmp_list->next)
{
input_window = (GdkInputWindow *)tmp_list->data;
if (input_window->mode != GDK_EXTENSION_EVENTS_CURSOR)
@@ -320,7 +320,7 @@ gdk_input_gxi_update_device (GdkDevicePrivate *gdkdev)
}
if (gdkdev->needs_update && gdkdev->xdevice)
{
- for (t = gdk_input_windows; t; t = t->next)
+ for (t = _gdk_input_windows; t; t = t->next)
gdk_input_common_select_events (((GdkInputWindow *)t->data)->window,
gdkdev);
gdkdev->needs_update = 0;
@@ -365,7 +365,7 @@ _gdk_input_enable_window (GdkWindow *window, GdkDevicePrivate *gdkdev)
if (!gdkdev->claimed)
{
- if (gxid_claim_device(gdk_input_gxid_host, gdk_input_gxid_port,
+ if (gxid_claim_device(_gdk_input_gxid_host, _gdk_input_gxid_port,
gdkdev->deviceid,
GDK_WINDOW_XWINDOW(window), FALSE) !=
GXID_RETURN_OK)
@@ -394,7 +394,7 @@ _gdk_input_disable_window (GdkWindow *window, GdkDevicePrivate *gdkdev)
if (gdkdev->claimed)
{
- gxid_release_device(gdk_input_gxid_host, gdk_input_gxid_port,
+ gxid_release_device(_gdk_input_gxid_host, _gdk_input_gxid_port,
gdkdev->deviceid,
GDK_WINDOW_XWINDOW(window));
@@ -529,7 +529,7 @@ _gdk_input_grab_pointer (GdkWindow * window,
GdkInputWindow *input_window;
GdkDevicePrivate *gdkdev;
- tmp_list = gdk_input_windows;
+ tmp_list = _gdk_input_windows;
while (tmp_list)
{
input_window = (GdkInputWindow *)tmp_list->data;
@@ -542,7 +542,7 @@ _gdk_input_grab_pointer (GdkWindow * window,
tmp_list = tmp_list->next;
}
- tmp_list = gdk_input_devices;
+ tmp_list = _gdk_input_devices;
while (tmp_list)
{
gdkdev = (GdkDevicePrivate *)tmp_list->data;
@@ -563,7 +563,7 @@ _gdk_input_ungrab_pointer (guint32 time)
GdkInputWindow *input_window;
GList *tmp_list;
- tmp_list = gdk_input_windows;
+ tmp_list = _gdk_input_windows;
while (tmp_list)
{
input_window = (GdkInputWindow *)tmp_list->data;
diff --git a/gdk/x11/gdkinput-none.c b/gdk/x11/gdkinput-none.c
index 3295169d5d..616809afc9 100644
--- a/gdk/x11/gdkinput-none.c
+++ b/gdk/x11/gdkinput-none.c
@@ -27,12 +27,12 @@
*/
void
-gdk_input_init (void)
+_gdk_input_init (void)
{
_gdk_init_input_core ();
- gdk_input_devices = g_list_append (NULL, gdk_core_pointer);
+ _gdk_input_devices = g_list_append (NULL, _gdk_core_pointer);
- gdk_input_ignore_core = FALSE;
+ _gdk_input_ignore_core = FALSE;
}
void
diff --git a/gdk/x11/gdkinput-x11.c b/gdk/x11/gdkinput-x11.c
index dfdae3d949..770c9b874a 100644
--- a/gdk/x11/gdkinput-x11.c
+++ b/gdk/x11/gdkinput-x11.c
@@ -47,7 +47,7 @@ static guint gdk_input_translate_state(guint state, guint device_state);
GdkDevicePrivate *
gdk_input_find_device (guint32 id)
{
- GList *tmp_list = gdk_input_devices;
+ GList *tmp_list = _gdk_input_devices;
GdkDevicePrivate *gdkdev;
while (tmp_list)
{
@@ -386,7 +386,7 @@ gdk_input_common_init(gint include_core)
for (loop = 0; loop < num_extensions &&
(strcmp(extensions[loop], "XInputExtension") != 0); loop++);
XFreeExtensionList(extensions);
- gdk_input_devices = NULL;
+ _gdk_input_devices = NULL;
if (loop < num_extensions)
{
/* XInput extension found */
@@ -398,12 +398,12 @@ gdk_input_common_init(gint include_core)
GdkDevicePrivate *gdkdev = gdk_input_device_new(&devices[loop],
include_core);
if (gdkdev)
- gdk_input_devices = g_list_append(gdk_input_devices, gdkdev);
+ _gdk_input_devices = g_list_append(_gdk_input_devices, gdkdev);
}
XFreeDeviceList(devices);
}
- gdk_input_devices = g_list_append (gdk_input_devices, gdk_core_pointer);
+ _gdk_input_devices = g_list_append (_gdk_input_devices, _gdk_core_pointer);
return TRUE;
}
diff --git a/gdk/x11/gdkinput-xfree.c b/gdk/x11/gdkinput-xfree.c
index e2260934e9..fe7cafdebc 100644
--- a/gdk/x11/gdkinput-xfree.c
+++ b/gdk/x11/gdkinput-xfree.c
@@ -31,10 +31,10 @@
static void gdk_input_check_proximity (void);
void
-gdk_input_init(void)
+_gdk_input_init(void)
{
_gdk_init_input_core ();
- gdk_input_ignore_core = FALSE;
+ _gdk_input_ignore_core = FALSE;
gdk_input_common_init(FALSE);
}
@@ -61,7 +61,7 @@ gdk_device_set_mode (GdkDevice *device,
if (mode == GDK_MODE_WINDOW)
{
device->has_cursor = FALSE;
- for (tmp_list = gdk_input_windows; tmp_list; tmp_list = tmp_list->next)
+ for (tmp_list = _gdk_input_windows; tmp_list; tmp_list = tmp_list->next)
{
input_window = (GdkInputWindow *)tmp_list->data;
if (input_window->mode != GDK_EXTENSION_EVENTS_CURSOR)
@@ -74,13 +74,13 @@ gdk_device_set_mode (GdkDevice *device,
else if (mode == GDK_MODE_SCREEN)
{
device->has_cursor = TRUE;
- for (tmp_list = gdk_input_windows; tmp_list; tmp_list = tmp_list->next)
+ for (tmp_list = _gdk_input_windows; tmp_list; tmp_list = tmp_list->next)
_gdk_input_enable_window (((GdkInputWindow *)tmp_list->data)->window,
gdkdev);
}
else /* mode == GDK_MODE_DISABLED */
{
- for (tmp_list = gdk_input_windows; tmp_list; tmp_list = tmp_list->next)
+ for (tmp_list = _gdk_input_windows; tmp_list; tmp_list = tmp_list->next)
{
input_window = (GdkInputWindow *)tmp_list->data;
if (old_mode != GDK_MODE_WINDOW ||
@@ -97,7 +97,7 @@ static void
gdk_input_check_proximity (void)
{
gint new_proximity = 0;
- GList *tmp_list = gdk_input_devices;
+ GList *tmp_list = _gdk_input_devices;
while (tmp_list && !new_proximity)
{
@@ -132,7 +132,7 @@ gdk_input_check_proximity (void)
tmp_list = tmp_list->next;
}
- gdk_input_ignore_core = new_proximity;
+ _gdk_input_ignore_core = new_proximity;
}
void
@@ -202,14 +202,14 @@ _gdk_input_other_event (GdkEvent *event,
&& input_window->mode == GDK_EXTENSION_EVENTS_CURSOR))
return FALSE;
- if (!gdk_input_ignore_core)
+ if (!_gdk_input_ignore_core)
gdk_input_check_proximity();
return_val = gdk_input_common_other_event (event, xevent,
input_window, gdkdev);
if (return_val > 0 && event->type == GDK_PROXIMITY_OUT &&
- gdk_input_ignore_core)
+ _gdk_input_ignore_core)
gdk_input_check_proximity();
return return_val;
@@ -245,7 +245,7 @@ _gdk_input_grab_pointer (GdkWindow * window,
gint num_classes;
gint result;
- tmp_list = gdk_input_windows;
+ tmp_list = _gdk_input_windows;
new_window = NULL;
need_ungrab = FALSE;
@@ -268,7 +268,7 @@ _gdk_input_grab_pointer (GdkWindow * window,
{
new_window->grabbed = TRUE;
- tmp_list = gdk_input_devices;
+ tmp_list = _gdk_input_devices;
while (tmp_list)
{
gdkdev = (GdkDevicePrivate *)tmp_list->data;
@@ -293,7 +293,7 @@ _gdk_input_grab_pointer (GdkWindow * window,
}
else
{
- tmp_list = gdk_input_devices;
+ tmp_list = _gdk_input_devices;
while (tmp_list)
{
gdkdev = (GdkDevicePrivate *)tmp_list->data;
@@ -319,7 +319,7 @@ _gdk_input_ungrab_pointer (guint32 time)
GdkDevicePrivate *gdkdev;
GList *tmp_list;
- tmp_list = gdk_input_windows;
+ tmp_list = _gdk_input_windows;
while (tmp_list)
{
input_window = (GdkInputWindow *)tmp_list->data;
@@ -332,7 +332,7 @@ _gdk_input_ungrab_pointer (guint32 time)
{
input_window->grabbed = FALSE;
- tmp_list = gdk_input_devices;
+ tmp_list = _gdk_input_devices;
while (tmp_list)
{
gdkdev = (GdkDevicePrivate *)tmp_list->data;
diff --git a/gdk/x11/gdkinput.c b/gdk/x11/gdkinput.c
index 7e952c4492..4f16a4f62a 100644
--- a/gdk/x11/gdkinput.c
+++ b/gdk/x11/gdkinput.c
@@ -39,31 +39,31 @@ static GdkDeviceAxis gdk_input_core_axes[] = {
{ GDK_AXIS_Y, 0, 0 }
};
-GdkDevice *gdk_core_pointer = NULL;
+GdkDevice *_gdk_core_pointer = NULL;
/* Global variables */
/* information about network port and host for gxid daemon */
-gchar *gdk_input_gxid_host;
-gint gdk_input_gxid_port;
-gint gdk_input_ignore_core;
+gchar *_gdk_input_gxid_host;
+gint _gdk_input_gxid_port;
+gint _gdk_input_ignore_core;
-GList *gdk_input_devices;
-GList *gdk_input_windows;
+GList *_gdk_input_devices;
+GList *_gdk_input_windows;
void
_gdk_init_input_core (void)
{
- gdk_core_pointer = g_object_new (GDK_TYPE_DEVICE, NULL);
+ _gdk_core_pointer = g_object_new (GDK_TYPE_DEVICE, NULL);
- gdk_core_pointer->name = "Core Pointer";
- gdk_core_pointer->source = GDK_SOURCE_MOUSE;
- gdk_core_pointer->mode = GDK_MODE_SCREEN;
- gdk_core_pointer->has_cursor = TRUE;
- gdk_core_pointer->num_axes = 2;
- gdk_core_pointer->axes = gdk_input_core_axes;
- gdk_core_pointer->num_keys = 0;
- gdk_core_pointer->keys = NULL;
+ _gdk_core_pointer->name = "Core Pointer";
+ _gdk_core_pointer->source = GDK_SOURCE_MOUSE;
+ _gdk_core_pointer->mode = GDK_MODE_SCREEN;
+ _gdk_core_pointer->has_cursor = TRUE;
+ _gdk_core_pointer->num_axes = 2;
+ _gdk_core_pointer->axes = gdk_input_core_axes;
+ _gdk_core_pointer->num_keys = 0;
+ _gdk_core_pointer->keys = NULL;
}
GType
@@ -97,7 +97,7 @@ gdk_device_get_type (void)
GList *
gdk_devices_list (void)
{
- return gdk_input_devices;
+ return _gdk_input_devices;
}
void
@@ -233,7 +233,7 @@ gdk_input_window_find(GdkWindow *window)
{
GList *tmp_list;
- for (tmp_list=gdk_input_windows; tmp_list; tmp_list=tmp_list->next)
+ for (tmp_list=_gdk_input_windows; tmp_list; tmp_list=tmp_list->next)
if (((GdkInputWindow *)(tmp_list->data))->window == window)
return (GdkInputWindow *)(tmp_list->data);
@@ -275,7 +275,7 @@ gdk_input_set_extension_events (GdkWindow *window, gint mask,
iw->num_obscuring = 0;
iw->grabbed = FALSE;
- gdk_input_windows = g_list_append(gdk_input_windows,iw);
+ _gdk_input_windows = g_list_append(_gdk_input_windows,iw);
window_private->extension_events = mask;
/* Add enter window events to the event mask */
@@ -289,14 +289,14 @@ gdk_input_set_extension_events (GdkWindow *window, gint mask,
iw = gdk_input_window_find (window);
if (iw)
{
- gdk_input_windows = g_list_remove(gdk_input_windows,iw);
+ _gdk_input_windows = g_list_remove(_gdk_input_windows,iw);
g_free(iw);
}
window_private->extension_events = 0;
}
- for (tmp_list = gdk_input_devices; tmp_list; tmp_list = tmp_list->next)
+ for (tmp_list = _gdk_input_devices; tmp_list; tmp_list = tmp_list->next)
{
GdkDevicePrivate *gdkdev = tmp_list->data;
@@ -319,17 +319,17 @@ gdk_input_window_destroy (GdkWindow *window)
input_window = gdk_input_window_find (window);
g_return_if_fail (input_window != NULL);
- gdk_input_windows = g_list_remove (gdk_input_windows,input_window);
+ _gdk_input_windows = g_list_remove (_gdk_input_windows,input_window);
g_free(input_window);
}
void
-gdk_input_exit (void)
+_gdk_input_exit (void)
{
GList *tmp_list;
GdkDevicePrivate *gdkdev;
- for (tmp_list = gdk_input_devices; tmp_list; tmp_list = tmp_list->next)
+ for (tmp_list = _gdk_input_devices; tmp_list; tmp_list = tmp_list->next)
{
gdkdev = (GdkDevicePrivate *)(tmp_list->data);
if (!GDK_IS_CORE (gdkdev))
@@ -346,12 +346,12 @@ gdk_input_exit (void)
}
}
- g_list_free(gdk_input_devices);
+ g_list_free(_gdk_input_devices);
- for (tmp_list = gdk_input_windows; tmp_list; tmp_list = tmp_list->next)
+ for (tmp_list = _gdk_input_windows; tmp_list; tmp_list = tmp_list->next)
g_free(tmp_list->data);
- g_list_free(gdk_input_windows);
+ g_list_free(_gdk_input_windows);
}
/**
diff --git a/gdk/x11/gdkinputprivate.h b/gdk/x11/gdkinputprivate.h
index acfb26d23d..cb19db41e1 100644
--- a/gdk/x11/gdkinputprivate.h
+++ b/gdk/x11/gdkinputprivate.h
@@ -124,15 +124,15 @@ struct _GdkInputWindow
/* Global data */
-#define GDK_IS_CORE(d) (((GdkDevice *)(d)) == gdk_core_pointer)
+#define GDK_IS_CORE(d) (((GdkDevice *)(d)) == _gdk_core_pointer)
-extern GList *gdk_input_devices;
-extern GList *gdk_input_windows;
+extern GList *_gdk_input_devices;
+extern GList *_gdk_input_windows;
/* information about network port and host for gxid daemon */
-extern gchar *gdk_input_gxid_host;
-extern gint gdk_input_gxid_port;
-extern gint gdk_input_ignore_core;
+extern gchar *_gdk_input_gxid_host;
+extern gint _gdk_input_gxid_port;
+extern gint _gdk_input_ignore_core;
/* Function declarations */
diff --git a/gdk/x11/gdkkeys-x11.c b/gdk/x11/gdkkeys-x11.c
index 63fa3cfb31..620d417525 100644
--- a/gdk/x11/gdkkeys-x11.c
+++ b/gdk/x11/gdkkeys-x11.c
@@ -194,7 +194,7 @@ get_keymap (void)
}
#if HAVE_XKB
-PangoDirection
+static PangoDirection
get_direction (void)
{
XkbDescRec *xkb = get_xkb ();
diff --git a/gdk/x11/gdkmain-x11.c b/gdk/x11/gdkmain-x11.c
index 677a0214ac..0f6476fe44 100644
--- a/gdk/x11/gdkmain-x11.c
+++ b/gdk/x11/gdkmain-x11.c
@@ -103,12 +103,11 @@ static const int gdk_ndebug_keys = sizeof(gdk_debug_keys)/sizeof(GDebugKey);
#endif /* G_ENABLE_DEBUG */
GdkArgDesc _gdk_windowing_args[] = {
- { "display", GDK_ARG_STRING, &gdk_display_name, (GdkArgFunc)NULL },
+ { "display", GDK_ARG_STRING, &_gdk_display_name, (GdkArgFunc)NULL },
{ "sync", GDK_ARG_BOOL, &gdk_synchronize, (GdkArgFunc)NULL },
- { "no-xshm", GDK_ARG_NOBOOL, &gdk_use_xshm, (GdkArgFunc)NULL },
- { "class", GDK_ARG_STRING, &gdk_progclass, (GdkArgFunc)NULL },
- { "gxid-host", GDK_ARG_STRING, &gdk_input_gxid_host, (GdkArgFunc)NULL },
- { "gxid-port", GDK_ARG_INT, &gdk_input_gxid_port, (GdkArgFunc)NULL },
+ { "no-xshm", GDK_ARG_NOBOOL, &_gdk_use_xshm, (GdkArgFunc)NULL },
+ { "gxid-host", GDK_ARG_STRING, &_gdk_input_gxid_host, (GdkArgFunc)NULL },
+ { "gxid-port", GDK_ARG_INT, &_gdk_input_gxid_port, (GdkArgFunc)NULL },
{ NULL }
};
@@ -122,46 +121,35 @@ _gdk_windowing_init_check (int argc, char **argv)
XSetErrorHandler (gdk_x_error);
XSetIOErrorHandler (gdk_x_io_error);
- gdk_display = XOpenDisplay (gdk_display_name);
+ gdk_display = XOpenDisplay (_gdk_display_name);
if (!gdk_display)
return FALSE;
if (gdk_synchronize)
XSynchronize (gdk_display, True);
- gdk_screen = DefaultScreen (gdk_display);
- gdk_root_window = RootWindow (gdk_display, gdk_screen);
+ _gdk_screen = DefaultScreen (gdk_display);
+ _gdk_root_window = RootWindow (gdk_display, _gdk_screen);
- gdk_leader_window = XCreateSimpleWindow(gdk_display, gdk_root_window,
+ _gdk_leader_window = XCreateSimpleWindow(gdk_display, _gdk_root_window,
10, 10, 10, 10, 0, 0 , 0);
class_hint = XAllocClassHint();
class_hint->res_name = g_get_prgname ();
- if (gdk_progclass == NULL)
- {
- gdk_progclass = g_strdup (g_get_prgname ());
- gdk_progclass[0] = toupper (gdk_progclass[0]);
- }
- class_hint->res_class = gdk_progclass;
- XmbSetWMProperties (gdk_display, gdk_leader_window,
+ class_hint->res_class = gdk_get_program_class ();
+ XmbSetWMProperties (gdk_display, _gdk_leader_window,
NULL, NULL, argv, argc,
NULL, NULL, class_hint);
XFree (class_hint);
pid = getpid();
- XChangeProperty (gdk_display, gdk_leader_window,
+ XChangeProperty (gdk_display, _gdk_leader_window,
gdk_atom_intern ("_NET_WM_PID", FALSE),
XA_CARDINAL, 32,
PropModeReplace,
(guchar *)&pid, 1);
- gdk_wm_delete_window = gdk_atom_intern ("WM_DELETE_WINDOW", FALSE);
- gdk_wm_take_focus = gdk_atom_intern ("WM_TAKE_FOCUS", FALSE);
- gdk_wm_protocols = gdk_atom_intern ("WM_PROTOCOLS", FALSE);
- gdk_wm_window_protocols[0] = gdk_wm_delete_window;
- gdk_wm_window_protocols[1] = gdk_wm_take_focus;
- gdk_wm_window_protocols[2] = gdk_atom_intern ("_NET_WM_PING", FALSE);
- gdk_selection_property = gdk_atom_intern ("GDK_SELECTION", FALSE);
-
+ _gdk_selection_property = gdk_atom_intern ("GDK_SELECTION", FALSE);
+
XGetKeyboardControl (gdk_display, &keyboard_state);
autorepeat = keyboard_state.global_auto_repeat;
@@ -205,13 +193,13 @@ _gdk_windowing_init_check (int argc, char **argv)
void
gdk_set_use_xshm (gboolean use_xshm)
{
- gdk_use_xshm = use_xshm;
+ _gdk_use_xshm = use_xshm;
}
gboolean
gdk_get_use_xshm (void)
{
- return gdk_use_xshm;
+ return _gdk_use_xshm;
}
static GdkGrabStatus
@@ -295,10 +283,10 @@ gdk_pointer_grab (GdkWindow * window,
xevent_mask = 0;
- for (i = 0; i < gdk_nevent_masks; i++)
+ for (i = 0; i < _gdk_nenvent_masks; i++)
{
if (event_mask & (1 << (i + 1)))
- xevent_mask |= gdk_event_mask_table[i];
+ xevent_mask |= _gdk_event_mask_table[i];
}
return_val = _gdk_input_grab_pointer (window,
@@ -323,7 +311,7 @@ gdk_pointer_grab (GdkWindow * window,
}
if (return_val == GrabSuccess)
- gdk_xgrab_window = (GdkWindowObject *)window;
+ _gdk_xgrab_window = (GdkWindowObject *)window;
return gdk_x11_convert_grab_status (return_val);
}
@@ -349,7 +337,7 @@ gdk_pointer_ungrab (guint32 time)
_gdk_input_ungrab_pointer (time);
XUngrabPointer (gdk_display, time);
- gdk_xgrab_window = NULL;
+ _gdk_xgrab_window = NULL;
}
/*
@@ -370,7 +358,7 @@ gdk_pointer_ungrab (guint32 time)
gboolean
gdk_pointer_is_grabbed (void)
{
- return gdk_xgrab_window != NULL;
+ return _gdk_xgrab_window != NULL;
}
/*
@@ -456,7 +444,7 @@ gdk_screen_width (void)
{
gint return_val;
- return_val = DisplayWidth (gdk_display, gdk_screen);
+ return_val = DisplayWidth (gdk_display, _gdk_screen);
return return_val;
}
@@ -481,7 +469,7 @@ gdk_screen_height (void)
{
gint return_val;
- return_val = DisplayHeight (gdk_display, gdk_screen);
+ return_val = DisplayHeight (gdk_display, _gdk_screen);
return return_val;
}
@@ -506,7 +494,7 @@ gdk_screen_width_mm (void)
{
gint return_val;
- return_val = DisplayWidthMM (gdk_display, gdk_screen);
+ return_val = DisplayWidthMM (gdk_display, _gdk_screen);
return return_val;
}
@@ -531,7 +519,7 @@ gdk_screen_height_mm (void)
{
gint return_val;
- return_val = DisplayHeightMM (gdk_display, gdk_screen);
+ return_val = DisplayHeightMM (gdk_display, _gdk_screen);
return return_val;
}
@@ -563,13 +551,13 @@ gdk_set_sm_client_id (const gchar* sm_client_id)
{
if (sm_client_id && strcmp (sm_client_id, ""))
{
- XChangeProperty (gdk_display, gdk_leader_window,
+ XChangeProperty (gdk_display, _gdk_leader_window,
gdk_atom_intern ("SM_CLIENT_ID", FALSE),
XA_STRING, 8, PropModeReplace,
sm_client_id, strlen(sm_client_id));
}
else
- XDeleteProperty (gdk_display, gdk_leader_window,
+ XDeleteProperty (gdk_display, _gdk_leader_window,
gdk_atom_intern ("SM_CLIENT_ID", FALSE));
}
@@ -580,7 +568,7 @@ gdk_beep (void)
}
void
-gdk_windowing_exit (void)
+_gdk_windowing_exit (void)
{
pango_x_shutdown_display (gdk_display);
@@ -599,7 +587,7 @@ gdk_windowing_exit (void)
*
* Results:
* Either we were expecting some sort of error to occur,
- * in which case we set the "gdk_error_code" flag, or this
+ * in which case we set the "_gdk_error_code" flag, or this
* error was unexpected, in which case we will print an
* error message and exit. (Since trying to continue will
* most likely simply lead to more errors).
@@ -615,7 +603,7 @@ gdk_x_error (Display *display,
{
if (error->error_code)
{
- if (gdk_error_warnings)
+ if (_gdk_error_warnings)
{
gchar buf[64];
gchar *msg;
@@ -647,7 +635,7 @@ gdk_x_error (Display *display,
exit(1);
#endif /* G_ENABLE_DEBUG */
}
- gdk_error_code = error->error_code;
+ _gdk_error_code = error->error_code;
}
return 0;
@@ -707,7 +695,7 @@ gdk_x_io_error (Display *display)
gchar *
gdk_get_display (void)
{
- return (gchar *)XDisplayName (gdk_display_name);
+ return (gchar *)XDisplayName (_gdk_display_name);
}
gint
@@ -715,16 +703,16 @@ gdk_send_xevent (Window window, gboolean propagate, glong event_mask,
XEvent *event_send)
{
Status result;
- gint old_warnings = gdk_error_warnings;
+ gint old_warnings = _gdk_error_warnings;
- gdk_error_code = 0;
+ _gdk_error_code = 0;
- gdk_error_warnings = 0;
+ _gdk_error_warnings = 0;
result = XSendEvent (gdk_display, window, propagate, event_mask, event_send);
XSync (gdk_display, False);
- gdk_error_warnings = old_warnings;
+ _gdk_error_warnings = old_warnings;
- return result && !gdk_error_code;
+ return result && !_gdk_error_code;
}
void
@@ -769,3 +757,30 @@ gdk_x11_ungrab_server (void)
if (grab_count == 0)
XUngrabServer (gdk_display);
}
+
+/**
+ * gdk_x11_get_default_screen:
+ *
+ * Gets the default GTK+ screen number.
+ *
+ * Return value: returns the screen number specified by
+ * the --display command line option on the DISPLAY environment
+ * variable gdk_init() calls XOpenDisplay().
+ **/
+gint
+gdk_x11_get_default_screen (void)
+{
+ return _gdk_screen;
+}
+
+Window
+gdk_x11_get_default_root_xwindow (void)
+{
+ return _gdk_root_window;
+}
+
+Display *
+gdk_x11_get_default_xdisplay (void)
+{
+ return gdk_display;
+}
diff --git a/gdk/x11/gdkpixmap-x11.c b/gdk/x11/gdkpixmap-x11.c
index fe0b421a0c..3c69ed7aa2 100644
--- a/gdk/x11/gdkpixmap-x11.c
+++ b/gdk/x11/gdkpixmap-x11.c
@@ -32,7 +32,8 @@
#include <unistd.h>
#include <X11/Xlib.h>
-#include <gdk/gdkpixmap.h>
+#include "gdkx.h"
+
#include "gdkpixmap-x11.h"
#include "gdkprivate-x11.h"
@@ -60,7 +61,7 @@ static void gdk_pixmap_impl_x11_finalize (GObject *object);
static gpointer parent_class = NULL;
-GType
+static GType
gdk_pixmap_impl_x11_get_type (void)
{
static GType object_type = 0;
@@ -157,7 +158,7 @@ gdk_pixmap_new (GdkWindow *window,
g_return_val_if_fail ((width != 0) && (height != 0), NULL);
if (!window)
- window = gdk_parent_root;
+ window = _gdk_parent_root;
if (GDK_WINDOW_DESTROYED (window))
return NULL;
@@ -188,7 +189,7 @@ gdk_pixmap_new (GdkWindow *window,
gdk_drawable_set_colormap (pixmap, cmap);
}
- gdk_xid_table_insert (&GDK_PIXMAP_XID (pixmap), pixmap);
+ gdk_xid_table_insert (&draw_impl->xid, pixmap);
return pixmap;
}
@@ -208,7 +209,7 @@ gdk_bitmap_create_from_data (GdkWindow *window,
g_return_val_if_fail (window == NULL || GDK_IS_WINDOW (window), NULL);
if (!window)
- window = gdk_parent_root;
+ window = _gdk_parent_root;
if (GDK_WINDOW_DESTROYED (window))
return NULL;
@@ -228,7 +229,7 @@ gdk_bitmap_create_from_data (GdkWindow *window,
GDK_WINDOW_XID (window),
(char *)data, width, height);
- gdk_xid_table_insert (&GDK_PIXMAP_XID (pixmap), pixmap);
+ gdk_xid_table_insert (&draw_impl->xid, pixmap);
return pixmap;
}
@@ -254,7 +255,7 @@ gdk_pixmap_create_from_data (GdkWindow *window,
g_return_val_if_fail ((width != 0) && (height != 0), NULL);
if (!window)
- window = gdk_parent_root;
+ window = _gdk_parent_root;
if (GDK_WINDOW_DESTROYED (window))
return NULL;
@@ -278,7 +279,7 @@ gdk_pixmap_create_from_data (GdkWindow *window,
(char *)data, width, height,
fg->pixel, bg->pixel, depth);
- gdk_xid_table_insert (&GDK_PIXMAP_XID (pixmap), pixmap);
+ gdk_xid_table_insert (&draw_impl->xid, pixmap);
return pixmap;
}
@@ -321,7 +322,7 @@ gdk_pixmap_foreign_new (GdkNativeWindow anid)
pix_impl->height = h_ret;
GDK_PIXMAP_OBJECT (pixmap)->depth = depth_ret;
- gdk_xid_table_insert(&GDK_PIXMAP_XID (pixmap), pixmap);
+ gdk_xid_table_insert(&draw_impl->xid, pixmap);
return pixmap;
}
diff --git a/gdk/x11/gdkpixmap-x11.h b/gdk/x11/gdkpixmap-x11.h
index 7fc626ab90..9dc6727ffb 100644
--- a/gdk/x11/gdkpixmap-x11.h
+++ b/gdk/x11/gdkpixmap-x11.h
@@ -63,8 +63,6 @@ struct _GdkPixmapImplX11Class
};
-GType gdk_pixmap_impl_x11_get_type (void);
-
#ifdef __cplusplus
}
#endif /* __cplusplus */
diff --git a/gdk/x11/gdkprivate-x11.h b/gdk/x11/gdkprivate-x11.h
index 3dad11d434..bc8564825c 100644
--- a/gdk/x11/gdkprivate-x11.h
+++ b/gdk/x11/gdkprivate-x11.h
@@ -32,10 +32,59 @@
#define __GDK_PRIVATE_X11_H__
#include <gdk/gdkprivate.h>
-#include "gdkx.h"
+#include <gdk/x11/gdkwindow-x11.h>
+#include <gdk/x11/gdkpixmap-x11.h>
+
+#include "gdkinternals.h"
#include <config.h>
+#define GDK_TYPE_GC_X11 (_gdk_gc_x11_get_type ())
+#define GDK_GC_X11(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_GC_X11, GdkGCX11))
+#define GDK_GC_X11_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_GC_X11, GdkGCX11Class))
+#define GDK_IS_GC_X11(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_GC_X11))
+#define GDK_IS_GC_X11_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_GC_X11))
+#define GDK_GC_X11_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_GC_X11, GdkGCX11Class))
+
+typedef struct _GdkCursorPrivate GdkCursorPrivate;
+typedef struct _GdkVisualPrivate GdkVisualPrivate;
+typedef struct _GdkGCX11 GdkGCX11;
+typedef struct _GdkGCX11Class GdkGCX11Class;
+
+struct _GdkGCX11
+{
+ GdkGC parent_instance;
+
+ GC xgc;
+ Display *xdisplay;
+ GdkRegion *clip_region;
+ guint dirty_mask;
+
+ /* We can't conditionalize on HAVE_XFT here, so we simply always
+ * have this here as a gpointer.
+ */
+ gpointer xft_draw;
+ gulong fg_pixel;
+};
+
+struct _GdkGCX11Class
+{
+ GdkGCClass parent_class;
+};
+
+struct _GdkCursorPrivate
+{
+ GdkCursor cursor;
+ Cursor xcursor;
+ Display *xdisplay;
+};
+
+struct _GdkVisualPrivate
+{
+ GdkVisual visual;
+ Visual *xvisual;
+};
+
void gdk_xid_table_insert (XID *xid,
gpointer data);
void gdk_xid_table_remove (XID xid);
@@ -44,6 +93,8 @@ gint gdk_send_xevent (Window window,
glong event_mask,
XEvent *event_send);
+GType _gdk_gc_x11_get_type (void);
+
GdkGC *_gdk_x11_gc_new (GdkDrawable *drawable,
GdkGCValues *values,
GdkGCValuesMask values_mask);
@@ -97,17 +148,21 @@ void _gdk_moveresize_configure_done (void);
void _gdk_keymap_state_changed (void);
+GC _gdk_x11_gc_flush (GdkGC *gc);
+
extern GdkDrawableClass _gdk_x11_drawable_class;
-extern gboolean gdk_use_xshm;
-extern Atom gdk_wm_delete_window;
-extern Atom gdk_wm_take_focus;
-extern Atom gdk_wm_protocols;
-extern Atom gdk_wm_window_protocols[];
-extern gboolean gdk_null_window_warnings;
-extern const int gdk_nevent_masks;
-extern const int gdk_event_mask_table[];
-
-extern GdkWindowObject *gdk_xgrab_window; /* Window that currently holds the
+extern Window _gdk_root_window;
+extern gboolean _gdk_use_xshm;
+extern Atom _gdk_wm_window_protocols[];
+extern const int _gdk_nenvent_masks;
+extern const int _gdk_event_mask_table[];
+extern gint _gdk_screen;
+extern Atom _gdk_selection_property;
+extern gchar *_gdk_display_name;
+
+extern Window _gdk_leader_window;
+
+extern GdkWindowObject *_gdk_xgrab_window; /* Window that currently holds the
* x pointer grab
*/
diff --git a/gdk/x11/gdkproperty-x11.c b/gdk/x11/gdkproperty-x11.c
index 3929729892..08c055dd29 100644
--- a/gdk/x11/gdkproperty-x11.c
+++ b/gdk/x11/gdkproperty-x11.c
@@ -68,13 +68,13 @@ gdk_atom_name (GdkAtom atom)
/* If this atom doesn't exist, we'll die with an X error unless
we take precautions */
- old_error_warnings = gdk_error_warnings;
- gdk_error_warnings = 0;
- gdk_error_code = 0;
+ old_error_warnings = _gdk_error_warnings;
+ _gdk_error_warnings = 0;
+ _gdk_error_code = 0;
t = XGetAtomName (gdk_display, atom);
- gdk_error_warnings = old_error_warnings;
+ _gdk_error_warnings = old_error_warnings;
- if (gdk_error_code)
+ if (_gdk_error_code)
{
if (t)
XFree (t);
@@ -125,7 +125,7 @@ gdk_property_get (GdkWindow *window,
else
{
xdisplay = gdk_display;
- xwindow = gdk_root_window;
+ xwindow = _gdk_root_window;
}
ret_data = NULL;
@@ -213,7 +213,7 @@ gdk_property_change (GdkWindow *window,
else
{
xdisplay = gdk_display;
- xwindow = gdk_root_window;
+ xwindow = _gdk_root_window;
}
XChangeProperty (xdisplay, xwindow, property, type,
@@ -240,7 +240,7 @@ gdk_property_delete (GdkWindow *window,
else
{
xdisplay = gdk_display;
- xwindow = gdk_root_window;
+ xwindow = _gdk_root_window;
}
XDeleteProperty (xdisplay, xwindow, property);
diff --git a/gdk/x11/gdkselection-x11.c b/gdk/x11/gdkselection-x11.c
index 1b1e73553b..eae9020133 100644
--- a/gdk/x11/gdkselection-x11.c
+++ b/gdk/x11/gdkselection-x11.c
@@ -42,7 +42,7 @@ struct _OwnerInfo
gulong serial;
};
-GSList *owner_list;
+static GSList *owner_list;
/* When a window is destroyed we check if it is the owner
* of any selections. This is somewhat inefficient, but
@@ -170,7 +170,7 @@ gdk_selection_convert (GdkWindow *requestor,
return;
XConvertSelection (GDK_WINDOW_XDISPLAY (requestor), selection, target,
- gdk_selection_property, GDK_WINDOW_XID (requestor), time);
+ _gdk_selection_property, GDK_WINDOW_XID (requestor), time);
}
gint
@@ -199,7 +199,7 @@ gdk_selection_property_get (GdkWindow *requestor,
t = NULL;
XGetWindowProperty (GDK_WINDOW_XDISPLAY (requestor),
GDK_WINDOW_XID (requestor),
- gdk_selection_property, 0, 0, False,
+ _gdk_selection_property, 0, 0, False,
AnyPropertyType, &prop_type, &prop_format,
&nitems, &nbytes, &t);
@@ -230,7 +230,7 @@ gdk_selection_property_get (GdkWindow *requestor,
Otherwise there's no guarantee we'll win the race ... */
XGetWindowProperty (GDK_DRAWABLE_XDISPLAY (requestor),
GDK_DRAWABLE_XID (requestor),
- gdk_selection_property, 0, (nbytes + 3) / 4, False,
+ _gdk_selection_property, 0, (nbytes + 3) / 4, False,
AnyPropertyType, &prop_type, &prop_format,
&nitems, &nbytes, &t);
diff --git a/gdk/x11/gdkvisual-x11.c b/gdk/x11/gdkvisual-x11.c
index 617b15dd94..66c42ff769 100644
--- a/gdk/x11/gdkvisual-x11.c
+++ b/gdk/x11/gdkvisual-x11.c
@@ -31,6 +31,11 @@
#include "gdkprivate-x11.h"
#include "gdkinternals.h"
+struct _GdkVisualClass
+{
+ GObjectClass parent_class;
+};
+
static void gdk_visual_add (GdkVisual *visual);
static void gdk_visual_decompose_mask (gulong mask,
gint *shift,
@@ -109,7 +114,7 @@ gdk_visual_get_type (void)
void
-gdk_visual_init (void)
+_gdk_visual_init (void)
{
static const gint possible_depths[7] = { 32, 24, 16, 15, 8, 4, 1 };
static const GdkVisualType possible_types[6] =
@@ -132,14 +137,14 @@ gdk_visual_init (void)
int nxvisuals;
int i, j;
- visual_template.screen = gdk_screen;
+ visual_template.screen = _gdk_screen;
visual_list = XGetVisualInfo (gdk_display, VisualScreenMask, &visual_template, &nxvisuals);
visuals = g_new (GdkVisualPrivate *, nxvisuals);
for (i = 0; i < nxvisuals; i++)
visuals[i] = g_object_new (GDK_TYPE_VISUAL, NULL);
- default_xvisual = DefaultVisual (gdk_display, gdk_screen);
+ default_xvisual = DefaultVisual (gdk_display, _gdk_screen);
nvisuals = 0;
for (i = 0; i < nxvisuals; i++)
@@ -262,7 +267,7 @@ gdk_visual_init (void)
}
#ifdef G_ENABLE_DEBUG
- if (gdk_debug_flags & GDK_DEBUG_MISC)
+ if (_gdk_debug_flags & GDK_DEBUG_MISC)
for (i = 0; i < nvisuals; i++)
g_message ("visual: %s: %d",
visual_names[visuals[i]->visual.type],
@@ -484,3 +489,11 @@ gdk_visual_equal (Visual *a,
{
return (a->visualid == b->visualid);
}
+
+Visual *
+gdk_x11_visual_get_xvisual (GdkVisual *visual)
+{
+ g_return_val_if_fail (visual != NULL, NULL);
+
+ return ((GdkVisualPrivate*) visual)->xvisual;
+}
diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c
index 60e936241d..f5a65e6acd 100644
--- a/gdk/x11/gdkwindow-x11.c
+++ b/gdk/x11/gdkwindow-x11.c
@@ -48,7 +48,7 @@
#include <X11/extensions/shape.h>
#endif
-const int gdk_event_mask_table[21] =
+const int _gdk_event_mask_table[21] =
{
ExposureMask,
PointerMotionMask,
@@ -72,7 +72,7 @@ const int gdk_event_mask_table[21] =
SubstructureNotifyMask,
ButtonPressMask /* SCROLL; on X mouse wheel events is treated as mouse button 4/5 */
};
-const int gdk_nevent_masks = sizeof (gdk_event_mask_table) / sizeof (int);
+const int _gdk_nenvent_masks = sizeof (_gdk_event_mask_table) / sizeof (int);
/* Forward declarations */
static gboolean gdk_window_gravity_works (void);
@@ -274,19 +274,19 @@ _gdk_windowing_window_init (void)
unsigned int depth;
int x, y;
- g_assert (gdk_parent_root == NULL);
+ g_assert (_gdk_parent_root == NULL);
- XGetGeometry (gdk_display, gdk_root_window, &gdk_root_window,
+ XGetGeometry (gdk_display, _gdk_root_window, &_gdk_root_window,
&x, &y, &width, &height, &border_width, &depth);
- XGetWindowAttributes (gdk_display, gdk_root_window, &xattributes);
+ XGetWindowAttributes (gdk_display, _gdk_root_window, &xattributes);
- gdk_parent_root = g_object_new (GDK_TYPE_WINDOW, NULL);
- private = (GdkWindowObject *)gdk_parent_root;
+ _gdk_parent_root = g_object_new (GDK_TYPE_WINDOW, NULL);
+ private = (GdkWindowObject *)_gdk_parent_root;
impl = GDK_WINDOW_IMPL_X11 (private->impl);
draw_impl = GDK_DRAWABLE_IMPL_X11 (private->impl);
draw_impl->xdisplay = gdk_display;
- draw_impl->xid = gdk_root_window;
+ draw_impl->xid = _gdk_root_window;
draw_impl->wrapper = GDK_DRAWABLE (private);
private->window_type = GDK_WINDOW_ROOT;
@@ -294,7 +294,7 @@ _gdk_windowing_window_init (void)
impl->width = width;
impl->height = height;
- gdk_xid_table_insert (&gdk_root_window, gdk_parent_root);
+ gdk_xid_table_insert (&_gdk_root_window, _gdk_parent_root);
}
static GdkAtom wm_client_leader_atom = GDK_NONE;
@@ -330,7 +330,7 @@ gdk_window_new (GdkWindow *parent,
g_return_val_if_fail (attributes != NULL, NULL);
if (!parent)
- parent = gdk_parent_root;
+ parent = _gdk_parent_root;
g_return_val_if_fail (GDK_IS_WINDOW (parent), NULL);
@@ -393,10 +393,10 @@ gdk_window_new (GdkWindow *parent,
xvisual = ((GdkVisualPrivate*) visual)->xvisual;
xattributes.event_mask = StructureNotifyMask;
- for (i = 0; i < gdk_nevent_masks; i++)
+ for (i = 0; i < _gdk_nenvent_masks; i++)
{
if (attributes->event_mask & (1 << (i + 1)))
- xattributes.event_mask |= gdk_event_mask_table[i];
+ xattributes.event_mask |= _gdk_event_mask_table[i];
}
if (xattributes.event_mask)
@@ -428,7 +428,7 @@ gdk_window_new (GdkWindow *parent,
{
g_warning (G_STRLOC "Toplevel windows must be created as children of\n"
"of a window of type GDK_WINDOW_ROOT or GDK_WINDOW_FOREIGN");
- xparent = gdk_root_window;
+ xparent = _gdk_root_window;
}
case GDK_WINDOW_CHILD:
break;
@@ -465,12 +465,12 @@ gdk_window_new (GdkWindow *parent,
}
}
- private->bg_color.pixel = BlackPixel (gdk_display, gdk_screen);
+ private->bg_color.pixel = BlackPixel (gdk_display, _gdk_screen);
xattributes.background_pixel = private->bg_color.pixel;
private->bg_pixmap = NULL;
- xattributes.border_pixel = BlackPixel (gdk_display, gdk_screen);
+ xattributes.border_pixel = BlackPixel (gdk_display, _gdk_screen);
xattributes_mask |= CWBorderPixel | CWBackPixel;
if (private->guffaw_gravity)
@@ -524,7 +524,7 @@ gdk_window_new (GdkWindow *parent,
case GDK_WINDOW_TOPLEVEL:
case GDK_WINDOW_TEMP:
XSetWMProtocols (xdisplay, xid,
- gdk_wm_window_protocols, 3);
+ _gdk_wm_window_protocols, 3);
break;
case GDK_WINDOW_CHILD:
if ((attributes->wclass == GDK_INPUT_OUTPUT) &&
@@ -564,7 +564,7 @@ gdk_window_new (GdkWindow *parent,
size_hints.height = impl->height;
wm_hints.flags = StateHint | WindowGroupHint;
- wm_hints.window_group = gdk_leader_window;
+ wm_hints.window_group = _gdk_leader_window;
wm_hints.input = True;
wm_hints.initial_state = NormalState;
@@ -582,7 +582,7 @@ gdk_window_new (GdkWindow *parent,
XChangeProperty (xdisplay, xid,
wm_client_leader_atom,
XA_WINDOW, 32, PropModeReplace,
- (guchar*) &gdk_leader_window, 1);
+ (guchar*) &_gdk_leader_window, 1);
if (attributes_mask & GDK_WA_TITLE)
title = attributes->title;
@@ -700,9 +700,9 @@ _gdk_windowing_window_destroy (GdkWindow *window,
xevent.type = ClientMessage;
xevent.window = GDK_WINDOW_XID (window);
- xevent.message_type = gdk_wm_protocols;
+ xevent.message_type = gdk_atom_intern ("WM_PROTOCOLS", FALSE);
xevent.format = 32;
- xevent.data.l[0] = gdk_wm_delete_window;
+ xevent.data.l[0] = gdk_atom_intern ("WM_DELETE_WINDOW", FALSE);
xevent.data.l[1] = CurrentTime;
XSendEvent (GDK_WINDOW_XDISPLAY (window),
@@ -1051,7 +1051,7 @@ gdk_window_reparent (GdkWindow *window,
g_return_if_fail (GDK_WINDOW_TYPE (window) != GDK_WINDOW_ROOT);
if (!new_parent)
- new_parent = gdk_parent_root;
+ new_parent = _gdk_parent_root;
window_private = (GdkWindowObject*) window;
old_parent_private = (GdkWindowObject*)window_private->parent;
@@ -1077,7 +1077,7 @@ gdk_window_reparent (GdkWindow *window,
GDK_WINDOW_TYPE (window) = GDK_WINDOW_TOPLEVEL;
XSetWMProtocols (GDK_WINDOW_XDISPLAY (window),
GDK_WINDOW_XID (window),
- gdk_wm_window_protocols, 3);
+ _gdk_wm_window_protocols, 3);
}
case GDK_WINDOW_TOPLEVEL:
case GDK_WINDOW_CHILD:
@@ -1179,7 +1179,7 @@ gdk_window_focus (GdkWindow *window,
xev.xclient.format = 32;
xev.xclient.data.l[0] = 0;
- XSendEvent (gdk_display, gdk_root_window, False,
+ XSendEvent (gdk_display, _gdk_root_window, False,
SubstructureRedirectMask | SubstructureNotifyMask,
&xev);
}
@@ -1323,7 +1323,7 @@ gdk_wmspec_change_state (gboolean add,
xev.xclient.data.l[1] = state1;
xev.xclient.data.l[2] = state2;
- XSendEvent (gdk_display, gdk_root_window, False,
+ XSendEvent (gdk_display, _gdk_root_window, False,
SubstructureRedirectMask | SubstructureNotifyMask,
&xev);
}
@@ -1757,7 +1757,7 @@ gdk_window_get_geometry (GdkWindow *window,
g_return_if_fail (window == NULL || GDK_IS_WINDOW (window));
if (!window)
- window = gdk_parent_root;
+ window = _gdk_parent_root;
if (!GDK_WINDOW_DESTROYED (window))
{
@@ -1807,7 +1807,7 @@ gdk_window_get_origin (GdkWindow *window,
{
return_val = XTranslateCoordinates (GDK_WINDOW_XDISPLAY (window),
GDK_WINDOW_XID (window),
- gdk_root_window,
+ _gdk_root_window,
0, 0, &tx, &ty,
&child);
@@ -2017,7 +2017,7 @@ _gdk_windowing_window_get_pointer (GdkWindow *window,
g_return_val_if_fail (window == NULL || GDK_IS_WINDOW (window), NULL);
if (!window)
- window = gdk_parent_root;
+ window = _gdk_parent_root;
_gdk_windowing_window_get_offsets (window, &xoffset, &yoffset);
@@ -2098,9 +2098,9 @@ gdk_window_get_events (GdkWindow *window)
&attrs);
event_mask = 0;
- for (i = 0; i < gdk_nevent_masks; i++)
+ for (i = 0; i < _gdk_nenvent_masks; i++)
{
- if (attrs.your_event_mask & gdk_event_mask_table[i])
+ if (attrs.your_event_mask & _gdk_event_mask_table[i])
event_mask |= 1 << (i + 1);
}
@@ -2121,10 +2121,10 @@ gdk_window_set_events (GdkWindow *window,
if (!GDK_WINDOW_DESTROYED (window))
{
xevent_mask = StructureNotifyMask;
- for (i = 0; i < gdk_nevent_masks; i++)
+ for (i = 0; i < _gdk_nenvent_masks; i++)
{
if (event_mask & (1 << (i + 1)))
- xevent_mask |= gdk_event_mask_table[i];
+ xevent_mask |= _gdk_event_mask_table[i];
}
XSelectInput (GDK_WINDOW_XDISPLAY (window),
@@ -2360,7 +2360,7 @@ gdk_window_set_icon_list (GdkWindow *window,
while (l)
{
pixbuf = l->data;
- g_return_val_if_fail (GDK_IS_PIXBUF (pixbuf), FALSE);
+ g_return_if_fail (GDK_IS_PIXBUF (pixbuf));
width = gdk_pixbuf_get_width (pixbuf);
height = gdk_pixbuf_get_height (pixbuf);
@@ -2588,7 +2588,7 @@ gdk_window_stick (GdkWindow *window)
xev.xclient.data.l[0] = 0xFFFFFFFF;
- XSendEvent (gdk_display, gdk_root_window, False,
+ XSendEvent (gdk_display, _gdk_root_window, False,
SubstructureRedirectMask | SubstructureNotifyMask,
&xev);
}
@@ -2626,7 +2626,7 @@ gdk_window_unstick (GdkWindow *window)
/* Get current desktop, then set it; this is a race, but not
* one that matters much in practice.
*/
- XGetWindowProperty (gdk_display, gdk_root_window,
+ XGetWindowProperty (gdk_display, _gdk_root_window,
gdk_atom_intern ("_NET_CURRENT_DESKTOP", FALSE),
0, G_MAXLONG,
False, XA_CARDINAL, &type, &format, &nitems,
@@ -2644,7 +2644,7 @@ gdk_window_unstick (GdkWindow *window)
xev.xclient.data.l[0] = *current_desktop;
- XSendEvent (gdk_display, gdk_root_window, False,
+ XSendEvent (gdk_display, _gdk_root_window, False,
SubstructureRedirectMask | SubstructureNotifyMask,
&xev);
@@ -3419,7 +3419,7 @@ gdk_window_xid_at_coords (gint x,
unsigned int num;
int i;
- window = gdk_parent_root;
+ window = _gdk_parent_root;
xdisplay = GDK_WINDOW_XDISPLAY (window);
root = GDK_WINDOW_XID (window);
num = g_list_length (excludes);
@@ -3495,7 +3495,7 @@ wmspec_moveresize (GdkWindow *window,
xev.xclient.data.l[3] = 0;
xev.xclient.data.l[4] = 0;
- XSendEvent (gdk_display, gdk_root_window, False,
+ XSendEvent (gdk_display, _gdk_root_window, False,
SubstructureRedirectMask | SubstructureNotifyMask,
&xev);
}
diff --git a/gdk/x11/gdkx.h b/gdk/x11/gdkx.h
index fdb3848fd5..09385de300 100644
--- a/gdk/x11/gdkx.h
+++ b/gdk/x11/gdkx.h
@@ -33,116 +33,66 @@
#include <X11/Xlib.h>
#include <X11/Xutil.h>
-#include <gdk/x11/gdkwindow-x11.h>
-#include <gdk/x11/gdkpixmap-x11.h>
-
G_BEGIN_DECLS
-typedef struct _GdkColormapPrivateX11 GdkColormapPrivateX11;
-typedef struct _GdkCursorPrivate GdkCursorPrivate;
-typedef struct _GdkImagePrivateX11 GdkImagePrivateX11;
-typedef struct _GdkVisualPrivate GdkVisualPrivate;
-
-struct _GdkCursorPrivate
-{
- GdkCursor cursor;
- Cursor xcursor;
- Display *xdisplay;
-};
-
-struct _GdkVisualPrivate
-{
- GdkVisual visual;
- Visual *xvisual;
-};
-
-struct _GdkVisualClass
-{
- GObjectClass parent_class;
-};
-
-struct _GdkColormapPrivateX11
-{
- Colormap xcolormap;
- Display *xdisplay;
- gint private_val;
-
- GHashTable *hash;
- GdkColorInfo *info;
- time_t last_sync_time;
-};
-
-struct _GdkImagePrivateX11
-{
- XImage *ximage;
- Display *xdisplay;
- gpointer x_shm_info;
-};
-
-
-typedef struct _GdkGCX11 GdkGCX11;
-typedef struct _GdkGCX11Class GdkGCX11Class;
-
-#define GDK_TYPE_GC_X11 (gdk_gc_x11_get_type ())
-#define GDK_GC_X11(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_GC_X11, GdkGCX11))
-#define GDK_GC_X11_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_GC_X11, GdkGCX11Class))
-#define GDK_IS_GC_X11(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_GC_X11))
-#define GDK_IS_GC_X11_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_GC_X11))
-#define GDK_GC_X11_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_GC_X11, GdkGCX11Class))
-
-struct _GdkGCX11
-{
- GdkGC parent_instance;
-
- GC xgc;
- Display *xdisplay;
- GdkRegion *clip_region;
- guint dirty_mask;
-
- /* We can't conditionalize on HAVE_XFT here, so we simply always
- * have this here as a gpointer.
- */
- gpointer xft_draw;
- gulong fg_pixel;
-};
-
-struct _GdkGCX11Class
-{
- GdkGCClass parent_class;
-
-};
-
-GType gdk_gc_x11_get_type (void);
-
-#define GDK_ROOT_WINDOW() gdk_root_window
-#define GDK_ROOT_PARENT() ((GdkWindow *)gdk_parent_root)
+extern Display *gdk_display;
+
+Display *gdk_x11_drawable_get_xdisplay (GdkDrawable *drawable);
+XID gdk_x11_drawable_get_xid (GdkDrawable *drawable);
+Display *gdk_x11_image_get_xdisplay (GdkImage *image);
+XImage *gdk_x11_image_get_ximage (GdkImage *image);
+Display *gdk_x11_colormap_get_xdisplay (GdkColormap *colormap);
+Colormap gdk_x11_colormap_get_xcolormap (GdkColormap *colormap);
+Display *gdk_x11_cursor_get_xdisplay (GdkCursor *cursor);
+Cursor gdk_x11_cursor_get_xcursor (GdkCursor *cursor);
+Visual * gdk_x11_visual_get_xvisual (GdkVisual *visual);
+Display *gdk_x11_gc_get_xdisplay (GdkGC *gc);
+GC gdk_x11_gc_get_xgc (GdkGC *gc);
+Window gdk_x11_get_default_root_xwindow (void);
+Display *gdk_x11_get_default_xdisplay (void);
+gint gdk_x11_get_default_screen (void);
+
+#define GDK_COLORMAP_XDISPLAY(cmap) (gdk_x11_colormap_get_xdisplay (cmap))
+#define GDK_COLORMAP_XCOLORMAP(cmap) (gdk_x11_colormap_get_xcolormap (cmap))
+#define GDK_CURSOR_XDISPLAY(win) (gdk_x11_cursor_get_xdisplay (win))
+#define GDK_CURSOR_XCURSOR(win) (gdk_x11_cursor_get_xid (win))
#define GDK_DISPLAY() gdk_display
+#define GDK_IMAGE_XDISPLAY(image) (gdk_x11_image_get_xdisplay (image))
+#define GDK_IMAGE_XIMAGE(image) (gdk_x11_image_get_ximage (image))
+
+#ifdef INSIDE_GDK_X11
+
+#include "gdkprivate-x11.h"
+
+#define GDK_ROOT_WINDOW() _gdk_root_window
+#define GDK_ROOT_PARENT() ((GdkWindow *)_gdk_parent_root)
#define GDK_WINDOW_XDISPLAY(win) (GDK_DRAWABLE_IMPL_X11(((GdkWindowObject *)win)->impl)->xdisplay)
#define GDK_WINDOW_XID(win) (GDK_DRAWABLE_IMPL_X11(((GdkWindowObject *)win)->impl)->xid)
#define GDK_PIXMAP_XDISPLAY(win) (GDK_DRAWABLE_IMPL_X11(((GdkPixmapObject *)win)->impl)->xdisplay)
#define GDK_PIXMAP_XID(win) (GDK_DRAWABLE_IMPL_X11(((GdkPixmapObject *)win)->impl)->xid)
#define GDK_DRAWABLE_XDISPLAY(win) (GDK_IS_WINDOW (win) ? GDK_WINDOW_XDISPLAY (win) : GDK_PIXMAP_XDISPLAY (win))
#define GDK_DRAWABLE_XID(win) (GDK_IS_WINDOW (win) ? GDK_WINDOW_XID (win) : GDK_PIXMAP_XID (win))
-#define GDK_IMAGE_XDISPLAY(image) (((GdkImagePrivateX11 *) GDK_IMAGE (image)->windowing_data)->xdisplay)
-#define GDK_IMAGE_XIMAGE(image) (((GdkImagePrivateX11 *) GDK_IMAGE (image)->windowing_data)->ximage)
#define GDK_GC_XDISPLAY(gc) (GDK_GC_X11(gc)->xdisplay)
-#define GDK_COLORMAP_XDISPLAY(cmap) (((GdkColormapPrivateX11 *)GDK_COLORMAP (cmap)->windowing_data)->xdisplay)
-#define GDK_COLORMAP_XCOLORMAP(cmap) (((GdkColormapPrivateX11 *)GDK_COLORMAP (cmap)->windowing_data)->xcolormap)
#define GDK_VISUAL_XVISUAL(vis) (((GdkVisualPrivate *) vis)->xvisual)
-
#define GDK_GC_XGC(gc) (GDK_GC_X11(gc)->xgc)
-#define GDK_GC_GET_XGC(gc) (GDK_GC_X11(gc)->dirty_mask ? _gdk_x11_gc_flush (gc) : GDK_GC_XGC (gc))
+#define GDK_GC_GET_XGC(gc) (GDK_GC_X11(gc)->dirty_mask ? _gdk_x11_gc_flush (gc) : ((GdkGCX11 *)(gc))->xgc)
#define GDK_WINDOW_XWINDOW GDK_DRAWABLE_XID
-extern Display *gdk_display;
-extern Window gdk_root_window;
-extern gint gdk_screen;
-extern gchar *gdk_display_name;
-extern Window gdk_leader_window;
+#else /* INSIDE_GDK_X11 */
-extern Atom gdk_selection_property;
+#define GDK_ROOT_WINDOW() (gdk_x11_get_default_root_xwindow ())
+#define GDK_WINDOW_XDISPLAY(win) (gdk_x11_drawable_get_xdisplay (win))
+#define GDK_WINDOW_XID(win) (gdk_x11_drawable_get_xid (win))
+#define GDK_WINDOW_XWINDOW(win) (gdk_x11_drawable_get_xid (win))
+#define GDK_PIXMAP_XDISPLAY(win) (gdk_x11_drawable_get_xdisplay (win))
+#define GDK_PIXMAP_XID(win) (gdk_x11_drawable_get_xid (win))
+#define GDK_DRAWABLE_XDISPLAY(win) (gdk_x11_drawable_get_xdisplay (win))
+#define GDK_DRAWABLE_XID(win) (gdk_x11_drawable_get_xid (win))
+#define GDK_VISUAL_XVISUAL(visual) (gdk_x11_visual_get_xvisual (visual))
+#define GDK_GC_XDISPLAY(gc) (gdk_x11_gc_get_xdisplay (gc))
+#define GDK_GC_XGC(gc) (gdk_x11_gc_get_xgc (gc))
-extern gchar *gdk_progclass;
+#endif /* INSIDE_GDK_X11 */
GdkVisual* gdkx_visual_get (VisualID xvisualid);
/* XXX: Do not use this function until it is fixed. An X Colormap
@@ -169,31 +119,16 @@ void gdk_x11_ungrab_server (void);
/* returns TRUE if we support the given WM spec feature */
gboolean gdk_net_wm_supports (GdkAtom property);
-void gdk_x11_grab_server (void);
-void gdk_x11_ungrab_server (void);
-
#define gdk_window_lookup(xid) ((GdkWindow*) gdk_xid_table_lookup (xid))
#define gdk_pixmap_lookup(xid) ((GdkPixmap*) gdk_xid_table_lookup (xid))
-GC _gdk_x11_gc_flush (GdkGC *gc);
-
#ifndef GDK_DISABLE_DEPRECATED
-typedef struct _GdkFontPrivateX GdkFontPrivateX;
-
-struct _GdkFontPrivateX
-{
- GdkFontPrivate base;
- /* XFontStruct *xfont; */
- /* generic pointer point to XFontStruct or XFontSet */
- gpointer xfont;
- Display *xdisplay;
-
- GSList *names;
-};
+Display *gdk_x11_font_get_xdisplay (GdkFont *font);
+gpointer gdk_x11_font_get_xfont (GdkFont *font);
-#define GDK_FONT_XDISPLAY(font) (((GdkFontPrivate *) font)->xdisplay)
-#define GDK_FONT_XFONT(font) (((GdkFontPrivateX *)font)->xfont)
+#define GDK_FONT_XDISPLAY(font) (gdk_x11_font_get_xdisplay (font))
+#define GDK_FONT_XFONT(font) (gdk_x11_font_get_xfont (font))
#define gdk_font_lookup(xid) ((GdkFont*) gdk_xid_table_lookup (xid))
diff --git a/gdk/x11/xsettings-common.h b/gdk/x11/xsettings-common.h
index e3af4a662e..1e93f84d4d 100644
--- a/gdk/x11/xsettings-common.h
+++ b/gdk/x11/xsettings-common.h
@@ -27,6 +27,23 @@
extern "C" {
#endif /* __cplusplus */
+/* Renames for GDK inclusion */
+
+#define xsettings_byte_order _gdk_xsettings_byte_order
+#define xsettings_client_destroy _gdk_xsettings_client_destroy
+#define xsettings_client_get_setting _gdk_xsettings_client_get_setting
+#define xsettings_client_new _gdk_xsettings_client_new
+#define xsettings_client_process_event _gdk_xsettings_client_process_event
+#define xsettings_list_copy _gdk_xsettings_list_copy
+#define xsettings_list_delete _gdk_xsettings_list_delete
+#define xsettings_list_free _gdk_xsettings_list_free
+#define xsettings_list_insert _gdk_xsettings_list_insert
+#define xsettings_list_lookup _gdk_xsettings_list_lookup
+#define xsettings_setting_copy _gdk_xsettings_setting_copy
+#define xsettings_setting_equal _gdk_xsettings_setting_equal
+#define xsettings_setting_free _gdk_xsettings_setting_free
+
+
typedef struct _XSettingsBuffer XSettingsBuffer;
typedef struct _XSettingsColor XSettingsColor;
typedef struct _XSettingsList XSettingsList;