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

@ -1,3 +1,27 @@
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.
Fri Nov 13 16:43:36 1998 Lars Hamann <lars@gtk.org> Fri Nov 13 16:43:36 1998 Lars Hamann <lars@gtk.org>
* gtk/gtktogglebutton.c (gtk_toggle_button_realize): don't * gtk/gtktogglebutton.c (gtk_toggle_button_realize): don't

View File

@ -1,3 +1,27 @@
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.
Fri Nov 13 16:43:36 1998 Lars Hamann <lars@gtk.org> Fri Nov 13 16:43:36 1998 Lars Hamann <lars@gtk.org>
* gtk/gtktogglebutton.c (gtk_toggle_button_realize): don't * gtk/gtktogglebutton.c (gtk_toggle_button_realize): don't

View File

@ -1,3 +1,27 @@
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.
Fri Nov 13 16:43:36 1998 Lars Hamann <lars@gtk.org> Fri Nov 13 16:43:36 1998 Lars Hamann <lars@gtk.org>
* gtk/gtktogglebutton.c (gtk_toggle_button_realize): don't * gtk/gtktogglebutton.c (gtk_toggle_button_realize): don't

View File

@ -1,3 +1,27 @@
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.
Fri Nov 13 16:43:36 1998 Lars Hamann <lars@gtk.org> Fri Nov 13 16:43:36 1998 Lars Hamann <lars@gtk.org>
* gtk/gtktogglebutton.c (gtk_toggle_button_realize): don't * gtk/gtktogglebutton.c (gtk_toggle_button_realize): don't

View File

@ -1,3 +1,27 @@
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.
Fri Nov 13 16:43:36 1998 Lars Hamann <lars@gtk.org> Fri Nov 13 16:43:36 1998 Lars Hamann <lars@gtk.org>
* gtk/gtktogglebutton.c (gtk_toggle_button_realize): don't * gtk/gtktogglebutton.c (gtk_toggle_button_realize): don't

View File

@ -1,3 +1,27 @@
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.
Fri Nov 13 16:43:36 1998 Lars Hamann <lars@gtk.org> Fri Nov 13 16:43:36 1998 Lars Hamann <lars@gtk.org>
* gtk/gtktogglebutton.c (gtk_toggle_button_realize): don't * gtk/gtktogglebutton.c (gtk_toggle_button_realize): don't

View File

@ -1,3 +1,27 @@
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.
Fri Nov 13 16:43:36 1998 Lars Hamann <lars@gtk.org> Fri Nov 13 16:43:36 1998 Lars Hamann <lars@gtk.org>
* gtk/gtktogglebutton.c (gtk_toggle_button_realize): don't * gtk/gtktogglebutton.c (gtk_toggle_button_realize): don't

View File

@ -126,7 +126,6 @@ GdkWindow* gdk_window_new (GdkWindow *parent,
GdkWindowAttr *attributes, GdkWindowAttr *attributes,
gint attributes_mask); gint attributes_mask);
GdkWindow* gdk_window_foreign_new (guint32 anid);
void gdk_window_destroy (GdkWindow *window); void gdk_window_destroy (GdkWindow *window);
GdkWindow* gdk_window_ref (GdkWindow *window); GdkWindow* gdk_window_ref (GdkWindow *window);
void gdk_window_unref (GdkWindow *window); void gdk_window_unref (GdkWindow *window);

View File

@ -748,6 +748,53 @@ gdk_pixmap_create_from_xpm_d (GdkWindow *window,
transparent_color, data); 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* GdkPixmap*
gdk_pixmap_ref (GdkPixmap *pixmap) gdk_pixmap_ref (GdkPixmap *pixmap)
{ {

View File

@ -847,6 +847,7 @@ struct _GdkCursor
GdkCursorType type; GdkCursorType type;
}; };
struct _GdkColorContextDither struct _GdkColorContextDither
{ {
gint fast_rgb[32][32][32]; /* quick look-up table for faster rendering */ gint fast_rgb[32][32][32]; /* quick look-up table for faster rendering */

View File

@ -47,5 +47,8 @@ GdkColormap* gdkx_colormap_get (Colormap xcolormap);
Window gdk_get_client_window (Display *dpy, Window gdk_get_client_window (Display *dpy,
Window win); 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__ */ #endif /* __GDK_X_H__ */

View File

@ -748,6 +748,53 @@ gdk_pixmap_create_from_xpm_d (GdkWindow *window,
transparent_color, data); 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* GdkPixmap*
gdk_pixmap_ref (GdkPixmap *pixmap) 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 gdk_get_client_window (Display *dpy,
Window win); 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__ */ #endif /* __GDK_X_H__ */

View File

@ -284,6 +284,16 @@ gtkmarshal.c gtkmarshal.h: @REBUILD@ gtkmarshal.list genmarshal.pl
libgtk_la_LDFLAGS = \ libgtk_la_LDFLAGS = \
-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) -release $(LT_RELEASE) -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) -release $(LT_RELEASE)
# We create a dummy theme for the default GTK+ theme
install-data-local:
$(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Default/gtk
echo "# Empty gtkrc for default theme" > \
$(DESTDIR)$(datadir)/themes/Default/gtk/gtkrc
uninstall-local:
rm -f $(DESTDIR)$(datadir)/themes/Default/gtkrc
EXTRA_DIST = \ EXTRA_DIST = \
line-arrow.xbm \ line-arrow.xbm \
line-wrap.xbm \ line-wrap.xbm \

View File

@ -402,20 +402,31 @@ gtk_init (int *argc,
* C locale, or we're using X's mb functions. (-DX_LOCALE && locale != C) * C locale, or we're using X's mb functions. (-DX_LOCALE && locale != C)
*/ */
current_locale = g_strdup (setlocale (LC_CTYPE, NULL)); current_locale = setlocale (LC_CTYPE, NULL);
#ifdef X_LOCALE #ifdef X_LOCALE
if ((strcmp (current_locale, "C")) && (strcmp (current_locale, "POSIX"))) if ((strcmp (current_locale, "C")) && (strcmp (current_locale, "POSIX")))
gtk_use_mb = TRUE; gtk_use_mb = TRUE;
else else
#endif #endif /* X_LOCALE */
{ {
setlocale (LC_CTYPE, "C"); /* Detect GNU libc, where mb == UTF8. Not useful unless it's
gtk_use_mb = (mblen ("\xc0", MB_CUR_MAX) == 1); * really a UTF8 locale. The below still probably will
setlocale (LC_CTYPE, current_locale); * screw up on Greek, Cyrillic, etc, encoded as UTF8.
} */
g_free (current_locale); wchar_t result;
gtk_use_mb = TRUE;
if ((MB_CUR_MAX == 2) &&
(mbstowcs (&result, "\xdd\xa5", 1) > 0) &&
result == 0x765)
{
if ((strlen (current_locale) < 4) ||
g_strcasecmp (current_locale + strlen(current_locale) - 4, "utf8"))
gtk_use_mb = FALSE;
}
}
GTK_NOTE (MISC, GTK_NOTE (MISC,
g_message ("%s multi-byte string functions.", g_message ("%s multi-byte string functions.",

View File

@ -1117,13 +1117,15 @@ gtk_rc_parse_style (GScanner *scanner)
rc_style->base[i] = parent_style->base[i]; rc_style->base[i] = parent_style->base[i];
} }
if (rc_style->fontset_name) if (parent_style->fontset_name)
{ {
if (rc_style->fontset_name)
g_free (rc_style->fontset_name); g_free (rc_style->fontset_name);
rc_style->fontset_name = g_strdup (parent_style->fontset_name); rc_style->fontset_name = g_strdup (parent_style->fontset_name);
} }
else if (rc_style->font_name) else if (parent_style->font_name)
{ {
if (rc_style->font_name)
g_free (rc_style->font_name); g_free (rc_style->font_name);
rc_style->font_name = g_strdup (parent_style->font_name); rc_style->font_name = g_strdup (parent_style->font_name);
} }

View File

@ -10,11 +10,11 @@
# widget <widget_set> style <style_name> # widget <widget_set> style <style_name>
# widget_class <widget_class_set> style <style_name> # widget_class <widget_class_set> style <style_name>
include "/opt/themes/share/themes/Metal/gtk/gtkrc" #include "/opt/themes/share/themes/W/gtk/gtkrc"
#include "/home/otaylor/.themes/Ignorant/gtk/gtkrc" #include "/home/otaylor/.themes/Ignorant/gtk/gtkrc"
style "defaultfont" { style "defaultfont" {
# font = "-adobe-helvetica-medium-r-normal--*-120-*-*-*-*-*-*,*" font = "-adobe-helvetica-medium-r-normal--*-120-*-*-*-*-*-*,*"
# fontset = "-adobe-helvetica-medium-r-normal--*-120-*-*-*-*-*-*,*" # fontset = "-adobe-helvetica-medium-r-normal--*-120-*-*-*-*-*-*,*"
} }

View File

@ -10,11 +10,11 @@
# widget <widget_set> style <style_name> # widget <widget_set> style <style_name>
# widget_class <widget_class_set> style <style_name> # widget_class <widget_class_set> style <style_name>
include "/opt/themes/share/themes/Metal/gtk/gtkrc" #include "/opt/themes/share/themes/W/gtk/gtkrc"
#include "/home/otaylor/.themes/Ignorant/gtk/gtkrc" #include "/home/otaylor/.themes/Ignorant/gtk/gtkrc"
style "defaultfont" { style "defaultfont" {
# font = "-adobe-helvetica-medium-r-normal--*-120-*-*-*-*-*-*,*" font = "-adobe-helvetica-medium-r-normal--*-120-*-*-*-*-*-*,*"
# fontset = "-adobe-helvetica-medium-r-normal--*-120-*-*-*-*-*-*,*" # fontset = "-adobe-helvetica-medium-r-normal--*-120-*-*-*-*-*-*,*"
} }