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:
Owen Taylor
1998-11-13 21:28:36 +00:00
committed by Owen Taylor
parent 8b621ad059
commit a0ca2a7b0d
18 changed files with 308 additions and 17 deletions

View File

@ -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)
{

View File

@ -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__ */