summaryrefslogtreecommitdiff
path: root/Source/DirectFB/src/gfx/generic/stretch_hvx_N.h
blob: c4922e17efe4241ceecef9fbf256f61c60e9316a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
#if UPDOWN == 1
#define FUNC_NAME_(K,P,F)      FUNC_NAME(up,K,P,F)
#else
#define FUNC_NAME_(K,P,F)      FUNC_NAME(down,K,P,F)
#endif


/* NONE */
static void FUNC_NAME_(_,_,DST_FORMAT)
#include STRETCH_HVX_N_H

/* SRCKEY */
#define COLOR_KEY ctx->key
static void FUNC_NAME_(K,_,DST_FORMAT)
#include STRETCH_HVX_N_H
#undef COLOR_KEY

/* PROTECT */
#define KEY_PROTECT      ctx->protect
static void FUNC_NAME_(_,P,DST_FORMAT)
#include STRETCH_HVX_N_H

/* PROTECT SRCKEY */
#define COLOR_KEY ctx->key
static void FUNC_NAME_(K,P,DST_FORMAT)
#include STRETCH_HVX_N_H
#undef COLOR_KEY
#undef KEY_PROTECT


/* INDEXED */
#define SOURCE_LOOKUP(x) ((const uN*)ctx->colors)[x]
#define SOURCE_TYPE      u8
static void FUNC_NAME_(_,_,DSPF_LUT8)
#include STRETCH_HVX_N_H

/* INDEXED SRCKEY */
#define COLOR_KEY ctx->key
static void FUNC_NAME_(K,_,DSPF_LUT8)
#include STRETCH_HVX_N_H
#undef COLOR_KEY

/* INDEXED PROTECT */
#define KEY_PROTECT      ctx->protect
static void FUNC_NAME_(_,P,DSPF_LUT8)
#include STRETCH_HVX_N_H

/* INDEXED PROTECT SRCKEY */
#define COLOR_KEY ctx->key
static void FUNC_NAME_(K,P,DSPF_LUT8)
#include STRETCH_HVX_N_H
#undef COLOR_KEY
#undef KEY_PROTECT
#undef SOURCE_LOOKUP
#undef SOURCE_TYPE


/* FIXME: DST_FORMAT == DSPF_RGB16 doesn't work */
#ifdef FORMAT_RGB16
/* ARGB4444 */
#define SOURCE_LOOKUP(x)   PIXEL_RGB16( (((x) & 0x0f00) >> 4) | (((x) & 0x0f00) >> 8),    \
                                        (((x) & 0x00f0)     ) | (((x) & 0x00f0) >> 4),    \
                                        (((x) & 0x000f) << 4) | (((x) & 0x000f)     ) )
static void FUNC_NAME_(_,_,DSPF_ARGB4444)
#include STRETCH_HVX_N_H

/* ARGB4444 SRCKEY */
#define COLOR_KEY ctx->key
static void FUNC_NAME_(K,_,DSPF_ARGB4444)
#include STRETCH_HVX_N_H
#undef COLOR_KEY

/* ARGB4444 PROTECT */
#define KEY_PROTECT      ctx->protect
static void FUNC_NAME_(_,P,DSPF_ARGB4444)
#include STRETCH_HVX_N_H

/* ARGB4444 PROTECT SRCKEY */
#define COLOR_KEY ctx->key
static void FUNC_NAME_(K,P,DSPF_ARGB4444)
#include STRETCH_HVX_N_H
#undef COLOR_KEY
#undef KEY_PROTECT
#undef SOURCE_LOOKUP
#undef SOURCE_TYPE
#endif


/* FIXME: DST_FORMAT == DSPF_ARGB4444 doesn't work */
#ifdef FORMAT_ARGB4444
/* RGB16 */
#define SOURCE_LOOKUP(x)   PIXEL_ARGB4444( 0xff,                   \
                                           (((x) & 0xf800) >> 8),  \
                                           (((x) & 0x07e0) >> 3),  \
                                           (((x) & 0x001f) << 3) )
static void FUNC_NAME_(_,_,DSPF_RGB16)
#include STRETCH_HVX_N_H

/* RGB16 SRCKEY */
#define COLOR_KEY ctx->key
static void FUNC_NAME_(K,_,DSPF_RGB16)
#include STRETCH_HVX_N_H
#undef COLOR_KEY

/* RGB16 PROTECT */
#define KEY_PROTECT      ctx->protect
static void FUNC_NAME_(_,P,DSPF_RGB16)
#include STRETCH_HVX_N_H

/* RGB16 PROTECT SRCKEY */
#define COLOR_KEY ctx->key
static void FUNC_NAME_(K,P,DSPF_RGB16)
#include STRETCH_HVX_N_H
#undef COLOR_KEY
#undef KEY_PROTECT
#undef SOURCE_LOOKUP
#undef SOURCE_TYPE
#endif

#undef FUNC_NAME_