Allow exposure compression across GravityNotify events to improve the

Wed Jan 27 22:51:23 1999  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkevents.c (expose_predicate): Allow exposure
	 compression across GravityNotify events to improve
 	 the appearance of a GTK+ window unshading.
This commit is contained in:
Owen Taylor 1999-01-28 03:48:04 +00:00 committed by Owen Taylor
parent b2c8fed880
commit 99b9ce9de6
9 changed files with 73 additions and 11 deletions

View File

@ -1,3 +1,9 @@
Wed Jan 27 22:51:23 1999 Owen Taylor <otaylor@redhat.com>
* gdk/gdkevents.c (expose_predicate): Allow exposure
compression across GravityNotify events to improve
the appearance of a GTK+ window unshading.
Wed Jan 27 21:56:07 1999 Owen Taylor <otaylor@redhat.com>
[ patch from Takashi Matsuda <matsu@arch.comp.kyutech.ac.jp> ]
@ -8,7 +14,7 @@ Wed Jan 27 21:56:07 1999 Owen Taylor <otaylor@redhat.com>
input method immediately, and only if that fails,
register than instantiate callback.
* gdk/gdkentry.c: Some tweaks to make sure that we
* gtk/gtkentry.c: Some tweaks to make sure that we
only get and set the IC attributes when appropriate.
Wed Jan 27 20:08:54 1999 Owen Taylor <otaylor@redhat.com>

View File

@ -1,3 +1,9 @@
Wed Jan 27 22:51:23 1999 Owen Taylor <otaylor@redhat.com>
* gdk/gdkevents.c (expose_predicate): Allow exposure
compression across GravityNotify events to improve
the appearance of a GTK+ window unshading.
Wed Jan 27 21:56:07 1999 Owen Taylor <otaylor@redhat.com>
[ patch from Takashi Matsuda <matsu@arch.comp.kyutech.ac.jp> ]
@ -8,7 +14,7 @@ Wed Jan 27 21:56:07 1999 Owen Taylor <otaylor@redhat.com>
input method immediately, and only if that fails,
register than instantiate callback.
* gdk/gdkentry.c: Some tweaks to make sure that we
* gtk/gtkentry.c: Some tweaks to make sure that we
only get and set the IC attributes when appropriate.
Wed Jan 27 20:08:54 1999 Owen Taylor <otaylor@redhat.com>

View File

@ -1,3 +1,9 @@
Wed Jan 27 22:51:23 1999 Owen Taylor <otaylor@redhat.com>
* gdk/gdkevents.c (expose_predicate): Allow exposure
compression across GravityNotify events to improve
the appearance of a GTK+ window unshading.
Wed Jan 27 21:56:07 1999 Owen Taylor <otaylor@redhat.com>
[ patch from Takashi Matsuda <matsu@arch.comp.kyutech.ac.jp> ]
@ -8,7 +14,7 @@ Wed Jan 27 21:56:07 1999 Owen Taylor <otaylor@redhat.com>
input method immediately, and only if that fails,
register than instantiate callback.
* gdk/gdkentry.c: Some tweaks to make sure that we
* gtk/gtkentry.c: Some tweaks to make sure that we
only get and set the IC attributes when appropriate.
Wed Jan 27 20:08:54 1999 Owen Taylor <otaylor@redhat.com>

View File

@ -1,3 +1,9 @@
Wed Jan 27 22:51:23 1999 Owen Taylor <otaylor@redhat.com>
* gdk/gdkevents.c (expose_predicate): Allow exposure
compression across GravityNotify events to improve
the appearance of a GTK+ window unshading.
Wed Jan 27 21:56:07 1999 Owen Taylor <otaylor@redhat.com>
[ patch from Takashi Matsuda <matsu@arch.comp.kyutech.ac.jp> ]
@ -8,7 +14,7 @@ Wed Jan 27 21:56:07 1999 Owen Taylor <otaylor@redhat.com>
input method immediately, and only if that fails,
register than instantiate callback.
* gdk/gdkentry.c: Some tweaks to make sure that we
* gtk/gtkentry.c: Some tweaks to make sure that we
only get and set the IC attributes when appropriate.
Wed Jan 27 20:08:54 1999 Owen Taylor <otaylor@redhat.com>

View File

@ -1,3 +1,9 @@
Wed Jan 27 22:51:23 1999 Owen Taylor <otaylor@redhat.com>
* gdk/gdkevents.c (expose_predicate): Allow exposure
compression across GravityNotify events to improve
the appearance of a GTK+ window unshading.
Wed Jan 27 21:56:07 1999 Owen Taylor <otaylor@redhat.com>
[ patch from Takashi Matsuda <matsu@arch.comp.kyutech.ac.jp> ]
@ -8,7 +14,7 @@ Wed Jan 27 21:56:07 1999 Owen Taylor <otaylor@redhat.com>
input method immediately, and only if that fails,
register than instantiate callback.
* gdk/gdkentry.c: Some tweaks to make sure that we
* gtk/gtkentry.c: Some tweaks to make sure that we
only get and set the IC attributes when appropriate.
Wed Jan 27 20:08:54 1999 Owen Taylor <otaylor@redhat.com>

View File

@ -1,3 +1,9 @@
Wed Jan 27 22:51:23 1999 Owen Taylor <otaylor@redhat.com>
* gdk/gdkevents.c (expose_predicate): Allow exposure
compression across GravityNotify events to improve
the appearance of a GTK+ window unshading.
Wed Jan 27 21:56:07 1999 Owen Taylor <otaylor@redhat.com>
[ patch from Takashi Matsuda <matsu@arch.comp.kyutech.ac.jp> ]
@ -8,7 +14,7 @@ Wed Jan 27 21:56:07 1999 Owen Taylor <otaylor@redhat.com>
input method immediately, and only if that fails,
register than instantiate callback.
* gdk/gdkentry.c: Some tweaks to make sure that we
* gtk/gtkentry.c: Some tweaks to make sure that we
only get and set the IC attributes when appropriate.
Wed Jan 27 20:08:54 1999 Owen Taylor <otaylor@redhat.com>

View File

@ -1,3 +1,9 @@
Wed Jan 27 22:51:23 1999 Owen Taylor <otaylor@redhat.com>
* gdk/gdkevents.c (expose_predicate): Allow exposure
compression across GravityNotify events to improve
the appearance of a GTK+ window unshading.
Wed Jan 27 21:56:07 1999 Owen Taylor <otaylor@redhat.com>
[ patch from Takashi Matsuda <matsu@arch.comp.kyutech.ac.jp> ]
@ -8,7 +14,7 @@ Wed Jan 27 21:56:07 1999 Owen Taylor <otaylor@redhat.com>
input method immediately, and only if that fails,
register than instantiate callback.
* gdk/gdkentry.c: Some tweaks to make sure that we
* gtk/gtkentry.c: Some tweaks to make sure that we
only get and set the IC attributes when appropriate.
Wed Jan 27 20:08:54 1999 Owen Taylor <otaylor@redhat.com>

View File

@ -378,12 +378,22 @@ expose_predicate (Display *display, XEvent *xevent, XPointer arg)
{
GdkExposeInfo *info = (GdkExposeInfo *)arg;
if (xevent->xany.type != Expose)
/* Compressing across GravityNotify events is safe, because
* we completely ignore them, so they can't change what
* we are going to draw. Compressing across GravityNotify
* events is necessay because during window-unshading animation
* we'll get a whole bunch of them interspersed with
* expose events.
*/
if ((xevent->xany.type != Expose) &&
(xevent->xany.type != GravityNotify))
{
info->seen_nonmatching = TRUE;
}
if (info->seen_nonmatching || (xevent->xany.window != info->window))
if (info->seen_nonmatching ||
(xevent->xany.type != Expose) ||
(xevent->xany.window != info->window))
return FALSE;
else
return TRUE;

View File

@ -378,12 +378,22 @@ expose_predicate (Display *display, XEvent *xevent, XPointer arg)
{
GdkExposeInfo *info = (GdkExposeInfo *)arg;
if (xevent->xany.type != Expose)
/* Compressing across GravityNotify events is safe, because
* we completely ignore them, so they can't change what
* we are going to draw. Compressing across GravityNotify
* events is necessay because during window-unshading animation
* we'll get a whole bunch of them interspersed with
* expose events.
*/
if ((xevent->xany.type != Expose) &&
(xevent->xany.type != GravityNotify))
{
info->seen_nonmatching = TRUE;
}
if (info->seen_nonmatching || (xevent->xany.window != info->window))
if (info->seen_nonmatching ||
(xevent->xany.type != Expose) ||
(xevent->xany.window != info->window))
return FALSE;
else
return TRUE;