7 static void fb_hPutCustom1(
unsigned char *src,
unsigned char *dest,
int w,
int h,
int src_pitch,
int dest_pitch,
int alpha,
BLENDER *blender,
void *param)
9 unsigned char *s = (
unsigned char *)src;
15 d = (
unsigned char *)dest;
17 *d = (
unsigned char)blender((
unsigned int)*s, (
unsigned int)*d, param);
28 static void fb_hPutCustom2(
unsigned char *src,
unsigned char *dest,
int w,
int h,
int src_pitch,
int dest_pitch,
int alpha,
BLENDER *blender,
void *param)
30 unsigned short *s = (
unsigned short *)src;
35 src_pitch = (src_pitch >> 1) - w;
37 d = (
unsigned short *)dest;
40 cs = (((cs & 0x001F) << 3) | ((cs >> 2) & 0x7) |
41 ((cs & 0x07E0) << 5) | ((cs >> 1) & 0x300) |
42 ((cs & 0xF800) << 8) | ((cs << 3) & 0x70000));
44 cd = (((cd & 0x001F) << 3) | ((cd >> 2) & 0x7) |
45 ((cd & 0x07E0) << 5) | ((cd >> 1) & 0x300) |
46 ((cd & 0xF800) << 8) | ((cd << 3) & 0x70000));
47 cd = blender(cs, cd, param);
48 *d++ = (
unsigned short)((cd >> 3) & 0x001F) | ((cd >> 5) & 0x07E0) | ((cd >> 8) & 0xF800);
57 static void fb_hPutCustom4(
unsigned char *src,
unsigned char *dest,
int w,
int h,
int src_pitch,
int dest_pitch,
int alpha,
BLENDER *blender,
void *param)
59 unsigned int *s = (
unsigned int *)src;
63 src_pitch = (src_pitch >> 2) - w;
65 d = (
unsigned int *)dest;
67 *d = blender(*s, *d, param);
78 void fb_hPutCustom(
unsigned char *src,
unsigned char *dest,
int w,
int h,
int src_pitch,
int dest_pitch,
int alpha,
BLENDER *blender,
void *param)
80 static PUTTER *all_putters[] = {
91 putter(src, dest, w, h, src_pitch, dest_pitch, alpha, blender, param);