2000-03-28 01:24:44 +00:00
|
|
|
/* GDK - The GIMP Drawing Kit
|
|
|
|
* Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
|
|
|
|
*
|
|
|
|
* This library is free software; you can redistribute it and/or
|
2000-07-26 11:33:08 +00:00
|
|
|
* modify it under the terms of the GNU Lesser General Public
|
2000-03-28 01:24:44 +00:00
|
|
|
* License as published by the Free Software Foundation; either
|
|
|
|
* version 2 of the License, or (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This library is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
2000-07-26 11:33:08 +00:00
|
|
|
* Lesser General Public License for more details.
|
2000-03-28 01:24:44 +00:00
|
|
|
*
|
2000-07-26 11:33:08 +00:00
|
|
|
* You should have received a copy of the GNU Lesser General Public
|
2000-03-28 01:24:44 +00:00
|
|
|
* License along with this library; if not, write to the
|
|
|
|
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
|
|
* Boston, MA 02111-1307, USA.
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*
|
2000-07-26 11:33:08 +00:00
|
|
|
* Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
|
2000-03-28 01:24:44 +00:00
|
|
|
* file for a list of people on the GTK+ Team. See the ChangeLog
|
|
|
|
* files for a list of changes. These files are distributed with
|
|
|
|
* GTK+ at ftp://ftp.gtk.org/pub/gtk/.
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Private uninstalled header defining things local to X windowing code
|
|
|
|
*/
|
|
|
|
|
1999-11-08 20:14:59 +00:00
|
|
|
#ifndef __GDK_PRIVATE_X11_H__
|
|
|
|
#define __GDK_PRIVATE_X11_H__
|
|
|
|
|
2010-12-11 05:14:53 +00:00
|
|
|
#include "gdkcursor.h"
|
|
|
|
#include "gdkprivate.h"
|
|
|
|
#include "gdkinternals.h"
|
2010-12-16 03:09:35 +00:00
|
|
|
#include "gdkx.h"
|
2010-10-05 20:11:49 +00:00
|
|
|
#include "gdkwindow-x11.h"
|
2010-12-16 03:09:35 +00:00
|
|
|
#include "gdkscreen-x11.h"
|
2010-10-05 20:11:49 +00:00
|
|
|
#include "gdkdisplay-x11.h"
|
|
|
|
#include <cairo-xlib.h>
|
1999-11-08 20:14:59 +00:00
|
|
|
|
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.
2001-09-07 21:50:20 +00:00
|
|
|
typedef struct _GdkCursorPrivate GdkCursorPrivate;
|
|
|
|
|
|
|
|
struct _GdkCursorPrivate
|
|
|
|
{
|
|
|
|
GdkCursor cursor;
|
|
|
|
Cursor xcursor;
|
2002-06-18 20:59:44 +00:00
|
|
|
GdkDisplay *display;
|
2005-06-14 16:05:52 +00:00
|
|
|
gchar *name;
|
2005-06-17 17:26:24 +00:00
|
|
|
guint serial;
|
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.
2001-09-07 21:50:20 +00:00
|
|
|
};
|
|
|
|
|
2010-09-18 22:19:27 +00:00
|
|
|
void _gdk_x11_error_handler_push (void);
|
|
|
|
void _gdk_x11_error_handler_pop (void);
|
2006-01-20 04:35:24 +00:00
|
|
|
|
2010-08-29 15:48:58 +00:00
|
|
|
Colormap _gdk_visual_get_x11_colormap (GdkVisual *visual);
|
|
|
|
|
2010-12-06 22:19:58 +00:00
|
|
|
gint _gdk_screen_x11_visual_get_best_depth (GdkScreen *screen);
|
|
|
|
GdkVisualType _gdk_screen_x11_visual_get_best_type (GdkScreen *screen);
|
|
|
|
GdkVisual * _gdk_screen_x11_get_system_visual (GdkScreen *screen);
|
|
|
|
GdkVisual* _gdk_screen_x11_visual_get_best (GdkScreen *screen);
|
|
|
|
GdkVisual* _gdk_screen_x11_visual_get_best_with_depth (GdkScreen *screen,
|
2010-12-16 03:09:35 +00:00
|
|
|
gint depth);
|
2010-12-06 22:19:58 +00:00
|
|
|
GdkVisual* _gdk_screen_x11_visual_get_best_with_type (GdkScreen *screen,
|
2010-12-16 03:09:35 +00:00
|
|
|
GdkVisualType visual_type);
|
2010-12-06 22:19:58 +00:00
|
|
|
GdkVisual* _gdk_screen_x11_visual_get_best_with_both (GdkScreen *screen,
|
2010-12-16 03:09:35 +00:00
|
|
|
gint depth,
|
|
|
|
GdkVisualType visual_type);
|
2010-12-06 22:19:58 +00:00
|
|
|
void _gdk_screen_x11_query_depths (GdkScreen *screen,
|
2010-12-16 03:09:35 +00:00
|
|
|
gint **depths,
|
|
|
|
gint *count);
|
2010-12-06 22:19:58 +00:00
|
|
|
void _gdk_screen_x11_query_visual_types (GdkScreen *screen,
|
2010-12-16 03:09:35 +00:00
|
|
|
GdkVisualType **visual_types,
|
|
|
|
gint *count);
|
2010-12-06 22:19:58 +00:00
|
|
|
GList * _gdk_screen_x11_list_visuals (GdkScreen *screen);
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-12-16 04:35:15 +00:00
|
|
|
void _gdk_x11_display_add_window (GdkDisplay *display,
|
|
|
|
XID *xid,
|
|
|
|
GdkWindow *window);
|
|
|
|
void _gdk_x11_display_remove_window (GdkDisplay *display,
|
|
|
|
XID xid);
|
2010-12-15 19:49:23 +00:00
|
|
|
|
2010-12-15 22:38:48 +00:00
|
|
|
gint _gdk_x11_display_send_xevent (GdkDisplay *display,
|
|
|
|
Window window,
|
|
|
|
gboolean propagate,
|
|
|
|
glong event_mask,
|
|
|
|
XEvent *event_send);
|
2000-12-15 01:46:41 +00:00
|
|
|
|
2000-03-28 01:24:44 +00:00
|
|
|
/* Routines from gdkgeometry-x11.c */
|
2010-12-16 03:21:39 +00:00
|
|
|
void _gdk_x11_window_move_resize_child (GdkWindow *window,
|
|
|
|
gint x,
|
|
|
|
gint y,
|
|
|
|
gint width,
|
|
|
|
gint height);
|
|
|
|
void _gdk_x11_window_process_expose (GdkWindow *window,
|
|
|
|
gulong serial,
|
|
|
|
GdkRectangle *area);
|
2000-03-28 01:24:44 +00:00
|
|
|
|
2008-12-15 13:55:53 +00:00
|
|
|
gboolean _gdk_x11_window_queue_antiexpose (GdkWindow *window,
|
2010-12-16 03:09:35 +00:00
|
|
|
cairo_region_t *area);
|
2010-07-21 18:37:33 +00:00
|
|
|
void _gdk_x11_window_translate (GdkWindow *window,
|
2010-12-16 03:09:35 +00:00
|
|
|
cairo_region_t *area,
|
|
|
|
gint dx,
|
|
|
|
gint dy);
|
2008-06-27 14:27:44 +00:00
|
|
|
|
Remove g_convert (moved to glib) and now useless utf_to_latin1()
Thu Sep 14 12:21:12 2000 Owen Taylor <otaylor@redhat.com>
* gtk/gtktexttypes.[ch]: Remove g_convert (moved to
glib) and now useless utf_to_latin1() latin1_to_utf()
* gtk/gtktextview.[ch]: Change ::move_insert and
::delete_text action signals to ::move and ::delete;
create the signals with the right enumeration type,
not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
C-v bindings, change Home, End to move to beginning/end
of line, Add C-Home C-End to move to beginning/end
of buffer. Change ::cut_text to ::cut_clipboard, etc;
combine ::scroll_text into ::move; use new GtkSelectionData
functions to simplify DND text handling.
* gtk/gtkenums.h gtk/gtktextview.h: Move movement,
deletion enumerations here, rename enumeration values to
be consistently plural.
* gtk/gtktextbuffer.c: Use new clipboard interfaces
for cut/copy/paste and primary selection.
* gtk/gtktextbuffer.[ch]: Remove excess time and
'interactive' arguments from cut/copy/paste;
rename cut to cut_clipboard, etc; remove
gtk_text_buffer_get_clipboard_contents().
* gtk/gtktextlayout.[ch]: Add
gtk_text_layout_move_iter_to_line_end() to move the iter to
line ends.
* gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
Functions to set or get a UTF-8 string on the selection
data.
* gtk/gtkclipboard.[ch]: New, simplified selection handling
interfaces.
* gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
created widgets - one of these is useless if we don't.
* gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
a public function clear all targets registered for the
widget.
* gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
Never call gtk_widget_realize() - that was just asking
for bizarre side-effects.
* gtk/gtkselection.c (gtk_selection_owner_set): Call
gdk_selection_owner_set even if the widget is the
same so that we reliably update the timestamp on
the server.
* gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a
gdk_x11_get_server_time() function.
* gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
Add some tricky filtering on serial numbers for
selection clear events to fix up long-standard
race condition FIXME's in gtkselection.c.
* gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
routines to convert from utf8 to compound text or
STRING and from a text property to UTF-8.
* gtk/gtkmain.[ch] (gtk_get_current_event_time): Add
a convenience function gdk_get_current_event_time().
* gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
and free selection_data->data properly
2000-09-14 16:41:20 +00:00
|
|
|
void _gdk_selection_window_destroyed (GdkWindow *window);
|
|
|
|
gboolean _gdk_selection_filter_clear_event (XSelectionClearEvent *event);
|
|
|
|
|
2010-12-15 19:49:23 +00:00
|
|
|
cairo_region_t* _gdk_x11_xwindow_get_shape (Display *xdisplay,
|
2010-12-15 22:32:29 +00:00
|
|
|
Window window,
|
|
|
|
gint shape_type);
|
2010-02-05 00:15:54 +00:00
|
|
|
|
2010-12-15 22:32:29 +00:00
|
|
|
void _gdk_x11_region_get_xrectangles (const cairo_region_t *region,
|
|
|
|
gint x_offset,
|
|
|
|
gint y_offset,
|
|
|
|
XRectangle **rects,
|
|
|
|
gint *n_rects);
|
2001-03-02 20:02:17 +00:00
|
|
|
|
2010-12-15 22:55:04 +00:00
|
|
|
gboolean _gdk_x11_moveresize_handle_event (XEvent *event);
|
|
|
|
gboolean _gdk_x11_moveresize_configure_done (GdkDisplay *display,
|
|
|
|
GdkWindow *window);
|
2001-03-29 21:17:45 +00:00
|
|
|
|
2010-12-16 04:49:31 +00:00
|
|
|
void _gdk_x11_keymap_state_changed (GdkDisplay *display,
|
|
|
|
XEvent *event);
|
|
|
|
void _gdk_x11_keymap_keys_changed (GdkDisplay *display);
|
|
|
|
gint _gdk_x11_get_group_for_state (GdkDisplay *display,
|
|
|
|
GdkModifierType state);
|
|
|
|
void _gdk_x11_keymap_add_virt_mods (GdkKeymap *keymap,
|
|
|
|
GdkModifierType *modifiers);
|
|
|
|
gboolean _gdk_x11_keymap_key_is_modifier (GdkKeymap *keymap,
|
|
|
|
guint keycode);
|
2001-06-08 16:07:00 +00:00
|
|
|
|
2001-10-10 21:54:25 +00:00
|
|
|
void _gdk_x11_initialize_locale (void);
|
2010-12-11 00:42:09 +00:00
|
|
|
void _gdk_x11_windowing_init (void);
|
2001-10-10 21:54:25 +00:00
|
|
|
|
2010-12-15 22:45:05 +00:00
|
|
|
void _gdk_x11_window_grab_check_unmap (GdkWindow *window,
|
|
|
|
gulong serial);
|
|
|
|
void _gdk_x11_window_grab_check_destroy (GdkWindow *window);
|
2002-03-02 20:37:07 +00:00
|
|
|
|
2002-04-25 22:29:14 +00:00
|
|
|
gboolean _gdk_x11_display_is_root_window (GdkDisplay *display,
|
2010-12-15 22:45:05 +00:00
|
|
|
Window xroot_window);
|
2002-04-25 22:29:14 +00:00
|
|
|
|
2010-12-11 00:42:09 +00:00
|
|
|
GdkDisplay * _gdk_x11_display_open (const gchar *display_name);
|
|
|
|
void _gdk_x11_display_make_default (GdkDisplay *display);
|
2010-12-10 17:13:25 +00:00
|
|
|
void _gdk_x11_display_update_grab_info (GdkDisplay *display,
|
|
|
|
GdkDevice *device,
|
|
|
|
gint status);
|
|
|
|
void _gdk_x11_display_update_grab_info_ungrab (GdkDisplay *display,
|
|
|
|
GdkDevice *device,
|
|
|
|
guint32 time,
|
|
|
|
gulong serial);
|
2010-12-11 01:46:42 +00:00
|
|
|
void _gdk_x11_display_queue_events (GdkDisplay *display);
|
|
|
|
void _gdk_x11_device_check_extension_events (GdkDevice *device);
|
2010-12-10 17:13:25 +00:00
|
|
|
|
2010-12-15 19:49:23 +00:00
|
|
|
GdkDeviceManager *_gdk_x11_device_manager_new (GdkDisplay *display);
|
|
|
|
|
2010-12-11 00:42:09 +00:00
|
|
|
void _gdk_x11_display_manager_add_display (GdkDisplayManager *manager,
|
|
|
|
GdkDisplay *display);
|
|
|
|
void _gdk_x11_display_manager_remove_display (GdkDisplayManager *manager,
|
|
|
|
GdkDisplay *display);
|
|
|
|
|
2010-12-13 17:36:35 +00:00
|
|
|
GdkCursor *_gdk_x11_display_get_cursor_for_type (GdkDisplay *display,
|
|
|
|
GdkCursorType type);
|
|
|
|
GdkCursor *_gdk_x11_display_get_cursor_for_name (GdkDisplay *display,
|
|
|
|
const gchar *name);
|
|
|
|
GdkCursor *_gdk_x11_display_get_cursor_for_pixbuf (GdkDisplay *display,
|
|
|
|
GdkPixbuf *pixbuf,
|
|
|
|
gint x,
|
|
|
|
gint y);
|
|
|
|
gboolean _gdk_x11_display_supports_cursor_alpha (GdkDisplay *display);
|
|
|
|
gboolean _gdk_x11_display_supports_cursor_color (GdkDisplay *display);
|
|
|
|
void _gdk_x11_display_get_default_cursor_size (GdkDisplay *display,
|
|
|
|
guint *width,
|
|
|
|
guint *height);
|
|
|
|
void _gdk_x11_display_get_maximal_cursor_size (GdkDisplay *display,
|
|
|
|
guint *width,
|
|
|
|
guint *height);
|
2010-12-13 18:30:05 +00:00
|
|
|
void _gdk_x11_display_before_process_all_updates (GdkDisplay *display);
|
|
|
|
void _gdk_x11_display_after_process_all_updates (GdkDisplay *display);
|
2010-12-16 00:07:36 +00:00
|
|
|
void _gdk_x11_display_create_window_impl (GdkDisplay *display,
|
|
|
|
GdkWindow *window,
|
|
|
|
GdkWindow *real_parent,
|
|
|
|
GdkScreen *screen,
|
|
|
|
GdkEventMask event_mask,
|
|
|
|
GdkWindowAttr *attributes,
|
|
|
|
gint attributes_mask);
|
2010-12-13 17:36:35 +00:00
|
|
|
|
2003-07-05 01:54:05 +00:00
|
|
|
void _gdk_x11_precache_atoms (GdkDisplay *display,
|
2010-12-16 03:09:35 +00:00
|
|
|
const gchar * const *atom_names,
|
|
|
|
gint n_atoms);
|
2003-07-05 01:54:05 +00:00
|
|
|
|
2010-12-15 19:49:23 +00:00
|
|
|
void _gdk_events_init (GdkDisplay *display);
|
|
|
|
void _gdk_events_uninit (GdkDisplay *display);
|
|
|
|
void _gdk_x11_dnd_init (GdkDisplay *display);
|
2002-04-25 22:29:14 +00:00
|
|
|
|
2010-12-15 19:49:23 +00:00
|
|
|
void _gdk_x11_screen_init_root_window (GdkScreen *screen);
|
|
|
|
void _gdk_x11_screen_init_visuals (GdkScreen *screen);
|
|
|
|
void _gdk_x11_screen_init_events (GdkScreen *screen);
|
2002-04-25 22:29:14 +00:00
|
|
|
|
2005-06-17 17:26:24 +00:00
|
|
|
void _gdk_x11_cursor_update_theme (GdkCursor *cursor);
|
2009-01-20 02:15:59 +00:00
|
|
|
void _gdk_x11_cursor_display_finalize (GdkDisplay *display);
|
2005-06-17 17:26:24 +00:00
|
|
|
|
2010-12-05 20:58:23 +00:00
|
|
|
void _gdk_x11_window_register_dnd (GdkWindow *window);
|
|
|
|
|
2005-07-21 13:59:22 +00:00
|
|
|
gboolean _gdk_x11_get_xft_setting (GdkScreen *screen,
|
2010-12-16 03:09:35 +00:00
|
|
|
const gchar *name,
|
|
|
|
GValue *value);
|
2005-07-21 13:59:22 +00:00
|
|
|
|
2010-05-25 22:38:44 +00:00
|
|
|
GdkGrabStatus _gdk_x11_convert_grab_status (gint status);
|
|
|
|
|
2010-08-27 13:09:49 +00:00
|
|
|
cairo_surface_t * _gdk_x11_window_create_bitmap_surface (GdkWindow *window,
|
|
|
|
int width,
|
|
|
|
int height);
|
2010-05-25 22:38:44 +00:00
|
|
|
|
2010-12-15 22:32:29 +00:00
|
|
|
extern const gint _gdk_x11_event_mask_table[];
|
|
|
|
extern const gint _gdk_x11_event_mask_table_size;
|
2002-04-25 22:29:14 +00:00
|
|
|
|
|
|
|
#define GDK_SCREEN_DISPLAY(screen) (GDK_SCREEN_X11 (screen)->display)
|
|
|
|
#define GDK_SCREEN_XROOTWIN(screen) (GDK_SCREEN_X11 (screen)->xroot_window)
|
2010-12-16 03:09:35 +00:00
|
|
|
#define GDK_WINDOW_SCREEN(win) (gdk_window_get_screen (win))
|
2002-04-25 22:29:14 +00:00
|
|
|
#define GDK_WINDOW_DISPLAY(win) (GDK_SCREEN_X11 (GDK_WINDOW_SCREEN (win))->display)
|
|
|
|
#define GDK_WINDOW_XROOTWIN(win) (GDK_SCREEN_X11 (GDK_WINDOW_SCREEN (win))->xroot_window)
|
|
|
|
#define GDK_GC_DISPLAY(gc) (GDK_SCREEN_DISPLAY (GDK_GC_X11(gc)->screen))
|
2010-11-22 23:55:39 +00:00
|
|
|
#define GDK_WINDOW_IS_X11(win) (GDK_IS_WINDOW_IMPL_X11 ((win)->impl))
|
2001-03-29 21:17:45 +00:00
|
|
|
|
2010-12-16 03:09:35 +00:00
|
|
|
/* override some macros from gdkx.h with direct-access variants */
|
|
|
|
#undef GDK_DISPLAY_XDISPLAY
|
|
|
|
#undef GDK_WINDOW_XDISPLAY
|
|
|
|
#undef GDK_WINDOW_XID
|
|
|
|
#undef GDK_SCREEN_XDISPLAY
|
|
|
|
|
|
|
|
#define GDK_DISPLAY_XDISPLAY(display) (GDK_DISPLAY_X11(display)->xdisplay)
|
|
|
|
#define GDK_WINDOW_XDISPLAY(win) (GDK_SCREEN_X11 (GDK_WINDOW_SCREEN (win))->xdisplay)
|
|
|
|
#define GDK_WINDOW_XID(win) (GDK_WINDOW_IMPL_X11(GDK_WINDOW (win)->impl)->xid)
|
|
|
|
#define GDK_SCREEN_XDISPLAY(screen) (GDK_SCREEN_X11 (screen)->xdisplay)
|
|
|
|
|
1999-11-08 20:14:59 +00:00
|
|
|
#endif /* __GDK_PRIVATE_X11_H__ */
|