~ubuntu-branches/ubuntu/vivid/emscripten/vivid

« back to all changes in this revision

Viewing changes to system/include/SDL/SDL_gfxPrimitives.h

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2013-05-02 13:11:51 UTC
  • Revision ID: package-import@ubuntu.com-20130502131151-q8dvteqr1ef2x7xz
Tags: upstream-1.4.1~20130504~adb56cb
ImportĀ upstreamĀ versionĀ 1.4.1~20130504~adb56cb

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* 
 
2
 
 
3
SDL_gfxPrimitives.h: graphics primitives for SDL
 
4
 
 
5
Copyright (C) 2001-2011  Andreas Schiffler
 
6
 
 
7
This software is provided 'as-is', without any express or implied
 
8
warranty. In no event will the authors be held liable for any damages
 
9
arising from the use of this software.
 
10
 
 
11
Permission is granted to anyone to use this software for any purpose,
 
12
including commercial applications, and to alter it and redistribute it
 
13
freely, subject to the following restrictions:
 
14
 
 
15
   1. The origin of this software must not be misrepresented; you must not
 
16
   claim that you wrote the original software. If you use this software
 
17
   in a product, an acknowledgment in the product documentation would be
 
18
   appreciated but is not required.
 
19
 
 
20
   2. Altered source versions must be plainly marked as such, and must not be
 
21
   misrepresented as being the original software.
 
22
 
 
23
   3. This notice may not be removed or altered from any source
 
24
   distribution.
 
25
 
 
26
Andreas Schiffler -- aschiffler at ferzkopp dot net
 
27
 
 
28
*/
 
29
 
 
30
#ifndef _SDL_gfxPrimitives_h
 
31
#define _SDL_gfxPrimitives_h
 
32
 
 
33
#include <math.h>
 
34
#ifndef M_PI
 
35
#define M_PI    3.1415926535897932384626433832795
 
36
#endif
 
37
 
 
38
#include "SDL.h"
 
39
 
 
40
/* Set up for C function definitions, even when using C++ */
 
41
#ifdef __cplusplus
 
42
extern "C" {
 
43
#endif
 
44
 
 
45
        /* ----- Versioning */
 
46
 
 
47
#define SDL_GFXPRIMITIVES_MAJOR 2
 
48
#define SDL_GFXPRIMITIVES_MINOR 0
 
49
#define SDL_GFXPRIMITIVES_MICRO 23
 
50
 
 
51
 
 
52
        /* ---- Function Prototypes */
 
53
 
 
54
#ifdef _MSC_VER
 
55
#  if defined(DLL_EXPORT) && !defined(LIBSDL_GFX_DLL_IMPORT)
 
56
#    define SDL_GFXPRIMITIVES_SCOPE __declspec(dllexport)
 
57
#  else
 
58
#    ifdef LIBSDL_GFX_DLL_IMPORT
 
59
#      define SDL_GFXPRIMITIVES_SCOPE __declspec(dllimport)
 
60
#    endif
 
61
#  endif
 
62
#endif
 
63
#ifndef SDL_GFXPRIMITIVES_SCOPE
 
64
#  define SDL_GFXPRIMITIVES_SCOPE extern
 
65
#endif
 
66
 
 
67
        /* Note: all ___Color routines expect the color to be in format 0xRRGGBBAA */
 
68
 
 
69
        /* Pixel */
 
70
 
 
71
        SDL_GFXPRIMITIVES_SCOPE int pixelColor(SDL_Surface * dst, Sint16 x, Sint16 y, Uint32 color);
 
72
        SDL_GFXPRIMITIVES_SCOPE int pixelRGBA(SDL_Surface * dst, Sint16 x, Sint16 y, Uint8 r, Uint8 g, Uint8 b, Uint8 a);
 
73
 
 
74
        /* Horizontal line */
 
75
 
 
76
        SDL_GFXPRIMITIVES_SCOPE int hlineColor(SDL_Surface * dst, Sint16 x1, Sint16 x2, Sint16 y, Uint32 color);
 
77
        SDL_GFXPRIMITIVES_SCOPE int hlineRGBA(SDL_Surface * dst, Sint16 x1, Sint16 x2, Sint16 y, Uint8 r, Uint8 g, Uint8 b, Uint8 a);
 
78
 
 
79
        /* Vertical line */
 
80
 
 
81
        SDL_GFXPRIMITIVES_SCOPE int vlineColor(SDL_Surface * dst, Sint16 x, Sint16 y1, Sint16 y2, Uint32 color);
 
82
        SDL_GFXPRIMITIVES_SCOPE int vlineRGBA(SDL_Surface * dst, Sint16 x, Sint16 y1, Sint16 y2, Uint8 r, Uint8 g, Uint8 b, Uint8 a);
 
83
 
 
84
        /* Rectangle */
 
85
 
 
86
        SDL_GFXPRIMITIVES_SCOPE int rectangleColor(SDL_Surface * dst, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Uint32 color);
 
87
        SDL_GFXPRIMITIVES_SCOPE int rectangleRGBA(SDL_Surface * dst, Sint16 x1, Sint16 y1,
 
88
                Sint16 x2, Sint16 y2, Uint8 r, Uint8 g, Uint8 b, Uint8 a);
 
89
 
 
90
        /* Rounded-Corner Rectangle */
 
91
 
 
92
        SDL_GFXPRIMITIVES_SCOPE int roundedRectangleColor(SDL_Surface * dst, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Sint16 rad, Uint32 color);
 
93
        SDL_GFXPRIMITIVES_SCOPE int roundedRectangleRGBA(SDL_Surface * dst, Sint16 x1, Sint16 y1,
 
94
                Sint16 x2, Sint16 y2, Sint16 rad, Uint8 r, Uint8 g, Uint8 b, Uint8 a);
 
95
 
 
96
        /* Filled rectangle (Box) */
 
97
 
 
98
        SDL_GFXPRIMITIVES_SCOPE int boxColor(SDL_Surface * dst, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Uint32 color);
 
99
        SDL_GFXPRIMITIVES_SCOPE int boxRGBA(SDL_Surface * dst, Sint16 x1, Sint16 y1, Sint16 x2,
 
100
                Sint16 y2, Uint8 r, Uint8 g, Uint8 b, Uint8 a);
 
101
 
 
102
        /* Rounded-Corner Filled rectangle (Box) */
 
103
 
 
104
        SDL_GFXPRIMITIVES_SCOPE int roundedBoxColor(SDL_Surface * dst, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Sint16 rad, Uint32 color);
 
105
        SDL_GFXPRIMITIVES_SCOPE int roundedBoxRGBA(SDL_Surface * dst, Sint16 x1, Sint16 y1, Sint16 x2,
 
106
                Sint16 y2, Sint16 rad, Uint8 r, Uint8 g, Uint8 b, Uint8 a);
 
107
 
 
108
        /* Line */
 
109
 
 
110
        SDL_GFXPRIMITIVES_SCOPE int lineColor(SDL_Surface * dst, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Uint32 color);
 
111
        SDL_GFXPRIMITIVES_SCOPE int lineRGBA(SDL_Surface * dst, Sint16 x1, Sint16 y1,
 
112
                Sint16 x2, Sint16 y2, Uint8 r, Uint8 g, Uint8 b, Uint8 a);
 
113
 
 
114
        /* AA Line */
 
115
 
 
116
        SDL_GFXPRIMITIVES_SCOPE int aalineColor(SDL_Surface * dst, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Uint32 color);
 
117
        SDL_GFXPRIMITIVES_SCOPE int aalineRGBA(SDL_Surface * dst, Sint16 x1, Sint16 y1,
 
118
                Sint16 x2, Sint16 y2, Uint8 r, Uint8 g, Uint8 b, Uint8 a);
 
119
 
 
120
        /* Thick Line */
 
121
        SDL_GFXPRIMITIVES_SCOPE int thickLineColor(SDL_Surface * dst, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, 
 
122
                Uint8 width, Uint32 color);
 
123
        SDL_GFXPRIMITIVES_SCOPE int thickLineRGBA(SDL_Surface * dst, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, 
 
124
                Uint8 width, Uint8 r, Uint8 g, Uint8 b, Uint8 a);
 
125
        
 
126
        /* Circle */
 
127
 
 
128
        SDL_GFXPRIMITIVES_SCOPE int circleColor(SDL_Surface * dst, Sint16 x, Sint16 y, Sint16 rad, Uint32 color);
 
129
        SDL_GFXPRIMITIVES_SCOPE int circleRGBA(SDL_Surface * dst, Sint16 x, Sint16 y, Sint16 rad, Uint8 r, Uint8 g, Uint8 b, Uint8 a);
 
130
 
 
131
        /* Arc */
 
132
 
 
133
        SDL_GFXPRIMITIVES_SCOPE int arcColor(SDL_Surface * dst, Sint16 x, Sint16 y, Sint16 rad, Sint16 start, Sint16 end, Uint32 color);
 
134
        SDL_GFXPRIMITIVES_SCOPE int arcRGBA(SDL_Surface * dst, Sint16 x, Sint16 y, Sint16 rad, Sint16 start, Sint16 end, 
 
135
                Uint8 r, Uint8 g, Uint8 b, Uint8 a);
 
136
 
 
137
        /* AA Circle */
 
138
 
 
139
        SDL_GFXPRIMITIVES_SCOPE int aacircleColor(SDL_Surface * dst, Sint16 x, Sint16 y, Sint16 rad, Uint32 color);
 
140
        SDL_GFXPRIMITIVES_SCOPE int aacircleRGBA(SDL_Surface * dst, Sint16 x, Sint16 y,
 
141
                Sint16 rad, Uint8 r, Uint8 g, Uint8 b, Uint8 a);
 
142
 
 
143
        /* Filled Circle */
 
144
 
 
145
        SDL_GFXPRIMITIVES_SCOPE int filledCircleColor(SDL_Surface * dst, Sint16 x, Sint16 y, Sint16 r, Uint32 color);
 
146
        SDL_GFXPRIMITIVES_SCOPE int filledCircleRGBA(SDL_Surface * dst, Sint16 x, Sint16 y,
 
147
                Sint16 rad, Uint8 r, Uint8 g, Uint8 b, Uint8 a);
 
148
 
 
149
        /* Ellipse */
 
150
 
 
151
        SDL_GFXPRIMITIVES_SCOPE int ellipseColor(SDL_Surface * dst, Sint16 x, Sint16 y, Sint16 rx, Sint16 ry, Uint32 color);
 
152
        SDL_GFXPRIMITIVES_SCOPE int ellipseRGBA(SDL_Surface * dst, Sint16 x, Sint16 y,
 
153
                Sint16 rx, Sint16 ry, Uint8 r, Uint8 g, Uint8 b, Uint8 a);
 
154
 
 
155
        /* AA Ellipse */
 
156
 
 
157
        SDL_GFXPRIMITIVES_SCOPE int aaellipseColor(SDL_Surface * dst, Sint16 x, Sint16 y, Sint16 rx, Sint16 ry, Uint32 color);
 
158
        SDL_GFXPRIMITIVES_SCOPE int aaellipseRGBA(SDL_Surface * dst, Sint16 x, Sint16 y,
 
159
                Sint16 rx, Sint16 ry, Uint8 r, Uint8 g, Uint8 b, Uint8 a);
 
160
 
 
161
        /* Filled Ellipse */
 
162
 
 
163
        SDL_GFXPRIMITIVES_SCOPE int filledEllipseColor(SDL_Surface * dst, Sint16 x, Sint16 y, Sint16 rx, Sint16 ry, Uint32 color);
 
164
        SDL_GFXPRIMITIVES_SCOPE int filledEllipseRGBA(SDL_Surface * dst, Sint16 x, Sint16 y,
 
165
                Sint16 rx, Sint16 ry, Uint8 r, Uint8 g, Uint8 b, Uint8 a);
 
166
 
 
167
        /* Pie */
 
168
 
 
169
        SDL_GFXPRIMITIVES_SCOPE int pieColor(SDL_Surface * dst, Sint16 x, Sint16 y, Sint16 rad,
 
170
                Sint16 start, Sint16 end, Uint32 color);
 
171
        SDL_GFXPRIMITIVES_SCOPE int pieRGBA(SDL_Surface * dst, Sint16 x, Sint16 y, Sint16 rad,
 
172
                Sint16 start, Sint16 end, Uint8 r, Uint8 g, Uint8 b, Uint8 a);
 
173
 
 
174
        /* Filled Pie */
 
175
 
 
176
        SDL_GFXPRIMITIVES_SCOPE int filledPieColor(SDL_Surface * dst, Sint16 x, Sint16 y, Sint16 rad,
 
177
                Sint16 start, Sint16 end, Uint32 color);
 
178
        SDL_GFXPRIMITIVES_SCOPE int filledPieRGBA(SDL_Surface * dst, Sint16 x, Sint16 y, Sint16 rad,
 
179
                Sint16 start, Sint16 end, Uint8 r, Uint8 g, Uint8 b, Uint8 a);
 
180
 
 
181
        /* Trigon */
 
182
 
 
183
        SDL_GFXPRIMITIVES_SCOPE int trigonColor(SDL_Surface * dst, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Sint16 x3, Sint16 y3, Uint32 color);
 
184
        SDL_GFXPRIMITIVES_SCOPE int trigonRGBA(SDL_Surface * dst, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Sint16 x3, Sint16 y3,
 
185
                Uint8 r, Uint8 g, Uint8 b, Uint8 a);
 
186
 
 
187
        /* AA-Trigon */
 
188
 
 
189
        SDL_GFXPRIMITIVES_SCOPE int aatrigonColor(SDL_Surface * dst, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Sint16 x3, Sint16 y3, Uint32 color);
 
190
        SDL_GFXPRIMITIVES_SCOPE int aatrigonRGBA(SDL_Surface * dst,  Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Sint16 x3, Sint16 y3,
 
191
                Uint8 r, Uint8 g, Uint8 b, Uint8 a);
 
192
 
 
193
        /* Filled Trigon */
 
194
 
 
195
        SDL_GFXPRIMITIVES_SCOPE int filledTrigonColor(SDL_Surface * dst, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Sint16 x3, Sint16 y3, Uint32 color);
 
196
        SDL_GFXPRIMITIVES_SCOPE int filledTrigonRGBA(SDL_Surface * dst, Sint16 x1, Sint16 y1, Sint16 x2, Sint16 y2, Sint16 x3, Sint16 y3,
 
197
                Uint8 r, Uint8 g, Uint8 b, Uint8 a);
 
198
 
 
199
        /* Polygon */
 
200
 
 
201
        SDL_GFXPRIMITIVES_SCOPE int polygonColor(SDL_Surface * dst, const Sint16 * vx, const Sint16 * vy, int n, Uint32 color);
 
202
        SDL_GFXPRIMITIVES_SCOPE int polygonRGBA(SDL_Surface * dst, const Sint16 * vx, const Sint16 * vy,
 
203
                int n, Uint8 r, Uint8 g, Uint8 b, Uint8 a);
 
204
 
 
205
        /* AA-Polygon */
 
206
 
 
207
        SDL_GFXPRIMITIVES_SCOPE int aapolygonColor(SDL_Surface * dst, const Sint16 * vx, const Sint16 * vy, int n, Uint32 color);
 
208
        SDL_GFXPRIMITIVES_SCOPE int aapolygonRGBA(SDL_Surface * dst, const Sint16 * vx, const Sint16 * vy,
 
209
                int n, Uint8 r, Uint8 g, Uint8 b, Uint8 a);
 
210
 
 
211
        /* Filled Polygon */
 
212
 
 
213
        SDL_GFXPRIMITIVES_SCOPE int filledPolygonColor(SDL_Surface * dst, const Sint16 * vx, const Sint16 * vy, int n, Uint32 color);
 
214
        SDL_GFXPRIMITIVES_SCOPE int filledPolygonRGBA(SDL_Surface * dst, const Sint16 * vx,
 
215
                const Sint16 * vy, int n, Uint8 r, Uint8 g, Uint8 b, Uint8 a);
 
216
        SDL_GFXPRIMITIVES_SCOPE int texturedPolygon(SDL_Surface * dst, const Sint16 * vx, const Sint16 * vy, int n, SDL_Surface * texture,int texture_dx,int texture_dy);
 
217
 
 
218
        /* (Note: These MT versions are required for multi-threaded operation.) */
 
219
 
 
220
        SDL_GFXPRIMITIVES_SCOPE int filledPolygonColorMT(SDL_Surface * dst, const Sint16 * vx, const Sint16 * vy, int n, Uint32 color, int **polyInts, int *polyAllocated);
 
221
        SDL_GFXPRIMITIVES_SCOPE int filledPolygonRGBAMT(SDL_Surface * dst, const Sint16 * vx,
 
222
                const Sint16 * vy, int n, Uint8 r, Uint8 g, Uint8 b, Uint8 a,
 
223
                int **polyInts, int *polyAllocated);
 
224
        SDL_GFXPRIMITIVES_SCOPE int texturedPolygonMT(SDL_Surface * dst, const Sint16 * vx, const Sint16 * vy, int n, SDL_Surface * texture,int texture_dx,int texture_dy, int **polyInts, int *polyAllocated);
 
225
 
 
226
        /* Bezier */
 
227
 
 
228
        SDL_GFXPRIMITIVES_SCOPE int bezierColor(SDL_Surface * dst, const Sint16 * vx, const Sint16 * vy, int n, int s, Uint32 color);
 
229
        SDL_GFXPRIMITIVES_SCOPE int bezierRGBA(SDL_Surface * dst, const Sint16 * vx, const Sint16 * vy,
 
230
                int n, int s, Uint8 r, Uint8 g, Uint8 b, Uint8 a);
 
231
 
 
232
        /* Characters/Strings */
 
233
 
 
234
        SDL_GFXPRIMITIVES_SCOPE void gfxPrimitivesSetFont(const void *fontdata, Uint32 cw, Uint32 ch);
 
235
        SDL_GFXPRIMITIVES_SCOPE void gfxPrimitivesSetFontRotation(Uint32 rotation);
 
236
        SDL_GFXPRIMITIVES_SCOPE int characterColor(SDL_Surface * dst, Sint16 x, Sint16 y, char c, Uint32 color);
 
237
        SDL_GFXPRIMITIVES_SCOPE int characterRGBA(SDL_Surface * dst, Sint16 x, Sint16 y, char c, Uint8 r, Uint8 g, Uint8 b, Uint8 a);
 
238
        SDL_GFXPRIMITIVES_SCOPE int stringColor(SDL_Surface * dst, Sint16 x, Sint16 y, const char *s, Uint32 color);
 
239
        SDL_GFXPRIMITIVES_SCOPE int stringRGBA(SDL_Surface * dst, Sint16 x, Sint16 y, const char *s, Uint8 r, Uint8 g, Uint8 b, Uint8 a);
 
240
 
 
241
        /* Ends C function definitions when using C++ */
 
242
#ifdef __cplusplus
 
243
}
 
244
#endif
 
245
 
 
246
#endif                          /* _SDL_gfxPrimitives_h */