forked from AuroraMiddleware/gtk
c7574bb6c8
Plug windows weren't redrawing properly because the embedded window was expecting to get messages for each frame from the compositor, but the compositor doesn't know about embedded windows. Simply disable frame sync for GtkPlug's GdkWindow - extending XEMBED to handle frame sync isn't interesting at this point. A new API gdk_x11_window_set_frame_sync_enabled() is added to allow this to be done. https://bugzilla.gnome.org/show_bug.cgi?id=701613
111 lines
4.0 KiB
C
111 lines
4.0 KiB
C
/* 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, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
/*
|
|
* 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/.
|
|
*/
|
|
|
|
#ifndef __GDK_X11_WINDOW_H__
|
|
#define __GDK_X11_WINDOW_H__
|
|
|
|
#if !defined (__GDKX_H_INSIDE__) && !defined (GDK_COMPILATION)
|
|
#error "Only <gdk/gdkx.h> can be included directly."
|
|
#endif
|
|
|
|
#include <gdk/gdk.h>
|
|
|
|
#include <X11/Xlib.h>
|
|
#include <X11/Xutil.h>
|
|
|
|
G_BEGIN_DECLS
|
|
|
|
#define GDK_TYPE_X11_WINDOW (gdk_x11_window_get_type ())
|
|
#define GDK_X11_WINDOW(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_X11_WINDOW, GdkX11Window))
|
|
#define GDK_X11_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_X11_WINDOW, GdkX11WindowClass))
|
|
#define GDK_IS_X11_WINDOW(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_X11_WINDOW))
|
|
#define GDK_IS_X11_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_X11_WINDOW))
|
|
#define GDK_X11_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_X11_WINDOW, GdkX11WindowClass))
|
|
|
|
#ifdef GDK_COMPILATION
|
|
typedef struct _GdkX11Window GdkX11Window;
|
|
#else
|
|
typedef GdkWindow GdkX11Window;
|
|
#endif
|
|
typedef struct _GdkX11WindowClass GdkX11WindowClass;
|
|
|
|
GDK_AVAILABLE_IN_ALL
|
|
GType gdk_x11_window_get_type (void);
|
|
|
|
GDK_AVAILABLE_IN_ALL
|
|
Window gdk_x11_window_get_xid (GdkWindow *window);
|
|
GDK_AVAILABLE_IN_ALL
|
|
void gdk_x11_window_set_user_time (GdkWindow *window,
|
|
guint32 timestamp);
|
|
GDK_AVAILABLE_IN_3_4
|
|
void gdk_x11_window_set_utf8_property (GdkWindow *window,
|
|
const gchar *name,
|
|
const gchar *value);
|
|
GDK_AVAILABLE_IN_3_2
|
|
void gdk_x11_window_set_theme_variant (GdkWindow *window,
|
|
char *variant);
|
|
GDK_AVAILABLE_IN_3_4
|
|
void gdk_x11_window_set_hide_titlebar_when_maximized (GdkWindow *window,
|
|
gboolean hide_titlebar_when_maximized);
|
|
GDK_AVAILABLE_IN_ALL
|
|
void gdk_x11_window_move_to_current_desktop (GdkWindow *window);
|
|
|
|
GDK_AVAILABLE_IN_3_8
|
|
void gdk_x11_window_set_frame_sync_enabled (GdkWindow *window,
|
|
gboolean frame_sync_enabled);
|
|
|
|
/**
|
|
* 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_AVAILABLE_IN_ALL
|
|
guint32 gdk_x11_get_server_time (GdkWindow *window);
|
|
|
|
GDK_AVAILABLE_IN_ALL
|
|
GdkWindow *gdk_x11_window_foreign_new_for_display (GdkDisplay *display,
|
|
Window window);
|
|
GDK_AVAILABLE_IN_ALL
|
|
GdkWindow *gdk_x11_window_lookup_for_display (GdkDisplay *display,
|
|
Window window);
|
|
|
|
G_END_DECLS
|
|
|
|
#endif /* __GDK_X11_WINDOW_H__ */
|