pixman-accessor.h revision a450e446
1dc259aabSmrg#ifdef PIXMAN_FB_ACCESSORS
2dc259aabSmrg
3dc259aabSmrg#define ACCESS(sym) sym##_accessors
4dc259aabSmrg
5dc259aabSmrg#define READ(img, ptr)							\
6a450e446Smrg    (((bits_image_t *)(img))->read_func ((ptr), sizeof(*(ptr))))
7dc259aabSmrg#define WRITE(img, ptr,val)						\
8a450e446Smrg    (((bits_image_t *)(img))->write_func ((ptr), (val), sizeof (*(ptr))))
9dc259aabSmrg
10dc259aabSmrg#define MEMCPY_WRAPPED(img, dst, src, size)				\
11dc259aabSmrg    do {								\
12dc259aabSmrg	size_t _i;							\
13dc259aabSmrg	uint8_t *_dst = (uint8_t*)(dst), *_src = (uint8_t*)(src);	\
14dc259aabSmrg	for(_i = 0; _i < size; _i++) {					\
15dc259aabSmrg	    WRITE((img), _dst +_i, READ((img), _src + _i));		\
16dc259aabSmrg	}								\
17dc259aabSmrg    } while (0)
18dc259aabSmrg
19dc259aabSmrg#define MEMSET_WRAPPED(img, dst, val, size)				\
20dc259aabSmrg    do {								\
21dc259aabSmrg	size_t _i;							\
22dc259aabSmrg	uint8_t *_dst = (uint8_t*)(dst);				\
23dc259aabSmrg	for(_i = 0; _i < (size_t) size; _i++) {				\
24dc259aabSmrg	    WRITE((img), _dst +_i, (val));				\
25dc259aabSmrg	}								\
26dc259aabSmrg    } while (0)
27dc259aabSmrg
28dc259aabSmrg#else
29dc259aabSmrg
30dc259aabSmrg#define ACCESS(sym) sym
31dc259aabSmrg
32dc259aabSmrg#define READ(img, ptr)		(*(ptr))
33dc259aabSmrg#define WRITE(img, ptr, val)	(*(ptr) = (val))
34dc259aabSmrg#define MEMCPY_WRAPPED(img, dst, src, size)				\
35dc259aabSmrg    memcpy(dst, src, size)
36dc259aabSmrg#define MEMSET_WRAPPED(img, dst, val, size)				\
37dc259aabSmrg    memset(dst, val, size)
38dc259aabSmrg
39dc259aabSmrg#endif
40dc259aabSmrg
41