Skip to content
This repository has been archived by the owner on Feb 11, 2021. It is now read-only.

Latest commit

 

History

History
187 lines (176 loc) · 4.56 KB

SDL_gf_pixelfmt.c

File metadata and controls

187 lines (176 loc) · 4.56 KB
 
1
2
/*
SDL - Simple DirectMedia Layer
Jan 24, 2010
Jan 24, 2010
3
Copyright (C) 1997-2010 Sam Lantinga
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Sam Lantinga
slouken@libsdl.org
Mar 17, 2009
Mar 17, 2009
21
22
23
24
QNX Graphics Framework SDL driver
Copyright (C) 2009 Mike Gorchak
(mike@malva.ua, lestat@i.com.ua)
25
26
27
28
29
*/
#include "SDL_config.h"
#include "SDL_gf_pixelfmt.h"
May 23, 2009
May 23, 2009
30
31
gf_format_t
qnxgf_sdl_to_gf_pixelformat(uint32_t pixelfmt)
32
{
May 23, 2009
May 23, 2009
33
34
35
36
37
38
39
40
41
42
43
switch (pixelfmt) {
case SDL_PIXELFORMAT_INDEX8:
{
return GF_FORMAT_PAL8;
}
break;
case SDL_PIXELFORMAT_ARGB1555:
{
return GF_FORMAT_PACK_ARGB1555;
}
break;
Jun 10, 2009
Jun 10, 2009
44
case SDL_PIXELFORMAT_RGB555:
May 23, 2009
May 23, 2009
45
{
Jun 10, 2009
Jun 10, 2009
46
/* RGB555 is the same as ARGB1555, but alpha is ignored */
May 23, 2009
May 23, 2009
47
48
49
50
51
52
53
54
return GF_FORMAT_PACK_ARGB1555;
}
break;
case SDL_PIXELFORMAT_RGB565:
{
return GF_FORMAT_PACK_RGB565;
}
break;
Jun 10, 2009
Jun 10, 2009
55
case SDL_PIXELFORMAT_BGR565:
May 23, 2009
May 23, 2009
56
{
Jun 10, 2009
Jun 10, 2009
57
58
59
60
61
62
return GF_FORMAT_PKBE_RGB565;
}
break;
case SDL_PIXELFORMAT_RGB24:
{
/* GF has wrong components order */
May 23, 2009
May 23, 2009
63
64
65
return GF_FORMAT_BGR888;
}
break;
Jun 10, 2009
Jun 10, 2009
66
case SDL_PIXELFORMAT_RGB888:
May 23, 2009
May 23, 2009
67
{
Jun 10, 2009
Jun 10, 2009
68
69
/* The same format as ARGB8888, but with alpha ignored */
/* and GF has wrong components order */
May 23, 2009
May 23, 2009
70
71
72
73
74
return GF_FORMAT_BGRA8888;
}
break;
case SDL_PIXELFORMAT_ARGB8888:
{
Jun 10, 2009
Jun 10, 2009
75
76
77
78
79
80
81
/* GF has wrong components order */
return GF_FORMAT_BGRA8888;
}
break;
case SDL_PIXELFORMAT_BGRA8888:
{
/* GF has wrong components order */
May 23, 2009
May 23, 2009
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
return GF_FORMAT_ARGB8888;
}
break;
case SDL_PIXELFORMAT_YV12:
{
return GF_FORMAT_PLANAR_YUV_YV12;
}
break;
case SDL_PIXELFORMAT_YUY2:
{
return GF_FORMAT_PACK_YUV_YUY2;
}
break;
case SDL_PIXELFORMAT_UYVY:
{
return GF_FORMAT_PACK_YUV_UYVY;
}
break;
case SDL_PIXELFORMAT_YVYU:
{
return GF_FORMAT_PACK_YUV_YVYU;
}
break;
}
106
May 23, 2009
May 23, 2009
107
return GF_FORMAT_INVALID;
108
109
}
May 23, 2009
May 23, 2009
110
111
uint32_t
qnxgf_gf_to_sdl_pixelformat(gf_format_t pixelfmt)
112
{
May 23, 2009
May 23, 2009
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
switch (pixelfmt) {
case GF_FORMAT_PAL8:
{
return SDL_PIXELFORMAT_INDEX8;
}
break;
case GF_FORMAT_PKLE_ARGB1555:
{
return SDL_PIXELFORMAT_ARGB1555;
}
break;
case GF_FORMAT_PACK_ARGB1555:
{
return SDL_PIXELFORMAT_ARGB1555;
}
break;
case GF_FORMAT_PKBE_RGB565:
{
Jun 10, 2009
Jun 10, 2009
131
return SDL_PIXELFORMAT_BGR565;
May 23, 2009
May 23, 2009
132
133
134
135
136
137
138
139
140
141
142
143
144
145
}
break;
case GF_FORMAT_PKLE_RGB565:
{
return SDL_PIXELFORMAT_RGB565;
}
break;
case GF_FORMAT_PACK_RGB565:
{
return SDL_PIXELFORMAT_RGB565;
}
break;
case GF_FORMAT_BGR888:
{
Jun 10, 2009
Jun 10, 2009
146
147
/* GF has wrong components order */
return SDL_PIXELFORMAT_RGB24;
May 23, 2009
May 23, 2009
148
149
150
151
}
break;
case GF_FORMAT_BGRA8888:
{
Jun 10, 2009
Jun 10, 2009
152
153
/* GF has wrong components order */
return SDL_PIXELFORMAT_ARGB8888;
May 23, 2009
May 23, 2009
154
155
156
157
}
break;
case GF_FORMAT_ARGB8888:
{
Jun 10, 2009
Jun 10, 2009
158
159
/* GF has wrong components order */
return SDL_PIXELFORMAT_BGRA8888;
May 23, 2009
May 23, 2009
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
}
break;
case GF_FORMAT_PLANAR_YUV_YV12:
{
return SDL_PIXELFORMAT_YV12;
}
break;
case GF_FORMAT_PACK_YUV_YUY2:
{
return SDL_PIXELFORMAT_YUY2;
}
break;
case GF_FORMAT_PACK_YUV_UYVY:
{
return SDL_PIXELFORMAT_UYVY;
}
break;
case GF_FORMAT_PACK_YUV_YVYU:
{
return SDL_PIXELFORMAT_YVYU;
}
break;
}
183
May 23, 2009
May 23, 2009
184
return SDL_PIXELFORMAT_UNKNOWN;
185
}
Mar 17, 2009
Mar 17, 2009
186
187
/* vi: set ts=4 sw=4 expandtab: */