static void
conical_gradient_property_changed (pixman_image_t *image)
{
- image->common.get_scanline_32 = (scanFetchProc)pixmanFetchSourcePict;
+ image->common.get_scanline_32 = (scanFetchProc)pixmanFetchGradient;
image->common.get_scanline_64 = (scanFetchProc)_pixman_image_get_scanline_64_generic;
}
static void
linear_gradient_property_changed (pixman_image_t *image)
{
- image->common.get_scanline_32 = (scanFetchProc)pixmanFetchSourcePict;
+ image->common.get_scanline_32 = (scanFetchProc)pixmanFetchGradient;
image->common.get_scanline_64 = (scanFetchProc)_pixman_image_get_scanline_64_generic;
}
void pixman_expand(uint64_t *dst, const uint32_t *src, pixman_format_code_t, int width);
void pixman_contract(uint32_t *dst, const uint64_t *src, int width);
-void pixmanFetchSourcePict(source_image_t *, int x, int y, int width,
+void pixmanFetchGradient (gradient_t *, int x, int y, int width,
uint32_t *buffer, uint32_t *mask, uint32_t maskBits);
void _pixman_image_get_scanline_64_generic (pixman_image_t * pict, int x, int y, int width,
uint64_t *buffer, uint64_t *mask, uint32_t maskBits);
static void
radial_gradient_property_changed (pixman_image_t *image)
{
- image->common.get_scanline_32 = (scanFetchProc)pixmanFetchSourcePict;
+ image->common.get_scanline_32 = (scanFetchProc)pixmanFetchGradient;
image->common.get_scanline_64 = (scanFetchProc)_pixman_image_get_scanline_64_generic;
}
#include <config.h>
#include "pixman-private.h"
+static void
+solid_fill_get_scanline_32 (pixman_image_t *image, int x, int y, int width,
+ uint32_t *buffer, uint32_t *mask, uint32_t maskBits)
+{
+ uint32_t *end = buffer + width;
+ register uint32_t color = ((solid_fill_t *)image)->color;
+
+ while (buffer < end)
+ *(buffer++) = color;
+
+ return;
+}
+
static source_pict_class_t
solid_fill_classify (pixman_image_t *image,
int x,
static void
solid_fill_property_changed (pixman_image_t *image)
{
- image->common.get_scanline_32 = (scanFetchProc)pixmanFetchSourcePict;
+ image->common.get_scanline_32 = (scanFetchProc)solid_fill_get_scanline_32;
image->common.get_scanline_64 = (scanFetchProc)_pixman_image_get_scanline_64_generic;
}
#include "pixman-private.h"
-void pixmanFetchSourcePict(source_image_t * pict, int x, int y, int width,
- uint32_t *buffer, uint32_t *mask, uint32_t maskBits)
+void
+pixmanFetchGradient(gradient_t *gradient, int x, int y, int width,
+ uint32_t *buffer, uint32_t *mask, uint32_t maskBits)
{
-#if 0
- SourcePictPtr pGradient = pict->pSourcePict;
-#endif
GradientWalker walker;
uint32_t *end = buffer + width;
- gradient_t *gradient;
-
- if (pict->common.type == SOLID)
- {
- register uint32_t color = ((solid_fill_t *)pict)->color;
-
- while (buffer < end)
- *(buffer++) = color;
-
- return;
- }
+ source_image_t *pict;
- gradient = (gradient_t *)pict;
+ pict = (source_image_t *)gradient;
_pixman_gradient_walker_init (&walker, gradient, pict->common.repeat);