Lines Matching defs:gradient

329   clone_info->gradient=draw_info->gradient;
330 if (draw_info->gradient.stops != (StopInfo *) NULL)
335 number_stops=clone_info->gradient.number_stops;
336 clone_info->gradient.stops=(StopInfo *) AcquireQuantumMemory((size_t)
337 number_stops,sizeof(*clone_info->gradient.stops));
338 if (clone_info->gradient.stops == (StopInfo *) NULL)
341 (void) CopyMagickMemory(clone_info->gradient.stops,
342 draw_info->gradient.stops,(size_t) number_stops*
343 sizeof(*clone_info->gradient.stops));
866 if (draw_info->gradient.stops != (StopInfo *) NULL)
867 draw_info->gradient.stops=(StopInfo *) RelinquishMagickMemory(
868 draw_info->gradient.stops);
2161 if (LocaleCompare("gradient-units",keyword) == 0)
2298 if (LocaleCompare("gradient",token) == 0)
2349 if (LocaleCompare("gradient",token) == 0)
2397 if (LocaleCompare(token,"gradient") != 0)
2890 if (draw_info->gradient.type == RadialGradient)
3303 % DrawGradientImage() draws a linear gradient on the image.
3320 static inline double GetStopColorOffset(const GradientInfo *gradient,
3323 switch (gradient->type)
3341 gradient_vector=(&gradient->gradient_vector);
3358 if (gradient->spread == RepeatSpread)
3360 v.x=(double) x-gradient->center.x;
3361 v.y=(double) y-gradient->center.y;
3364 v.x=(double) (((x-gradient->center.x)*cos(DegreesToRadians(
3365 gradient->angle)))+((y-gradient->center.y)*sin(DegreesToRadians(
3366 gradient->angle))))/gradient->radii.x;
3367 v.y=(double) (((x-gradient->center.x)*sin(DegreesToRadians(
3368 gradient->angle)))-((y-gradient->center.y)*cos(DegreesToRadians(
3369 gradient->angle))))/gradient->radii.y;
3398 *gradient;
3422 Draw linear or radial gradient on image.
3429 gradient=(&draw_info->gradient);
3430 qsort(gradient->stops,gradient->number_stops,sizeof(StopInfo),
3432 gradient_vector=(&gradient->gradient_vector);
3436 bounding_box=gradient->bounding_box;
3474 offset=GetStopColorOffset(gradient,0,y);
3475 if (gradient->type != RadialGradient)
3480 switch (gradient->spread)
3488 offset=GetStopColorOffset(gradient,x,y);
3489 if (gradient->type != RadialGradient)
3492 for (i=0; i < (ssize_t) gradient->number_stops; i++)
3493 if (offset < gradient->stops[i].offset)
3496 composite=gradient->stops[0].color;
3498 if ((offset > 1.0) || (i == (ssize_t) gradient->number_stops))
3499 composite=gradient->stops[gradient->number_stops-1].color;
3504 alpha=(offset-gradient->stops[i].offset)/
3505 (gradient->stops[j].offset-gradient->stops[i].offset);
3506 CompositePixelInfoBlend(&gradient->stops[i].color,1.0-alpha,
3507 &gradient->stops[j].color,alpha,&composite);
3516 offset=GetStopColorOffset(gradient,x,y);
3517 if (gradient->type != RadialGradient)
3526 for (i=0; i < (ssize_t) gradient->number_stops; i++)
3527 if (offset < gradient->stops[i].offset)
3530 composite=gradient->stops[0].color;
3532 if (i == (ssize_t) gradient->number_stops)
3533 composite=gradient->stops[gradient->number_stops-1].color;
3538 alpha=(offset-gradient->stops[i].offset)/
3539 (gradient->stops[j].offset-gradient->stops[i].offset);
3540 CompositePixelInfoBlend(&gradient->stops[i].color,1.0-alpha,
3541 &gradient->stops[j].color,alpha,&composite);
3558 offset=GetStopColorOffset(gradient,x,y);
3559 if (gradient->type == LinearGradient)
3572 repeat=fmod(offset,gradient->radius);
3574 repeat=gradient->radius-fmod(-repeat,gradient->radius);
3576 repeat=fmod(offset,gradient->radius);
3577 antialias=repeat+1.0 > gradient->radius ? MagickTrue :
3579 offset=repeat/gradient->radius;
3582 for (i=0; i < (ssize_t) gradient->number_stops; i++)
3583 if (offset < gradient->stops[i].offset)
3586 composite=gradient->stops[0].color;
3588 if (i == (ssize_t) gradient->number_stops)
3589 composite=gradient->stops[gradient->number_stops-1].color;
3594 alpha=(offset-gradient->stops[i].offset)/
3595 (gradient->stops[j].offset-gradient->stops[i].offset);
3598 if (gradient->type == LinearGradient)
3601 alpha=gradient->radius-repeat;
3603 j=(ssize_t) gradient->number_stops-1L;
3605 CompositePixelInfoBlend(&gradient->stops[i].color,1.0-alpha,
3606 &gradient->stops[j].color,alpha,&composite);
3708 clone_info->gradient.type=(GradientType) ParseCommandOption(