mirror of https://github.com/GNOME/gimp.git
applied patch from Joao S. O. Bueno which moves assignments into an "else"
2004-11-03 Michael Natterer <mitch@gimp.org> * app/paint-funcs/paint-funcs.c (combine_sub_region): applied patch from Joao S. O. Bueno which moves assignments into an "else" branch and thus optimizes the (common) "if" branch. Did some cosmetic cleanups.
This commit is contained in:
parent
4ae376f386
commit
e2120e2c62
|
@ -1,3 +1,10 @@
|
|||
2004-11-03 Michael Natterer <mitch@gimp.org>
|
||||
|
||||
* app/paint-funcs/paint-funcs.c (combine_sub_region): applied
|
||||
patch from Joao S. O. Bueno which moves assignments into an "else"
|
||||
branch and thus optimizes the (common) "if" branch. Did some
|
||||
cosmetic cleanups.
|
||||
|
||||
2004-11-02 Michael Natterer <mitch@gimp.org>
|
||||
|
||||
* plug-ins/script-fu/script-fu-interface.c (script_fu_interface):
|
||||
|
|
|
@ -4782,47 +4782,37 @@ combine_sub_region (struct combine_regions_struct *st,
|
|||
case COMBINE_INTEN_A_INTEN_A:
|
||||
{
|
||||
/* Now, apply the paint mode */
|
||||
struct apply_layer_mode_struct alms;
|
||||
|
||||
alms.src1 = s1;
|
||||
alms.src2 = s2;
|
||||
alms.mask = layer_mode_mask;
|
||||
alms.dest = &s;
|
||||
alms.x = src1->x;
|
||||
alms.y = src1->y + h;
|
||||
alms.opacity = layer_mode_opacity;
|
||||
alms.combine = combine;
|
||||
alms.length = src1->w;
|
||||
alms.bytes1 = src1->bytes;
|
||||
alms.bytes2 = src2->bytes;
|
||||
|
||||
if (gimp_composite_options.bits & GIMP_COMPOSITE_OPTION_USE)
|
||||
{
|
||||
GimpCompositeContext ctx;
|
||||
|
||||
ctx.A = s1;
|
||||
ctx.pixelformat_A = (src1->bytes == 1 ? GIMP_PIXELFORMAT_V8
|
||||
: src1->bytes == 2 ? GIMP_PIXELFORMAT_VA8
|
||||
: src1->bytes == 3 ? GIMP_PIXELFORMAT_RGB8
|
||||
: src1->bytes == 4 ? GIMP_PIXELFORMAT_RGBA8
|
||||
: GIMP_PIXELFORMAT_ANY);
|
||||
ctx.B = s2;
|
||||
ctx.pixelformat_B = (src2->bytes == 1 ? GIMP_PIXELFORMAT_V8
|
||||
: src2->bytes == 2 ? GIMP_PIXELFORMAT_VA8
|
||||
: src2->bytes == 3 ? GIMP_PIXELFORMAT_RGB8
|
||||
: src2->bytes == 4 ? GIMP_PIXELFORMAT_RGBA8
|
||||
: GIMP_PIXELFORMAT_ANY);
|
||||
ctx.D = s;
|
||||
ctx.A = s1;
|
||||
ctx.pixelformat_A = (src1->bytes == 1 ? GIMP_PIXELFORMAT_V8 :
|
||||
src1->bytes == 2 ? GIMP_PIXELFORMAT_VA8 :
|
||||
src1->bytes == 3 ? GIMP_PIXELFORMAT_RGB8 :
|
||||
src1->bytes == 4 ? GIMP_PIXELFORMAT_RGBA8 :
|
||||
GIMP_PIXELFORMAT_ANY);
|
||||
|
||||
ctx.B = s2;
|
||||
ctx.pixelformat_B = (src2->bytes == 1 ? GIMP_PIXELFORMAT_V8 :
|
||||
src2->bytes == 2 ? GIMP_PIXELFORMAT_VA8 :
|
||||
src2->bytes == 3 ? GIMP_PIXELFORMAT_RGB8 :
|
||||
src2->bytes == 4 ? GIMP_PIXELFORMAT_RGBA8 :
|
||||
GIMP_PIXELFORMAT_ANY);
|
||||
|
||||
ctx.D = s;
|
||||
ctx.pixelformat_D = ctx.pixelformat_A;
|
||||
|
||||
ctx.M = layer_mode_mask;
|
||||
ctx.M = layer_mode_mask;
|
||||
ctx.pixelformat_M = GIMP_PIXELFORMAT_ANY;
|
||||
|
||||
ctx.n_pixels = src1->w;
|
||||
ctx.combine = combine;
|
||||
ctx.op = mode;
|
||||
ctx.dissolve.x = src1->x;
|
||||
ctx.dissolve.y = src1->y + h;
|
||||
ctx.n_pixels = src1->w;
|
||||
ctx.combine = combine;
|
||||
ctx.op = mode;
|
||||
|
||||
ctx.dissolve.x = src1->x;
|
||||
ctx.dissolve.y = src1->y + h;
|
||||
ctx.dissolve.opacity = layer_mode_opacity;
|
||||
|
||||
mode_affect = gimp_composite_operation_effects[mode].affect_opacity;
|
||||
|
@ -4832,6 +4822,20 @@ combine_sub_region (struct combine_regions_struct *st,
|
|||
}
|
||||
else
|
||||
{
|
||||
struct apply_layer_mode_struct alms;
|
||||
|
||||
alms.src1 = s1;
|
||||
alms.src2 = s2;
|
||||
alms.mask = layer_mode_mask;
|
||||
alms.dest = &s;
|
||||
alms.x = src1->x;
|
||||
alms.y = src1->y + h;
|
||||
alms.opacity = layer_mode_opacity;
|
||||
alms.combine = combine;
|
||||
alms.length = src1->w;
|
||||
alms.bytes1 = src1->bytes;
|
||||
alms.bytes2 = src2->bytes;
|
||||
|
||||
/* Determine whether the alpha channel of the destination
|
||||
* can be affected by the specified mode. -- This keeps
|
||||
* consistency with varying opacities.
|
||||
|
|
Loading…
Reference in New Issue