Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 3930 → Rev 3931

/programs/develop/libraries/pixman/pixman-conical-gradient.c
50,16 → 50,16
*/
}
 
static void
conical_gradient_get_scanline_32 (pixman_image_t *image,
int x,
int y,
int width,
uint32_t * buffer,
const uint32_t *mask)
static uint32_t *
conical_get_scanline_narrow (pixman_iter_t *iter, const uint32_t *mask)
{
source_image_t *source = (source_image_t *)image;
gradient_t *gradient = (gradient_t *)source;
pixman_image_t *image = iter->image;
int x = iter->x;
int y = iter->y;
int width = iter->width;
uint32_t *buffer = iter->buffer;
 
gradient_t *gradient = (gradient_t *)image;
conical_gradient_t *conical = (conical_gradient_t *)image;
uint32_t *end = buffer + width;
pixman_gradient_walker_t walker;
71,9 → 71,9
double ry = y + 0.5;
double rz = 1.;
 
_pixman_gradient_walker_init (&walker, gradient, source->common.repeat);
_pixman_gradient_walker_init (&walker, gradient, image->common.repeat);
 
if (source->common.transform)
if (image->common.transform)
{
pixman_vector_t v;
 
82,12 → 82,12
v.vector[1] = pixman_int_to_fixed (y) + pixman_fixed_1 / 2;
v.vector[2] = pixman_fixed_1;
 
if (!pixman_transform_point_3d (source->common.transform, &v))
return;
if (!pixman_transform_point_3d (image->common.transform, &v))
return iter->buffer;
 
cx = source->common.transform->matrix[0][0] / 65536.;
cy = source->common.transform->matrix[1][0] / 65536.;
cz = source->common.transform->matrix[2][0] / 65536.;
cx = image->common.transform->matrix[0][0] / 65536.;
cy = image->common.transform->matrix[1][0] / 65536.;
cz = image->common.transform->matrix[2][0] / 65536.;
 
rx = v.vector[0] / 65536.;
ry = v.vector[1] / 65536.;
94,7 → 94,7
rz = v.vector[2] / 65536.;
 
affine =
source->common.transform->matrix[2][0] == 0 &&
image->common.transform->matrix[2][0] == 0 &&
v.vector[2] == pixman_fixed_1;
}
 
155,17 → 155,33
rz += cz;
}
}
 
iter->y++;
return iter->buffer;
}
 
static void
conical_gradient_property_changed (pixman_image_t *image)
static uint32_t *
conical_get_scanline_wide (pixman_iter_t *iter, const uint32_t *mask)
{
image->common.get_scanline_32 = conical_gradient_get_scanline_32;
image->common.get_scanline_64 = _pixman_image_get_scanline_generic_64;
uint32_t *buffer = conical_get_scanline_narrow (iter, NULL);
 
pixman_expand_to_float (
(argb_t *)buffer, buffer, PIXMAN_a8r8g8b8, iter->width);
 
return buffer;
}
 
void
_pixman_conical_gradient_iter_init (pixman_image_t *image, pixman_iter_t *iter)
{
if (iter->iter_flags & ITER_NARROW)
iter->get_scanline = conical_get_scanline_narrow;
else
iter->get_scanline = conical_get_scanline_wide;
}
 
PIXMAN_EXPORT pixman_image_t *
pixman_image_create_conical_gradient (pixman_point_fixed_t * center,
pixman_image_create_conical_gradient (const pixman_point_fixed_t * center,
pixman_fixed_t angle,
const pixman_gradient_stop_t *stops,
int n_stops)
191,8 → 207,6
conical->center = *center;
conical->angle = (pixman_fixed_to_double (angle) / 180.0) * M_PI;
 
image->common.property_changed = conical_gradient_property_changed;
 
return image;
}