added code for 1 and 3 bytes per pixel. Fixes bug #504115.
2007-12-18 Sven Neumann <sven@gimp.org> * app/display/gimpdisplayshell-render.c (render_image_tile_fault_nearest): added code for 1 and 3 bytes per pixel. Fixes bug #504115. svn path=/trunk/; revision=24387
This commit is contained in:

committed by
Sven Neumann

parent
50f65eb1b4
commit
53f3123847
@ -1,3 +1,9 @@
|
|||||||
|
2007-12-18 Sven Neumann <sven@gimp.org>
|
||||||
|
|
||||||
|
* app/display/gimpdisplayshell-render.c
|
||||||
|
(render_image_tile_fault_nearest): added code for 1 and 3 bytes
|
||||||
|
per pixel. Fixes bug #504115.
|
||||||
|
|
||||||
2007-12-16 Bill Skaggs <weskaggs@primate.udavis.edu>
|
2007-12-16 Bill Skaggs <weskaggs@primate.udavis.edu>
|
||||||
|
|
||||||
* plug-ins/common/edge.c: reverted to state pre-12/16.
|
* plug-ins/common/edge.c: reverted to state pre-12/16.
|
||||||
|
@ -392,14 +392,14 @@ static void
|
|||||||
gimp_display_shell_render_mask (GimpDisplayShell *shell,
|
gimp_display_shell_render_mask (GimpDisplayShell *shell,
|
||||||
RenderInfo *info)
|
RenderInfo *info)
|
||||||
{
|
{
|
||||||
gint y, ye;
|
gint y, ye;
|
||||||
gint x, xe;
|
gint x, xe;
|
||||||
|
|
||||||
y = info->y;
|
y = info->y;
|
||||||
ye = info->y + info->h;
|
ye = info->y + info->h;
|
||||||
xe = info->x + info->w;
|
xe = info->x + info->w;
|
||||||
|
|
||||||
info->dy = info->dy_start;
|
info->dy = info->dy_start;
|
||||||
info->src = render_image_tile_fault (info);
|
info->src = render_image_tile_fault (info);
|
||||||
|
|
||||||
while (TRUE)
|
while (TRUE)
|
||||||
@ -778,7 +778,7 @@ box_filter_premult (const guint left_weight,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* fast paths */
|
/* fast paths */
|
||||||
static const guchar * render_image_tile_fault_one_row (RenderInfo *info);
|
static const guchar * render_image_tile_fault_one_row (RenderInfo *info);
|
||||||
static const guchar * render_image_tile_fault_nearest (RenderInfo *info);
|
static const guchar * render_image_tile_fault_nearest (RenderInfo *info);
|
||||||
@ -1584,9 +1584,11 @@ render_image_tile_fault_nearest (RenderInfo *info)
|
|||||||
{
|
{
|
||||||
case 4:
|
case 4:
|
||||||
*d++ = *s++;
|
*d++ = *s++;
|
||||||
|
case 3:
|
||||||
*d++ = *s++;
|
*d++ = *s++;
|
||||||
case 2:
|
case 2:
|
||||||
*d++ = *s++;
|
*d++ = *s++;
|
||||||
|
case 1:
|
||||||
*d++ = *s++;
|
*d++ = *s++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1604,6 +1606,12 @@ render_image_tile_fault_nearest (RenderInfo *info)
|
|||||||
s += 4;
|
s += 4;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 3:
|
||||||
|
*d++ = *s++;
|
||||||
|
*d++ = *s++;
|
||||||
|
*d++ = *s++;
|
||||||
|
break;
|
||||||
|
|
||||||
case 2:
|
case 2:
|
||||||
d[0] = (s[0] * (s[1] + 1)) >> 8;
|
d[0] = (s[0] * (s[1] + 1)) >> 8;
|
||||||
d[1] = s[1];
|
d[1] = s[1];
|
||||||
@ -1611,6 +1619,10 @@ render_image_tile_fault_nearest (RenderInfo *info)
|
|||||||
d += 2;
|
d += 2;
|
||||||
s += 2;
|
s += 2;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 1:
|
||||||
|
*d++ = *s++;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user