x11: Split out public window API into gdkx11window.h

This commit is contained in:
Benjamin Otte 2010-12-20 15:22:50 +01:00 committed by Matthias Clasen
parent 66f7c3a562
commit 124cf96850
4 changed files with 87 additions and 34 deletions

View File

@ -215,7 +215,8 @@ x11_introspection_files = \
x11/gdkxid.c \
x11/xsettings-client.c \
x11/xsettings-common.c \
x11/gdkx.h
x11/gdkx.h \
x11/gdkx11window.h
GdkX11-3.0.gir: libgdk-3.0.la Gdk-3.0.gir Makefile
GdkX11_3_0_gir_SCANNERFLAGS = --warn-all --strip-prefix=Gdk

View File

@ -2,6 +2,7 @@
include $(top_srcdir)/Makefile.decl
libgdkincludedir = $(includedir)/gtk-3.0/gdk
libgdkx11includedir = $(includedir)/gtk-3.0/gdk/x11
INCLUDES = \
-DG_LOG_DOMAIN=\"Gdk\" \
@ -74,6 +75,8 @@ endif
libgdkinclude_HEADERS = \
gdkx.h
libgdkx11include_HEADERS = \
gdkx11window.h
noinst_PROGRAMS = checksettings
checksettings_LDADD = libgdk-x11.la $(GLIB_LIBS)

View File

@ -32,9 +32,6 @@
#include <X11/Xlib.h>
#include <X11/Xutil.h>
G_BEGIN_DECLS
/**
* SECTION:x_interaction
* @Short_description: X backend-specific functions
@ -56,10 +53,13 @@ G_BEGIN_DECLS
*/
Window gdk_x11_window_get_xid (GdkWindow *window);
void gdk_x11_window_set_user_time (GdkWindow *window,
guint32 timestamp);
void gdk_x11_window_move_to_current_desktop (GdkWindow *window);
#define __GDKX_H_INSIDE__
#include <gdk/x11/gdkx11window.h>
#undef __GDKX_H_INSIDE__
G_BEGIN_DECLS
Display *gdk_x11_cursor_get_xdisplay (GdkCursor *cursor);
Cursor gdk_x11_cursor_get_xcursor (GdkCursor *cursor);
@ -109,26 +109,6 @@ gint gdk_x11_get_default_screen (void);
#define GDK_DISPLAY_XDISPLAY(display) (gdk_x11_display_get_xdisplay (display))
/**
* GDK_WINDOW_XDISPLAY:
* @win: a #GdkWindow.
*
* Returns the display of a #GdkWindow.
*
* Returns: an Xlib <type>Display*</type>.
*/
#define GDK_WINDOW_XDISPLAY(win) (GDK_DISPLAY_XDISPLAY (gdk_window_get_display (win)))
/**
* GDK_WINDOW_XID:
* @win: a #GdkWindow.
*
* Returns the X window belonging to a #GdkWindow.
*
* Returns: the Xlib <type>Window</type> of @win.
*/
#define GDK_WINDOW_XID(win) (gdk_x11_window_get_xid (win))
/**
* GDK_DISPLAY_XDISPLAY:
* @display: a #GdkDisplay.
@ -165,7 +145,6 @@ gint gdk_x11_get_default_screen (void);
GdkVisual* gdk_x11_screen_lookup_visual (GdkScreen *screen,
VisualID xvisualid);
guint32 gdk_x11_get_server_time (GdkWindow *window);
guint32 gdk_x11_display_get_user_time (GdkDisplay *display);
G_CONST_RETURN gchar *gdk_x11_display_get_startup_notification_id (GdkDisplay *display);
@ -226,11 +205,6 @@ void gdk_x11_register_standard_event_type (GdkDisplay *display,
void gdk_x11_set_sm_client_id (const gchar *sm_client_id);
GdkWindow *gdk_x11_window_foreign_new_for_display (GdkDisplay *display,
Window window);
GdkWindow *gdk_x11_window_lookup_for_display (GdkDisplay *display,
Window window);
gint gdk_x11_display_text_property_to_text_list (GdkDisplay *display,
GdkAtom encoding,
gint format,

75
gdk/x11/gdkx11window.h Normal file
View File

@ -0,0 +1,75 @@
/* 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
* modify it under the terms of the GNU Lesser General Public
* 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
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
/*
* Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
* 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/.
*/
#if !defined (__GDKX_H_INSIDE__) && !defined (GDK_COMPILATION)
#error "Only <gdk/gdkx.h> can be included directly."
#endif
#ifndef __GDK_X11_WINDOW_H__
#define __GDK_X11_WINDOW_H__
#include <gdk/gdk.h>
#include <X11/Xlib.h>
#include <X11/Xutil.h>
G_BEGIN_DECLS
Window gdk_x11_window_get_xid (GdkWindow *window);
void gdk_x11_window_set_user_time (GdkWindow *window,
guint32 timestamp);
void gdk_x11_window_move_to_current_desktop (GdkWindow *window);
/**
* GDK_WINDOW_XDISPLAY:
* @win: a #GdkWindow.
*
* Returns the display of a #GdkWindow.
*
* Returns: an Xlib <type>Display*</type>.
*/
#define GDK_WINDOW_XDISPLAY(win) (GDK_DISPLAY_XDISPLAY (gdk_window_get_display (win)))
/**
* GDK_WINDOW_XID:
* @win: a #GdkWindow.
*
* Returns the X window belonging to a #GdkWindow.
*
* Returns: the Xlib <type>Window</type> of @win.
*/
#define GDK_WINDOW_XID(win) (gdk_x11_window_get_xid (win))
guint32 gdk_x11_get_server_time (GdkWindow *window);
GdkWindow *gdk_x11_window_foreign_new_for_display (GdkDisplay *display,
Window window);
GdkWindow *gdk_x11_window_lookup_for_display (GdkDisplay *display,
Window window);
G_END_DECLS
#endif /* __GDK_X11_WINDOW_H__ */