optimized solid color fills.

2004-09-08  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimppreviewarea.c (gimp_preview_area_fill):
	optimized solid color fills.
This commit is contained in:
Sven Neumann 2004-09-08 12:54:36 +00:00 committed by Sven Neumann
parent 1a9fdcda80
commit 7f075c87d8
2 changed files with 17 additions and 9 deletions

View file

@ -1,3 +1,8 @@
2004-09-08 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimppreviewarea.c (gimp_preview_area_fill):
optimized solid color fills.
2004-09-08 Sven Neumann <sven@gimp.org>
* libgimpwidgets/gimppreviewarea.c: factored out common code.

View file

@ -1462,6 +1462,7 @@ gimp_preview_area_fill (GimpPreviewArea *area,
guchar blue)
{
guchar *dest;
guchar *d;
gint row;
gint col;
@ -1500,18 +1501,20 @@ gimp_preview_area_fill (GimpPreviewArea *area,
dest = area->buf + x * 3 + y * area->rowstride;
for (row = 0; row < height; row++)
/* colorize first row */
for (col = 0, d = dest; col < width; col++, d+= 3)
{
guchar *d = dest;
d[0] = red;
d[1] = green;
d[2] = blue;
}
for (col = 0; col < width; col++, d+= 3)
{
d[0] = red;
d[1] = green;
d[2] = blue;
}
/* copy first row to remaining rows */
for (row = 1, d = dest; row < height; row++)
{
d += area->rowstride;
dest += area->rowstride;
memcpy (d, dest, width * 3);
}
gtk_widget_queue_draw_area (GTK_WIDGET (area), x, y, width, height);