Don't clear the window on an expose event. On draws, just clear the

Fri Mar 27 17:58:41 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtkhandlebox.c (gtk_handle_box_paint): Don't clear
	the window on an expose event. On draws, just clear the
	portion we are redrawing.

	* gdk/gdkfont.c (gdk_fontset_load): Corrected calculation
	of fontset ascent/descent.

	* gtk/gtkwidget.[ch]: Added new function to show a toplevel
	window and wait for it to be mapped, gtk_window_show_now ()
This commit is contained in:
Owen Taylor 1998-03-28 00:10:49 +00:00 committed by Owen Taylor
parent f2cfc17be8
commit b2c30ad95d
14 changed files with 167 additions and 16 deletions

View File

@ -1,3 +1,15 @@
Fri Mar 27 17:58:41 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkhandlebox.c (gtk_handle_box_paint): Don't clear
the window on an expose event. On draws, just clear the
portion we are redrawing.
* gdk/gdkfont.c (gdk_fontset_load): Corrected calculation
of fontset ascent/descent.
* gtk/gtkwidget.[ch]: Added new function to show a toplevel
window and wait for it to be mapped, gtk_window_show_now ()
Fri Mar 27 08:51:17 PST 1998 Shawn T. Amundson <amundson@gtk.org>
* docs/Makefile.sgml: some stuff for doing plain text and

View File

@ -1,3 +1,15 @@
Fri Mar 27 17:58:41 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkhandlebox.c (gtk_handle_box_paint): Don't clear
the window on an expose event. On draws, just clear the
portion we are redrawing.
* gdk/gdkfont.c (gdk_fontset_load): Corrected calculation
of fontset ascent/descent.
* gtk/gtkwidget.[ch]: Added new function to show a toplevel
window and wait for it to be mapped, gtk_window_show_now ()
Fri Mar 27 08:51:17 PST 1998 Shawn T. Amundson <amundson@gtk.org>
* docs/Makefile.sgml: some stuff for doing plain text and

View File

@ -1,3 +1,15 @@
Fri Mar 27 17:58:41 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkhandlebox.c (gtk_handle_box_paint): Don't clear
the window on an expose event. On draws, just clear the
portion we are redrawing.
* gdk/gdkfont.c (gdk_fontset_load): Corrected calculation
of fontset ascent/descent.
* gtk/gtkwidget.[ch]: Added new function to show a toplevel
window and wait for it to be mapped, gtk_window_show_now ()
Fri Mar 27 08:51:17 PST 1998 Shawn T. Amundson <amundson@gtk.org>
* docs/Makefile.sgml: some stuff for doing plain text and

View File

@ -1,3 +1,15 @@
Fri Mar 27 17:58:41 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkhandlebox.c (gtk_handle_box_paint): Don't clear
the window on an expose event. On draws, just clear the
portion we are redrawing.
* gdk/gdkfont.c (gdk_fontset_load): Corrected calculation
of fontset ascent/descent.
* gtk/gtkwidget.[ch]: Added new function to show a toplevel
window and wait for it to be mapped, gtk_window_show_now ()
Fri Mar 27 08:51:17 PST 1998 Shawn T. Amundson <amundson@gtk.org>
* docs/Makefile.sgml: some stuff for doing plain text and

View File

@ -1,3 +1,15 @@
Fri Mar 27 17:58:41 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkhandlebox.c (gtk_handle_box_paint): Don't clear
the window on an expose event. On draws, just clear the
portion we are redrawing.
* gdk/gdkfont.c (gdk_fontset_load): Corrected calculation
of fontset ascent/descent.
* gtk/gtkwidget.[ch]: Added new function to show a toplevel
window and wait for it to be mapped, gtk_window_show_now ()
Fri Mar 27 08:51:17 PST 1998 Shawn T. Amundson <amundson@gtk.org>
* docs/Makefile.sgml: some stuff for doing plain text and

View File

@ -1,3 +1,15 @@
Fri Mar 27 17:58:41 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkhandlebox.c (gtk_handle_box_paint): Don't clear
the window on an expose event. On draws, just clear the
portion we are redrawing.
* gdk/gdkfont.c (gdk_fontset_load): Corrected calculation
of fontset ascent/descent.
* gtk/gtkwidget.[ch]: Added new function to show a toplevel
window and wait for it to be mapped, gtk_window_show_now ()
Fri Mar 27 08:51:17 PST 1998 Shawn T. Amundson <amundson@gtk.org>
* docs/Makefile.sgml: some stuff for doing plain text and

View File

@ -1,3 +1,15 @@
Fri Mar 27 17:58:41 1998 Owen Taylor <owt1@cornell.edu>
* gtk/gtkhandlebox.c (gtk_handle_box_paint): Don't clear
the window on an expose event. On draws, just clear the
portion we are redrawing.
* gdk/gdkfont.c (gdk_fontset_load): Corrected calculation
of fontset ascent/descent.
* gtk/gtkwidget.[ch]: Added new function to show a toplevel
window and wait for it to be mapped, gtk_window_show_now ()
Fri Mar 27 08:51:17 PST 1998 Shawn T. Amundson <amundson@gtk.org>
* docs/Makefile.sgml: some stuff for doing plain text and

View File

@ -86,13 +86,22 @@ gdk_fontset_load (gchar *fontset_name)
}
else
{
XFontSetExtents *extent = XExtentsOfFontSet(fontset);
gint num_fonts;
gint i;
XFontStruct **font_structs;
gchar **font_names;
private->xfont = fontset;
font->type = GDK_FONT_FONTSET;
/* how to define ascent and descent for fontset ??? */
font->ascent = extent->max_logical_extent.height;
font->descent = font->ascent / 4 ;
num_fonts = XFontsOfFontSet (fontset, &font_structs, &font_names);
font->ascent = font->descent = 0;
for (i = 0; i < num_fonts; i++)
{
font->ascent = MAX (font->ascent, font_structs[i]->ascent);
font->descent = MAX (font->descent, font_structs[i]->descent);
}
}
return font;
}

View File

@ -86,13 +86,22 @@ gdk_fontset_load (gchar *fontset_name)
}
else
{
XFontSetExtents *extent = XExtentsOfFontSet(fontset);
gint num_fonts;
gint i;
XFontStruct **font_structs;
gchar **font_names;
private->xfont = fontset;
font->type = GDK_FONT_FONTSET;
/* how to define ascent and descent for fontset ??? */
font->ascent = extent->max_logical_extent.height;
font->descent = font->ascent / 4 ;
num_fonts = XFontsOfFontSet (fontset, &font_structs, &font_names);
font->ascent = font->descent = 0;
for (i = 0; i < num_fonts; i++)
{
font->ascent = MAX (font->ascent, font_structs[i]->ascent);
font->descent = MAX (font->descent, font_structs[i]->descent);
}
}
return font;
}

View File

@ -621,7 +621,13 @@ gtk_handle_box_paint (GtkWidget *widget,
height = widget->allocation.height - DRAG_HANDLE_SIZE;
}
gdk_window_clear (hb->bin_window);
if (!event)
gdk_window_clear_area (hb->bin_window,
area->x,
area->y,
area->width,
area->height);
gtk_draw_shadow (widget->style,
hb->bin_window,
GTK_WIDGET_STATE (widget),

View File

@ -1240,6 +1240,48 @@ gtk_widget_show (GtkWidget *widget)
gtk_signal_emit (GTK_OBJECT (widget), widget_signals[SHOW]);
}
/*************************************************************
* gtk_widget_show_now:
* Show a widget, and if it is an unmapped toplevel widget
* wait for the map_event before returning
*
* Warning: This routine will call the main loop recursively.
*
* arguments:
*
* results:
*************************************************************/
static void
gtk_widget_show_map_callback (GtkWidget *widget, GdkEvent *event, gint *flag)
{
*flag = TRUE;
gtk_signal_disconnect_by_data (GTK_OBJECT (widget), flag);
}
void
gtk_widget_show_now (GtkWidget *widget)
{
gint flag = FALSE;
/* make sure we will get event */
if (!GTK_WIDGET_MAPPED (widget) &&
GTK_WIDGET_TOPLEVEL (widget))
{
gtk_widget_show (widget);
gtk_signal_connect (GTK_OBJECT (widget), "map_event",
GTK_SIGNAL_FUNC (gtk_widget_show_map_callback),
&flag);
while (!flag)
gtk_main_iteration();
}
else
gtk_widget_show (widget);
}
/*****************************************
* gtk_widget_hide:
*

View File

@ -377,6 +377,7 @@ void gtk_widget_setv (GtkWidget *widget,
GtkArg *args);
void gtk_widget_unparent (GtkWidget *widget);
void gtk_widget_show (GtkWidget *widget);
void gtk_widget_show_now (GtkWidget *widget);
void gtk_widget_hide (GtkWidget *widget);
void gtk_widget_show_all (GtkWidget *widget);
void gtk_widget_hide_all (GtkWidget *widget);

View File

@ -12,8 +12,8 @@ pixmap_path "."
style "default"
{
fontset = "-adobe-helvetica-medium-r-normal--*-120-*-*-*-*-*-*,*"
# font = "-adobe-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1"
# fontset = "-adobe-helvetica-medium-r-normal--*-120-*-*-*-*-*-*,*"
font = "-adobe-helvetica-medium-r-normal--*-120-*-*-*-*-*-*"
}
style "window"

View File

@ -12,8 +12,8 @@ pixmap_path "."
style "default"
{
fontset = "-adobe-helvetica-medium-r-normal--*-120-*-*-*-*-*-*,*"
# font = "-adobe-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1"
# fontset = "-adobe-helvetica-medium-r-normal--*-120-*-*-*-*-*-*,*"
font = "-adobe-helvetica-medium-r-normal--*-120-*-*-*-*-*-*"
}
style "window"