/* * Copyright (c) 2003-2005 by the gtk2-perl team (see the file AUTHORS) * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2.1 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 * Library General Public License for more details. * * You should have received a copy of the GNU Library 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. * * $Header: /cvsroot/gtk2-perl/gtk2-perl-xs/Gtk2/xs/GdkX11.xs,v 1.8 2005/10/15 16:14:22 kaffeetisch Exp $ */ #include "gtk2perl.h" #ifdef GDK_WINDOWING_X11 # include #endif /* GDK_WINDOWING_X11 */ /* * there is no typemap for Display*, Screen*, etc, and indeed no perl-side * functions to manipulate them, so they are out for the time being. * * XID/XWINDOW is treated as UV. * * all XS blocks are wrapped in #ifdef GDK_WINDOWING_X11 to make sure this * stuff doesn't exist when wrapping gdk compiled for other backends. */ /* ------------------------------------------------------------------------- */ MODULE = Gtk2::Gdk::X11 PACKAGE = Gtk2::Gdk::Drawable PREFIX = gdk_x11_drawable_ #ifdef GDK_WINDOWING_X11 ###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_XID(win) (gdk_x11_drawable_get_xid (win)) ###define GDK_DRAWABLE_XID(win) (gdk_x11_drawable_get_xid (win)) ##XID gdk_x11_drawable_get_xid (GdkDrawable *drawable); UV gdk_x11_drawable_get_xid (GdkDrawable *drawable) ALIAS: XID = 1 XWINDOW = 2 CLEANUP: PERL_UNUSED_VAR (ix); #endif /* GDK_WINDOWING_X11 */ # --------------------------------------------------------------------------- # MODULE = Gtk2::Gdk::X11 PACKAGE = Gtk2::Gdk::X11 PREFIX = gdk_x11_ #ifdef GDK_WINDOWING_X11 guint32 gdk_x11_get_server_time (class, GdkWindow *window) C_ARGS: window #ifndef GDK_MULTIHEAD_SAFE gboolean net_wm_supports (class, GdkAtom property) CODE: RETVAL = gdk_net_wm_supports (property); OUTPUT: RETVAL void gdk_x11_grab_server (class) C_ARGS: /* void */ void gdk_x11_ungrab_server (class) C_ARGS: /* void */ gint gdk_x11_get_default_screen (class) C_ARGS: /* void */ # FIXME? ## GdkVisual* gdkx_visual_get (VisualID xvisualid); #endif /* GDK_MULTIHEAD_SAFE */ #endif /* GDK_WINDOWING_X11 */ # --------------------------------------------------------------------------- # MODULE = Gtk2::Gdk::X11 PACKAGE = Gtk2::Gdk::Display PREFIX = gdk_x11_display_ #### GdkDisplay didn't exist before 2.2.x #if defined(GDK_WINDOWING_X11) && defined(GDK_TYPE_DISPLAY) void gdk_x11_display_grab (GdkDisplay *display); void gdk_x11_display_ungrab (GdkDisplay *display); #if GTK_CHECK_VERSION (2, 4, 0) # Even though the naming doesn't suggest it, this seems to be a GdkDisplay # method. ##void gdk_x11_register_standard_event_type (GdkDisplay *display, gint event_base, gint n_events); void register_standard_event_type (GdkDisplay *display, gint event_base, gint n_events) CODE: gdk_x11_register_standard_event_type (display, event_base, n_events); #endif /* 2.4.0 */ #if GTK_CHECK_VERSION (2, 8, 0) void gdk_x11_display_set_cursor_theme (GdkDisplay *display, const gchar *theme, gint size); guint32 gdk_x11_display_get_user_time (GdkDisplay *display); #endif /* 2.8.0 */ #endif /* GDK_WINDOWING_X11, GDK_TYPE_DISPLAY */ # --------------------------------------------------------------------------- # MODULE = Gtk2::Gdk::X11 PACKAGE = Gtk2::Gdk::Window PREFIX = gdk_x11_window_ #ifdef GDK_WINDOWING_X11 #if GTK_CHECK_VERSION (2, 6, 0) void gdk_x11_window_set_user_time (GdkWindow *window, guint32 timestamp); #endif /* 2.6.0 */ #if GTK_CHECK_VERSION (2, 8, 0) void gdk_x11_window_move_to_current_desktop (GdkWindow *window); #endif /* 2.8.0 */ #endif /* GDK_WINDOWING_X11 */ # --------------------------------------------------------------------------- # MODULE = Gtk2::Gdk::X11 PACKAGE = Gtk2::Gdk::Screen PREFIX = gdk_x11_screen_ #ifdef GDK_WINDOWING_X11 #if GTK_CHECK_VERSION (2, 2, 0) int gdk_x11_screen_get_screen_number (GdkScreen *screen); const char* gdk_x11_screen_get_window_manager_name (GdkScreen *screen); # FIXME? ##GdkVisual* gdk_x11_screen_lookup_visual (GdkScreen *screen, VisualID xvisualid); gboolean gdk_x11_screen_supports_net_wm_hint (GdkScreen *screen, GdkAtom property); #endif /* 2.2.0 */ #endif /* GDK_WINDOWING_X11 */