Reduce some possibly-redundant re-renders on expose.

Sat Mar 20 21:55:53 GMT 1999  Adam D. Moss  <adam@gimp.org>

	* disp_callbacks.c: Reduce some possibly-redundant re-renders
	on expose.

	* gdisplay.c gdisplay.h: Export a function to idly refresh from
        the composite buffer without doing a re-render.
This commit is contained in:
GMT 1999 Adam D. Moss 1999-03-20 22:05:24 +00:00 committed by Adam D. Moss
parent 648f63efd6
commit fae775c386
10 changed files with 38 additions and 9 deletions

View File

@ -1,3 +1,11 @@
Sat Mar 20 21:55:53 GMT 1999 Adam D. Moss <adam@gimp.org>
* disp_callbacks.c: Reduce some possibly-redundant re-renders
on expose.
* gdisplay.c gdisplay.h: Export a function to idly refresh from
the composite buffer without doing a re-render.
Sat Mar 20 17:22:56 GMT 1999 Adam D. Moss <adam@gimp.org>
* configure.in plug-ins/Makefile.am plug-ins/gif/gif.c

View File

@ -71,7 +71,6 @@ static void gdisplay_draw_cursor (GDisplay *);
static void gdisplay_display_area (GDisplay *, int, int, int, int);
static guint gdisplay_hash (GDisplay *);
static void gdisplay_flush_displays_only (GDisplay *gdisp);
static GHashTable *display_ht = NULL;
@ -553,7 +552,7 @@ gdisplay_idlerender_init (GDisplay *gdisp)
}
static void
void
gdisplay_flush_displays_only (GDisplay *gdisp)
{
GSList *list;
@ -644,6 +643,8 @@ gdisplay_flush_whenever (GDisplay *gdisp, gboolean now)
void
gdisplay_flush (GDisplay *gdisp)
{
g_warning("gdisplay_flush");
/* Redraw on idle time */
gdisplay_flush_whenever (gdisp, FALSE);
}
@ -651,6 +652,8 @@ gdisplay_flush (GDisplay *gdisp)
void
gdisplay_flush_now (GDisplay *gdisp)
{
g_warning("gdisplay_flush_now");
/* Redraw NOW */
gdisplay_flush_whenever (gdisp, TRUE);
}
@ -2070,12 +2073,14 @@ gdisplays_flush_whenever (gboolean now)
void
gdisplays_flush (void)
{
g_warning("gdisplays_flush");
gdisplays_flush_whenever (FALSE);
}
void
gdisplays_flush_now (void)
{
g_warning("gdisplays_flush_now");
gdisplays_flush_whenever (TRUE);
}

View File

@ -205,6 +205,8 @@ int gdisplays_dirty (void);
void gdisplays_delete (void);
void gdisplays_flush (void);
void gdisplays_flush_now (void);
void gdisplay_flush_displays_only (GDisplay *gdisp); /* no rerender! */
#endif /* __GDISPLAY_H__ */

View File

@ -61,7 +61,7 @@ redraw (GDisplay *gdisp,
if ((x2 - x1) && (y2 - y1))
{
gdisplay_expose_area (gdisp, x1, y1, (x2 - x1), (y2 - y1));
gdisplays_flush ();
gdisplay_flush_displays_only (gdisp);
}
}

View File

@ -61,7 +61,7 @@ redraw (GDisplay *gdisp,
if ((x2 - x1) && (y2 - y1))
{
gdisplay_expose_area (gdisp, x1, y1, (x2 - x1), (y2 - y1));
gdisplays_flush ();
gdisplay_flush_displays_only (gdisp);
}
}

View File

@ -71,7 +71,6 @@ static void gdisplay_draw_cursor (GDisplay *);
static void gdisplay_display_area (GDisplay *, int, int, int, int);
static guint gdisplay_hash (GDisplay *);
static void gdisplay_flush_displays_only (GDisplay *gdisp);
static GHashTable *display_ht = NULL;
@ -553,7 +552,7 @@ gdisplay_idlerender_init (GDisplay *gdisp)
}
static void
void
gdisplay_flush_displays_only (GDisplay *gdisp)
{
GSList *list;
@ -644,6 +643,8 @@ gdisplay_flush_whenever (GDisplay *gdisp, gboolean now)
void
gdisplay_flush (GDisplay *gdisp)
{
g_warning("gdisplay_flush");
/* Redraw on idle time */
gdisplay_flush_whenever (gdisp, FALSE);
}
@ -651,6 +652,8 @@ gdisplay_flush (GDisplay *gdisp)
void
gdisplay_flush_now (GDisplay *gdisp)
{
g_warning("gdisplay_flush_now");
/* Redraw NOW */
gdisplay_flush_whenever (gdisp, TRUE);
}
@ -2070,12 +2073,14 @@ gdisplays_flush_whenever (gboolean now)
void
gdisplays_flush (void)
{
g_warning("gdisplays_flush");
gdisplays_flush_whenever (FALSE);
}
void
gdisplays_flush_now (void)
{
g_warning("gdisplays_flush_now");
gdisplays_flush_whenever (TRUE);
}

View File

@ -205,6 +205,8 @@ int gdisplays_dirty (void);
void gdisplays_delete (void);
void gdisplays_flush (void);
void gdisplays_flush_now (void);
void gdisplay_flush_displays_only (GDisplay *gdisp); /* no rerender! */
#endif /* __GDISPLAY_H__ */

View File

@ -61,7 +61,7 @@ redraw (GDisplay *gdisp,
if ((x2 - x1) && (y2 - y1))
{
gdisplay_expose_area (gdisp, x1, y1, (x2 - x1), (y2 - y1));
gdisplays_flush ();
gdisplay_flush_displays_only (gdisp);
}
}

View File

@ -71,7 +71,6 @@ static void gdisplay_draw_cursor (GDisplay *);
static void gdisplay_display_area (GDisplay *, int, int, int, int);
static guint gdisplay_hash (GDisplay *);
static void gdisplay_flush_displays_only (GDisplay *gdisp);
static GHashTable *display_ht = NULL;
@ -553,7 +552,7 @@ gdisplay_idlerender_init (GDisplay *gdisp)
}
static void
void
gdisplay_flush_displays_only (GDisplay *gdisp)
{
GSList *list;
@ -644,6 +643,8 @@ gdisplay_flush_whenever (GDisplay *gdisp, gboolean now)
void
gdisplay_flush (GDisplay *gdisp)
{
g_warning("gdisplay_flush");
/* Redraw on idle time */
gdisplay_flush_whenever (gdisp, FALSE);
}
@ -651,6 +652,8 @@ gdisplay_flush (GDisplay *gdisp)
void
gdisplay_flush_now (GDisplay *gdisp)
{
g_warning("gdisplay_flush_now");
/* Redraw NOW */
gdisplay_flush_whenever (gdisp, TRUE);
}
@ -2070,12 +2073,14 @@ gdisplays_flush_whenever (gboolean now)
void
gdisplays_flush (void)
{
g_warning("gdisplays_flush");
gdisplays_flush_whenever (FALSE);
}
void
gdisplays_flush_now (void)
{
g_warning("gdisplays_flush_now");
gdisplays_flush_whenever (TRUE);
}

View File

@ -205,6 +205,8 @@ int gdisplays_dirty (void);
void gdisplays_delete (void);
void gdisplays_flush (void);
void gdisplays_flush_now (void);
void gdisplay_flush_displays_only (GDisplay *gdisp); /* no rerender! */
#endif /* __GDISPLAY_H__ */