New function gdk_pixmap_foreign_new(). (gtk-blizzard-981005-0. Christopher
Fri Nov 13 11:22:38 1998 Owen Taylor <otaylor@redhat.com> * gdk/gdkpixmap.c: New function gdk_pixmap_foreign_new(). (gtk-blizzard-981005-0. Christopher Blizzard <blizzard@applied-theory.com) * gdk/gdk.h gdk/gdkx.h: Moved gdk_window_foreign_new and gdk_pixmap_foreign_new to gdkx.h. Fri Nov 13 16:06:48 1998 Owen Taylor <otaylor@redhat.com> * gtk/Makefile.am: Added rules to generate an empty GTK+ theme called "Default" upon installation. * gtk/gtkrc.c (gtk_rc_parse_style): Fix inheritance of fonts and fontsets. (gtk-matsu-980924. Takashi Matsuda matsu@arch.comp.kyutech.ac.jp) * gtk/gtkmain.c: Change test to detect glibc's utf8 based mb* functions to be more specific. * gtk/gtkwindow.[ch] gtk/gtkfixed.c: Indentation cleanups.
This commit is contained in:
@ -748,6 +748,53 @@ gdk_pixmap_create_from_xpm_d (GdkWindow *window,
|
||||
transparent_color, data);
|
||||
}
|
||||
|
||||
GdkPixmap*
|
||||
gdk_pixmap_foreign_new (guint32 anid)
|
||||
{
|
||||
GdkPixmap *pixmap;
|
||||
GdkWindowPrivate *window_private;
|
||||
GdkWindowPrivate *private;
|
||||
Pixmap xpixmap;
|
||||
Window root_return;
|
||||
unsigned int x_ret, y_ret, w_ret, h_ret, bw_ret, depth_ret;
|
||||
|
||||
/* check to make sure we were passed something at
|
||||
least a little sane */
|
||||
g_return_val_if_fail((anid != 0), NULL);
|
||||
|
||||
/* set the pixmap to the passed in value */
|
||||
xpixmap = anid;
|
||||
/* get the root window */
|
||||
window_private = &gdk_root_parent;
|
||||
|
||||
/* get information about the Pixmap to fill in the structure for
|
||||
the gdk window */
|
||||
if (!XGetGeometry(window_private->xdisplay, xpixmap, &root_return,
|
||||
&x_ret, &y_ret, &w_ret, &h_ret, &bw_ret, &depth_ret))
|
||||
return NULL;
|
||||
|
||||
/* allocate a new gdk pixmap */
|
||||
private = g_new(GdkWindowPrivate, 1);
|
||||
pixmap = (GdkPixmap *)private;
|
||||
|
||||
private->xdisplay = window_private->xdisplay;
|
||||
private->window_type = GDK_WINDOW_PIXMAP;
|
||||
private->xwindow = xpixmap;
|
||||
private->colormap = NULL;
|
||||
private->parent = NULL;
|
||||
private->x = 0;
|
||||
private->y = 0;
|
||||
private->width = w_ret;
|
||||
private->height = h_ret;
|
||||
private->resize_count = 0;
|
||||
private->ref_count = 1;
|
||||
private->destroyed = 0;
|
||||
|
||||
gdk_xid_table_insert(&private->xwindow, pixmap);
|
||||
|
||||
return pixmap;
|
||||
}
|
||||
|
||||
GdkPixmap*
|
||||
gdk_pixmap_ref (GdkPixmap *pixmap)
|
||||
{
|
||||
|
||||
@ -47,5 +47,8 @@ GdkColormap* gdkx_colormap_get (Colormap xcolormap);
|
||||
Window gdk_get_client_window (Display *dpy,
|
||||
Window win);
|
||||
|
||||
/* Functions to create pixmaps and windows from their X equivalents */
|
||||
GdkPixmap *gdk_pixmap_foreign_new (guint32 anid);
|
||||
GdkWindow *gdk_window_foreign_new (guint32 anid);
|
||||
|
||||
#endif /* __GDK_X_H__ */
|
||||
|
||||
Reference in New Issue
Block a user