mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-24 12:41:16 +00:00
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:
parent
f2cfc17be8
commit
b2c30ad95d
12
ChangeLog
12
ChangeLog
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -620,8 +620,14 @@ gtk_handle_box_paint (GtkWidget *widget,
|
||||
width = widget->allocation.width;
|
||||
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),
|
||||
|
@ -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:
|
||||
*
|
||||
|
@ -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);
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
Loading…
Reference in New Issue
Block a user