Mercurial > sdl-ios-xcode
annotate src/video/dummy/SDL_nullrender.c @ 5067:61d53410eb41
Fixed bug #859
CREATE_SUBDIRS helps a lot if browsing HTML documentation in a file browser.
ALWAYS_DETAILED_SEC makes sure everything has at least the automatic
documentation like function prototype and source references.
STRIP_FROM_PATH allows you to include only the relevant portions of the files'
paths, cleaning up both the file list and directory tree, though you need to
change the path listed here to match wherever you put SDL.
ALIASES avoids some warnings generated by
C:\source\svn.libsdl.org\trunk\SDL\src\joystick\darwin\10.3.9-FIX\IOHIDLib.h.
It seems Apple uses a few commands which are not normally supported by Doxygen.
BUILTIN_STL_SUPPORT adds support for parsing code which makes use of the
standard template library. There isn't a lot of C++ in SDL (some in bwindow at
least), but this still seems like a good idea.
TYPEDEF_HIDES_STRUCT means that for code like this:
typedef struct A {int B;} C;
C is documented as a structure containing B instead of a typedef mapped to A.
EXTRACT_ALL, EXTRACT_PRIVATE, EXTRACT_STATIC, EXTRACT_LOCAL_METHODS,
EXTRACT_ANON_NSPACES and INTERNAL_DOCS make sure that _everything_ is
documented.
CASE_SENSE_NAMES = NO avoids potential conflicts when building documentation on
case insensitive file systems like NTFS and FAT32.
WARN_NO_PARAMDOC lets you know when you have documented some, but not all, of
the parameters of a function. This is useful when you're working on adding
such documentation since it makes partially documented functions easier to
spot.
WARN_LOGFILE writes warnings to a seperate file instead of mixing them in with
stdout. When not running in quiet mode, these warnings can be hard to spot
without this flag.
I added *.h.in and *.h.default to FILE_PATTERNS to generate documentation for
config.h.in and config.h.default.
RECURSIVE tells doxygen to look not only in the input directory, but also in
subfolders.
EXCLUDE avoids documenting things like test programs, examples and templates
which need to be documented separately.
I've used EXCLUDE_PATTERNS to exclude non-source subdirectories that often find
their way into source folders (such as obj or .svn).
EXAMPLE_PATH lists directories doxygen will search to find included example
code. So far, SDL doesn't really use this feature, but I've listed some likely
locations.
SOURCE_BROWSER adds syntax highlighted source code to the HTML output.
USE_HTAGS is nice, but not available on Windows.
INLINE_SOURCES adds the body of a function to it's documentation so you can
quickly see exactly what it does.
ALPHABETICAL_INDEX generates an alphabetical list of all structures, functions,
etc., which makes it much easier to find what you're looking for.
IGNORE_PREFIX skips the SDL_ prefix when deciding which index page to place an
item on so you don't have everything show up under "S".
HTML_DYNAMIC_SECTIONS hides the includes/included by diagrams by default and
adds JavaScript to allow the user to show and hide them by clicking a link.
ENUM_VALUES_PER_LINE = 1 makes enums easier to read by placing each value on
it's own line.
GENERATE_TREEVIEW produces a two frame index page with a navigation tree on the
left.
I have LaTeX and man pages turned off to speed up doxygen, you may want to turn
them back on yourself.
I added _WIN32=1 to PREDEFINED to cause SDL to output documentation related to
Win32 builds of SDL. Normally, doxygen gets confused since there are multiple
definitions for various structures and formats that vary by platform. Without
this doxygen can produce broken documentation or, if you're lucky, output
documentation only for the dummy drivers, which isn't very useful. You need to
pick a platform.
GENERATE_TAGFILE produces a file which can be used to link other doxygen
documentation to the SDL documentation.
CLASS_DIAGRAMS turns on class diagrams even when dot is not available.
HAVE_DOT tells doxygen to try to use dot to generate diagrams.
TEMPLATE_RELATIONS and INCLUDE_GRAPH add additional diagrams to the
documentation.
DOT_MULTI_TARGETS speeds up dot.
OUTPUT_DIRECTORY, INPUT and other paths reflect the fact that this Doxyfile is
intended to process src as well as include and is being run from a separate
subdirectory. Doxygen produces several temporary files while it's running and
if interrupted, can leave those files behind. It's easier to clean up if there
aren't a hundred or so files in the same folder. I typically run doxygen in
SDL/doxy and set the output directory to '.'. Since doxygen puts it's output
in subfolders by type, this keeps things pretty well organised. You could use
'../doc' instead and get the same results.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Fri, 21 Jan 2011 12:57:01 -0800 |
parents | f7b03b6838cb |
children | e743b9c3f6d6 |
rev | line source |
---|---|
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
1 /* |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
2 SDL - Simple DirectMedia Layer |
3697 | 3 Copyright (C) 1997-2010 Sam Lantinga |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
4 |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
5 This library is free software; you can redistribute it and/or |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
6 modify it under the terms of the GNU Lesser General Public |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
7 License as published by the Free Software Foundation; either |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
8 version 2.1 of the License, or (at your option) any later version. |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
9 |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
10 This library is distributed in the hope that it will be useful, |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
11 but WITHOUT ANY WARRANTY; without even the implied warranty of |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
13 Lesser General Public License for more details. |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
14 |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
15 You should have received a copy of the GNU Lesser General Public |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
16 License along with this library; if not, write to the Free Software |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
18 |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
19 Sam Lantinga |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
20 slouken@libsdl.org |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
21 */ |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
22 #include "SDL_config.h" |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
23 |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
24 #include "SDL_video.h" |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
25 #include "../SDL_sysvideo.h" |
1908
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
26 #include "../SDL_yuv_sw_c.h" |
2228
bb67fd5ccfdb
Fixed compile warnings with Visual C++
Sam Lantinga <slouken@libsdl.org>
parents:
2227
diff
changeset
|
27 #include "../SDL_renderer_sw.h" |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
28 |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
29 |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
30 /* SDL surface based renderer implementation */ |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
31 |
1912
8d384b647307
Setting up the OpenGL support
Sam Lantinga <slouken@libsdl.org>
parents:
1908
diff
changeset
|
32 static SDL_Renderer *SDL_DUMMY_CreateRenderer(SDL_Window * window, |
8d384b647307
Setting up the OpenGL support
Sam Lantinga <slouken@libsdl.org>
parents:
1908
diff
changeset
|
33 Uint32 flags); |
3596
f638ded38b8a
Added SDL_RenderClear() as a fast method of clearing the screen to the drawing color.
Sam Lantinga <slouken@libsdl.org>
parents:
3536
diff
changeset
|
34 static int SDL_DUMMY_RenderDrawPoints(SDL_Renderer * renderer, |
f638ded38b8a
Added SDL_RenderClear() as a fast method of clearing the screen to the drawing color.
Sam Lantinga <slouken@libsdl.org>
parents:
3536
diff
changeset
|
35 const SDL_Point * points, int count); |
f638ded38b8a
Added SDL_RenderClear() as a fast method of clearing the screen to the drawing color.
Sam Lantinga <slouken@libsdl.org>
parents:
3536
diff
changeset
|
36 static int SDL_DUMMY_RenderDrawLines(SDL_Renderer * renderer, |
f638ded38b8a
Added SDL_RenderClear() as a fast method of clearing the screen to the drawing color.
Sam Lantinga <slouken@libsdl.org>
parents:
3536
diff
changeset
|
37 const SDL_Point * points, int count); |
f638ded38b8a
Added SDL_RenderClear() as a fast method of clearing the screen to the drawing color.
Sam Lantinga <slouken@libsdl.org>
parents:
3536
diff
changeset
|
38 static int SDL_DUMMY_RenderDrawRects(SDL_Renderer * renderer, |
f638ded38b8a
Added SDL_RenderClear() as a fast method of clearing the screen to the drawing color.
Sam Lantinga <slouken@libsdl.org>
parents:
3536
diff
changeset
|
39 const SDL_Rect ** rects, int count); |
f638ded38b8a
Added SDL_RenderClear() as a fast method of clearing the screen to the drawing color.
Sam Lantinga <slouken@libsdl.org>
parents:
3536
diff
changeset
|
40 static int SDL_DUMMY_RenderFillRects(SDL_Renderer * renderer, |
f638ded38b8a
Added SDL_RenderClear() as a fast method of clearing the screen to the drawing color.
Sam Lantinga <slouken@libsdl.org>
parents:
3536
diff
changeset
|
41 const SDL_Rect ** rects, int count); |
1912
8d384b647307
Setting up the OpenGL support
Sam Lantinga <slouken@libsdl.org>
parents:
1908
diff
changeset
|
42 static int SDL_DUMMY_RenderCopy(SDL_Renderer * renderer, |
8d384b647307
Setting up the OpenGL support
Sam Lantinga <slouken@libsdl.org>
parents:
1908
diff
changeset
|
43 SDL_Texture * texture, |
8d384b647307
Setting up the OpenGL support
Sam Lantinga <slouken@libsdl.org>
parents:
1908
diff
changeset
|
44 const SDL_Rect * srcrect, |
1985
8055185ae4ed
Added source color and alpha modulation support.
Sam Lantinga <slouken@libsdl.org>
parents:
1965
diff
changeset
|
45 const SDL_Rect * dstrect); |
3451
a65f7b3a2524
Implemented SDL_RenderReadPixels()/SDL_RenderWritePixels() for the dummy renderer.
Sam Lantinga <slouken@libsdl.org>
parents:
2927
diff
changeset
|
46 static int SDL_DUMMY_RenderReadPixels(SDL_Renderer * renderer, |
a65f7b3a2524
Implemented SDL_RenderReadPixels()/SDL_RenderWritePixels() for the dummy renderer.
Sam Lantinga <slouken@libsdl.org>
parents:
2927
diff
changeset
|
47 const SDL_Rect * rect, |
a65f7b3a2524
Implemented SDL_RenderReadPixels()/SDL_RenderWritePixels() for the dummy renderer.
Sam Lantinga <slouken@libsdl.org>
parents:
2927
diff
changeset
|
48 Uint32 format, |
a65f7b3a2524
Implemented SDL_RenderReadPixels()/SDL_RenderWritePixels() for the dummy renderer.
Sam Lantinga <slouken@libsdl.org>
parents:
2927
diff
changeset
|
49 void * pixels, int pitch); |
a65f7b3a2524
Implemented SDL_RenderReadPixels()/SDL_RenderWritePixels() for the dummy renderer.
Sam Lantinga <slouken@libsdl.org>
parents:
2927
diff
changeset
|
50 static int SDL_DUMMY_RenderWritePixels(SDL_Renderer * renderer, |
a65f7b3a2524
Implemented SDL_RenderReadPixels()/SDL_RenderWritePixels() for the dummy renderer.
Sam Lantinga <slouken@libsdl.org>
parents:
2927
diff
changeset
|
51 const SDL_Rect * rect, |
a65f7b3a2524
Implemented SDL_RenderReadPixels()/SDL_RenderWritePixels() for the dummy renderer.
Sam Lantinga <slouken@libsdl.org>
parents:
2927
diff
changeset
|
52 Uint32 format, |
a65f7b3a2524
Implemented SDL_RenderReadPixels()/SDL_RenderWritePixels() for the dummy renderer.
Sam Lantinga <slouken@libsdl.org>
parents:
2927
diff
changeset
|
53 const void * pixels, int pitch); |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
54 static void SDL_DUMMY_RenderPresent(SDL_Renderer * renderer); |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
55 static void SDL_DUMMY_DestroyRenderer(SDL_Renderer * renderer); |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
56 |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
57 |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
58 SDL_RenderDriver SDL_DUMMY_RenderDriver = { |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
59 SDL_DUMMY_CreateRenderer, |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
60 { |
1906
0c49855a7a3e
Changed the name of the dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1895
diff
changeset
|
61 "dummy", |
1965
a788656ca29a
SDL constants are all uppercase.
Sam Lantinga <slouken@libsdl.org>
parents:
1912
diff
changeset
|
62 (SDL_RENDERER_SINGLEBUFFER | SDL_RENDERER_PRESENTCOPY | |
a788656ca29a
SDL constants are all uppercase.
Sam Lantinga <slouken@libsdl.org>
parents:
1912
diff
changeset
|
63 SDL_RENDERER_PRESENTFLIP2 | SDL_RENDERER_PRESENTFLIP3 | |
a788656ca29a
SDL constants are all uppercase.
Sam Lantinga <slouken@libsdl.org>
parents:
1912
diff
changeset
|
64 SDL_RENDERER_PRESENTDISCARD), |
2227
b252359547ed
Exported the software renderer texture functions to make easier to create
Sam Lantinga <slouken@libsdl.org>
parents:
1992
diff
changeset
|
65 } |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
66 }; |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
67 |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
68 typedef struct |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
69 { |
1908
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
70 int current_screen; |
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
71 SDL_Surface *screens[3]; |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
72 } SDL_DUMMY_RenderData; |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
73 |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
74 SDL_Renderer * |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
75 SDL_DUMMY_CreateRenderer(SDL_Window * window, Uint32 flags) |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
76 { |
3685
64ce267332c6
Switched from SDL_WindowID and SDL_TextureID to SDL_Window* and SDL_Texture* for code simplicity and improved performance.
Sam Lantinga <slouken@libsdl.org>
parents:
3596
diff
changeset
|
77 SDL_VideoDisplay *display = window->display; |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
78 SDL_DisplayMode *displayMode = &display->current_mode; |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
79 SDL_Renderer *renderer; |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
80 SDL_DUMMY_RenderData *data; |
1908
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
81 int i, n; |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
82 int bpp; |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
83 Uint32 Rmask, Gmask, Bmask, Amask; |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
84 |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
85 if (!SDL_PixelFormatEnumToMasks |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
86 (displayMode->format, &bpp, &Rmask, &Gmask, &Bmask, &Amask)) { |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
87 SDL_SetError("Unknown display format"); |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
88 return NULL; |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
89 } |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
90 |
1908
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
91 renderer = (SDL_Renderer *) SDL_calloc(1, sizeof(*renderer)); |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
92 if (!renderer) { |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
93 SDL_OutOfMemory(); |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
94 return NULL; |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
95 } |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
96 |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
97 data = (SDL_DUMMY_RenderData *) SDL_malloc(sizeof(*data)); |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
98 if (!data) { |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
99 SDL_DUMMY_DestroyRenderer(renderer); |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
100 SDL_OutOfMemory(); |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
101 return NULL; |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
102 } |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
103 SDL_zerop(data); |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
104 |
3596
f638ded38b8a
Added SDL_RenderClear() as a fast method of clearing the screen to the drawing color.
Sam Lantinga <slouken@libsdl.org>
parents:
3536
diff
changeset
|
105 renderer->RenderDrawPoints = SDL_DUMMY_RenderDrawPoints; |
f638ded38b8a
Added SDL_RenderClear() as a fast method of clearing the screen to the drawing color.
Sam Lantinga <slouken@libsdl.org>
parents:
3536
diff
changeset
|
106 renderer->RenderDrawLines = SDL_DUMMY_RenderDrawLines; |
f638ded38b8a
Added SDL_RenderClear() as a fast method of clearing the screen to the drawing color.
Sam Lantinga <slouken@libsdl.org>
parents:
3536
diff
changeset
|
107 renderer->RenderDrawRects = SDL_DUMMY_RenderDrawRects; |
f638ded38b8a
Added SDL_RenderClear() as a fast method of clearing the screen to the drawing color.
Sam Lantinga <slouken@libsdl.org>
parents:
3536
diff
changeset
|
108 renderer->RenderFillRects = SDL_DUMMY_RenderFillRects; |
1908
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
109 renderer->RenderCopy = SDL_DUMMY_RenderCopy; |
3451
a65f7b3a2524
Implemented SDL_RenderReadPixels()/SDL_RenderWritePixels() for the dummy renderer.
Sam Lantinga <slouken@libsdl.org>
parents:
2927
diff
changeset
|
110 renderer->RenderReadPixels = SDL_DUMMY_RenderReadPixels; |
a65f7b3a2524
Implemented SDL_RenderReadPixels()/SDL_RenderWritePixels() for the dummy renderer.
Sam Lantinga <slouken@libsdl.org>
parents:
2927
diff
changeset
|
111 renderer->RenderWritePixels = SDL_DUMMY_RenderWritePixels; |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
112 renderer->RenderPresent = SDL_DUMMY_RenderPresent; |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
113 renderer->DestroyRenderer = SDL_DUMMY_DestroyRenderer; |
2227
b252359547ed
Exported the software renderer texture functions to make easier to create
Sam Lantinga <slouken@libsdl.org>
parents:
1992
diff
changeset
|
114 renderer->info.name = SDL_DUMMY_RenderDriver.info.name; |
b252359547ed
Exported the software renderer texture functions to make easier to create
Sam Lantinga <slouken@libsdl.org>
parents:
1992
diff
changeset
|
115 renderer->info.flags = 0; |
3685
64ce267332c6
Switched from SDL_WindowID and SDL_TextureID to SDL_Window* and SDL_Texture* for code simplicity and improved performance.
Sam Lantinga <slouken@libsdl.org>
parents:
3596
diff
changeset
|
116 renderer->window = window; |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
117 renderer->driverdata = data; |
2227
b252359547ed
Exported the software renderer texture functions to make easier to create
Sam Lantinga <slouken@libsdl.org>
parents:
1992
diff
changeset
|
118 Setup_SoftwareRenderer(renderer); |
1908
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
119 |
1965
a788656ca29a
SDL constants are all uppercase.
Sam Lantinga <slouken@libsdl.org>
parents:
1912
diff
changeset
|
120 if (flags & SDL_RENDERER_PRESENTFLIP2) { |
a788656ca29a
SDL constants are all uppercase.
Sam Lantinga <slouken@libsdl.org>
parents:
1912
diff
changeset
|
121 renderer->info.flags |= SDL_RENDERER_PRESENTFLIP2; |
1908
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
122 n = 2; |
1965
a788656ca29a
SDL constants are all uppercase.
Sam Lantinga <slouken@libsdl.org>
parents:
1912
diff
changeset
|
123 } else if (flags & SDL_RENDERER_PRESENTFLIP3) { |
a788656ca29a
SDL constants are all uppercase.
Sam Lantinga <slouken@libsdl.org>
parents:
1912
diff
changeset
|
124 renderer->info.flags |= SDL_RENDERER_PRESENTFLIP3; |
1908
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
125 n = 3; |
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
126 } else { |
1965
a788656ca29a
SDL constants are all uppercase.
Sam Lantinga <slouken@libsdl.org>
parents:
1912
diff
changeset
|
127 renderer->info.flags |= SDL_RENDERER_PRESENTCOPY; |
1908
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
128 n = 1; |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
129 } |
1908
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
130 for (i = 0; i < n; ++i) { |
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
131 data->screens[i] = |
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
132 SDL_CreateRGBSurface(0, window->w, window->h, bpp, Rmask, Gmask, |
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
133 Bmask, Amask); |
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
134 if (!data->screens[i]) { |
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
135 SDL_DUMMY_DestroyRenderer(renderer); |
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
136 return NULL; |
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
137 } |
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
138 SDL_SetSurfacePalette(data->screens[i], display->palette); |
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
139 } |
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
140 data->current_screen = 0; |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
141 |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
142 return renderer; |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
143 } |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
144 |
1908
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
145 static int |
3596
f638ded38b8a
Added SDL_RenderClear() as a fast method of clearing the screen to the drawing color.
Sam Lantinga <slouken@libsdl.org>
parents:
3536
diff
changeset
|
146 SDL_DUMMY_RenderDrawPoints(SDL_Renderer * renderer, |
f638ded38b8a
Added SDL_RenderClear() as a fast method of clearing the screen to the drawing color.
Sam Lantinga <slouken@libsdl.org>
parents:
3536
diff
changeset
|
147 const SDL_Point * points, int count) |
2901 | 148 { |
149 SDL_DUMMY_RenderData *data = | |
150 (SDL_DUMMY_RenderData *) renderer->driverdata; | |
151 SDL_Surface *target = data->screens[data->current_screen]; | |
152 | |
153 if (renderer->blendMode == SDL_BLENDMODE_NONE || | |
154 renderer->blendMode == SDL_BLENDMODE_MASK) { | |
3536
0267b8b1595c
Added interfaces for batch drawing of points, lines and rects:
Sam Lantinga <slouken@libsdl.org>
parents:
3451
diff
changeset
|
155 Uint32 color = SDL_MapRGBA(target->format, |
0267b8b1595c
Added interfaces for batch drawing of points, lines and rects:
Sam Lantinga <slouken@libsdl.org>
parents:
3451
diff
changeset
|
156 renderer->r, renderer->g, renderer->b, |
0267b8b1595c
Added interfaces for batch drawing of points, lines and rects:
Sam Lantinga <slouken@libsdl.org>
parents:
3451
diff
changeset
|
157 renderer->a); |
2901 | 158 |
3536
0267b8b1595c
Added interfaces for batch drawing of points, lines and rects:
Sam Lantinga <slouken@libsdl.org>
parents:
3451
diff
changeset
|
159 return SDL_DrawPoints(target, points, count, color); |
2901 | 160 } else { |
3536
0267b8b1595c
Added interfaces for batch drawing of points, lines and rects:
Sam Lantinga <slouken@libsdl.org>
parents:
3451
diff
changeset
|
161 return SDL_BlendPoints(target, points, count, renderer->blendMode, |
0267b8b1595c
Added interfaces for batch drawing of points, lines and rects:
Sam Lantinga <slouken@libsdl.org>
parents:
3451
diff
changeset
|
162 renderer->r, renderer->g, renderer->b, |
0267b8b1595c
Added interfaces for batch drawing of points, lines and rects:
Sam Lantinga <slouken@libsdl.org>
parents:
3451
diff
changeset
|
163 renderer->a); |
2901 | 164 } |
165 } | |
166 | |
167 static int | |
3596
f638ded38b8a
Added SDL_RenderClear() as a fast method of clearing the screen to the drawing color.
Sam Lantinga <slouken@libsdl.org>
parents:
3536
diff
changeset
|
168 SDL_DUMMY_RenderDrawLines(SDL_Renderer * renderer, |
f638ded38b8a
Added SDL_RenderClear() as a fast method of clearing the screen to the drawing color.
Sam Lantinga <slouken@libsdl.org>
parents:
3536
diff
changeset
|
169 const SDL_Point * points, int count) |
2888
32e8bbba1e94
Added stubs for software implementations of blending fills and line drawing
Sam Lantinga <slouken@libsdl.org>
parents:
2884
diff
changeset
|
170 { |
32e8bbba1e94
Added stubs for software implementations of blending fills and line drawing
Sam Lantinga <slouken@libsdl.org>
parents:
2884
diff
changeset
|
171 SDL_DUMMY_RenderData *data = |
32e8bbba1e94
Added stubs for software implementations of blending fills and line drawing
Sam Lantinga <slouken@libsdl.org>
parents:
2884
diff
changeset
|
172 (SDL_DUMMY_RenderData *) renderer->driverdata; |
32e8bbba1e94
Added stubs for software implementations of blending fills and line drawing
Sam Lantinga <slouken@libsdl.org>
parents:
2884
diff
changeset
|
173 SDL_Surface *target = data->screens[data->current_screen]; |
32e8bbba1e94
Added stubs for software implementations of blending fills and line drawing
Sam Lantinga <slouken@libsdl.org>
parents:
2884
diff
changeset
|
174 |
2901 | 175 if (renderer->blendMode == SDL_BLENDMODE_NONE || |
176 renderer->blendMode == SDL_BLENDMODE_MASK) { | |
3536
0267b8b1595c
Added interfaces for batch drawing of points, lines and rects:
Sam Lantinga <slouken@libsdl.org>
parents:
3451
diff
changeset
|
177 Uint32 color = SDL_MapRGBA(target->format, |
0267b8b1595c
Added interfaces for batch drawing of points, lines and rects:
Sam Lantinga <slouken@libsdl.org>
parents:
3451
diff
changeset
|
178 renderer->r, renderer->g, renderer->b, |
0267b8b1595c
Added interfaces for batch drawing of points, lines and rects:
Sam Lantinga <slouken@libsdl.org>
parents:
3451
diff
changeset
|
179 renderer->a); |
2888
32e8bbba1e94
Added stubs for software implementations of blending fills and line drawing
Sam Lantinga <slouken@libsdl.org>
parents:
2884
diff
changeset
|
180 |
3536
0267b8b1595c
Added interfaces for batch drawing of points, lines and rects:
Sam Lantinga <slouken@libsdl.org>
parents:
3451
diff
changeset
|
181 return SDL_DrawLines(target, points, count, color); |
2888
32e8bbba1e94
Added stubs for software implementations of blending fills and line drawing
Sam Lantinga <slouken@libsdl.org>
parents:
2884
diff
changeset
|
182 } else { |
3536
0267b8b1595c
Added interfaces for batch drawing of points, lines and rects:
Sam Lantinga <slouken@libsdl.org>
parents:
3451
diff
changeset
|
183 return SDL_BlendLines(target, points, count, renderer->blendMode, |
0267b8b1595c
Added interfaces for batch drawing of points, lines and rects:
Sam Lantinga <slouken@libsdl.org>
parents:
3451
diff
changeset
|
184 renderer->r, renderer->g, renderer->b, |
0267b8b1595c
Added interfaces for batch drawing of points, lines and rects:
Sam Lantinga <slouken@libsdl.org>
parents:
3451
diff
changeset
|
185 renderer->a); |
2888
32e8bbba1e94
Added stubs for software implementations of blending fills and line drawing
Sam Lantinga <slouken@libsdl.org>
parents:
2884
diff
changeset
|
186 } |
32e8bbba1e94
Added stubs for software implementations of blending fills and line drawing
Sam Lantinga <slouken@libsdl.org>
parents:
2884
diff
changeset
|
187 } |
32e8bbba1e94
Added stubs for software implementations of blending fills and line drawing
Sam Lantinga <slouken@libsdl.org>
parents:
2884
diff
changeset
|
188 |
32e8bbba1e94
Added stubs for software implementations of blending fills and line drawing
Sam Lantinga <slouken@libsdl.org>
parents:
2884
diff
changeset
|
189 static int |
3596
f638ded38b8a
Added SDL_RenderClear() as a fast method of clearing the screen to the drawing color.
Sam Lantinga <slouken@libsdl.org>
parents:
3536
diff
changeset
|
190 SDL_DUMMY_RenderDrawRects(SDL_Renderer * renderer, const SDL_Rect ** rects, |
f638ded38b8a
Added SDL_RenderClear() as a fast method of clearing the screen to the drawing color.
Sam Lantinga <slouken@libsdl.org>
parents:
3536
diff
changeset
|
191 int count) |
f638ded38b8a
Added SDL_RenderClear() as a fast method of clearing the screen to the drawing color.
Sam Lantinga <slouken@libsdl.org>
parents:
3536
diff
changeset
|
192 { |
f638ded38b8a
Added SDL_RenderClear() as a fast method of clearing the screen to the drawing color.
Sam Lantinga <slouken@libsdl.org>
parents:
3536
diff
changeset
|
193 SDL_DUMMY_RenderData *data = |
f638ded38b8a
Added SDL_RenderClear() as a fast method of clearing the screen to the drawing color.
Sam Lantinga <slouken@libsdl.org>
parents:
3536
diff
changeset
|
194 (SDL_DUMMY_RenderData *) renderer->driverdata; |
f638ded38b8a
Added SDL_RenderClear() as a fast method of clearing the screen to the drawing color.
Sam Lantinga <slouken@libsdl.org>
parents:
3536
diff
changeset
|
195 SDL_Surface *target = data->screens[data->current_screen]; |
f638ded38b8a
Added SDL_RenderClear() as a fast method of clearing the screen to the drawing color.
Sam Lantinga <slouken@libsdl.org>
parents:
3536
diff
changeset
|
196 |
f638ded38b8a
Added SDL_RenderClear() as a fast method of clearing the screen to the drawing color.
Sam Lantinga <slouken@libsdl.org>
parents:
3536
diff
changeset
|
197 if (renderer->blendMode == SDL_BLENDMODE_NONE || |
f638ded38b8a
Added SDL_RenderClear() as a fast method of clearing the screen to the drawing color.
Sam Lantinga <slouken@libsdl.org>
parents:
3536
diff
changeset
|
198 renderer->blendMode == SDL_BLENDMODE_MASK) { |
f638ded38b8a
Added SDL_RenderClear() as a fast method of clearing the screen to the drawing color.
Sam Lantinga <slouken@libsdl.org>
parents:
3536
diff
changeset
|
199 Uint32 color = SDL_MapRGBA(target->format, |
f638ded38b8a
Added SDL_RenderClear() as a fast method of clearing the screen to the drawing color.
Sam Lantinga <slouken@libsdl.org>
parents:
3536
diff
changeset
|
200 renderer->r, renderer->g, renderer->b, |
f638ded38b8a
Added SDL_RenderClear() as a fast method of clearing the screen to the drawing color.
Sam Lantinga <slouken@libsdl.org>
parents:
3536
diff
changeset
|
201 renderer->a); |
f638ded38b8a
Added SDL_RenderClear() as a fast method of clearing the screen to the drawing color.
Sam Lantinga <slouken@libsdl.org>
parents:
3536
diff
changeset
|
202 |
f638ded38b8a
Added SDL_RenderClear() as a fast method of clearing the screen to the drawing color.
Sam Lantinga <slouken@libsdl.org>
parents:
3536
diff
changeset
|
203 return SDL_DrawRects(target, rects, count, color); |
f638ded38b8a
Added SDL_RenderClear() as a fast method of clearing the screen to the drawing color.
Sam Lantinga <slouken@libsdl.org>
parents:
3536
diff
changeset
|
204 } else { |
f638ded38b8a
Added SDL_RenderClear() as a fast method of clearing the screen to the drawing color.
Sam Lantinga <slouken@libsdl.org>
parents:
3536
diff
changeset
|
205 return SDL_BlendRects(target, rects, count, |
f638ded38b8a
Added SDL_RenderClear() as a fast method of clearing the screen to the drawing color.
Sam Lantinga <slouken@libsdl.org>
parents:
3536
diff
changeset
|
206 renderer->blendMode, |
f638ded38b8a
Added SDL_RenderClear() as a fast method of clearing the screen to the drawing color.
Sam Lantinga <slouken@libsdl.org>
parents:
3536
diff
changeset
|
207 renderer->r, renderer->g, renderer->b, |
f638ded38b8a
Added SDL_RenderClear() as a fast method of clearing the screen to the drawing color.
Sam Lantinga <slouken@libsdl.org>
parents:
3536
diff
changeset
|
208 renderer->a); |
f638ded38b8a
Added SDL_RenderClear() as a fast method of clearing the screen to the drawing color.
Sam Lantinga <slouken@libsdl.org>
parents:
3536
diff
changeset
|
209 } |
f638ded38b8a
Added SDL_RenderClear() as a fast method of clearing the screen to the drawing color.
Sam Lantinga <slouken@libsdl.org>
parents:
3536
diff
changeset
|
210 } |
f638ded38b8a
Added SDL_RenderClear() as a fast method of clearing the screen to the drawing color.
Sam Lantinga <slouken@libsdl.org>
parents:
3536
diff
changeset
|
211 |
f638ded38b8a
Added SDL_RenderClear() as a fast method of clearing the screen to the drawing color.
Sam Lantinga <slouken@libsdl.org>
parents:
3536
diff
changeset
|
212 static int |
f638ded38b8a
Added SDL_RenderClear() as a fast method of clearing the screen to the drawing color.
Sam Lantinga <slouken@libsdl.org>
parents:
3536
diff
changeset
|
213 SDL_DUMMY_RenderFillRects(SDL_Renderer * renderer, const SDL_Rect ** rects, |
f638ded38b8a
Added SDL_RenderClear() as a fast method of clearing the screen to the drawing color.
Sam Lantinga <slouken@libsdl.org>
parents:
3536
diff
changeset
|
214 int count) |
1908
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
215 { |
1912
8d384b647307
Setting up the OpenGL support
Sam Lantinga <slouken@libsdl.org>
parents:
1908
diff
changeset
|
216 SDL_DUMMY_RenderData *data = |
8d384b647307
Setting up the OpenGL support
Sam Lantinga <slouken@libsdl.org>
parents:
1908
diff
changeset
|
217 (SDL_DUMMY_RenderData *) renderer->driverdata; |
1908
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
218 SDL_Surface *target = data->screens[data->current_screen]; |
2888
32e8bbba1e94
Added stubs for software implementations of blending fills and line drawing
Sam Lantinga <slouken@libsdl.org>
parents:
2884
diff
changeset
|
219 |
3536
0267b8b1595c
Added interfaces for batch drawing of points, lines and rects:
Sam Lantinga <slouken@libsdl.org>
parents:
3451
diff
changeset
|
220 if (renderer->blendMode == SDL_BLENDMODE_NONE || |
0267b8b1595c
Added interfaces for batch drawing of points, lines and rects:
Sam Lantinga <slouken@libsdl.org>
parents:
3451
diff
changeset
|
221 renderer->blendMode == SDL_BLENDMODE_MASK) { |
0267b8b1595c
Added interfaces for batch drawing of points, lines and rects:
Sam Lantinga <slouken@libsdl.org>
parents:
3451
diff
changeset
|
222 Uint32 color = SDL_MapRGBA(target->format, |
0267b8b1595c
Added interfaces for batch drawing of points, lines and rects:
Sam Lantinga <slouken@libsdl.org>
parents:
3451
diff
changeset
|
223 renderer->r, renderer->g, renderer->b, |
0267b8b1595c
Added interfaces for batch drawing of points, lines and rects:
Sam Lantinga <slouken@libsdl.org>
parents:
3451
diff
changeset
|
224 renderer->a); |
1908
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
225 |
3536
0267b8b1595c
Added interfaces for batch drawing of points, lines and rects:
Sam Lantinga <slouken@libsdl.org>
parents:
3451
diff
changeset
|
226 return SDL_FillRects(target, rects, count, color); |
2888
32e8bbba1e94
Added stubs for software implementations of blending fills and line drawing
Sam Lantinga <slouken@libsdl.org>
parents:
2884
diff
changeset
|
227 } else { |
3596
f638ded38b8a
Added SDL_RenderClear() as a fast method of clearing the screen to the drawing color.
Sam Lantinga <slouken@libsdl.org>
parents:
3536
diff
changeset
|
228 return SDL_BlendFillRects(target, rects, count, |
f638ded38b8a
Added SDL_RenderClear() as a fast method of clearing the screen to the drawing color.
Sam Lantinga <slouken@libsdl.org>
parents:
3536
diff
changeset
|
229 renderer->blendMode, |
f638ded38b8a
Added SDL_RenderClear() as a fast method of clearing the screen to the drawing color.
Sam Lantinga <slouken@libsdl.org>
parents:
3536
diff
changeset
|
230 renderer->r, renderer->g, renderer->b, |
f638ded38b8a
Added SDL_RenderClear() as a fast method of clearing the screen to the drawing color.
Sam Lantinga <slouken@libsdl.org>
parents:
3536
diff
changeset
|
231 renderer->a); |
2888
32e8bbba1e94
Added stubs for software implementations of blending fills and line drawing
Sam Lantinga <slouken@libsdl.org>
parents:
2884
diff
changeset
|
232 } |
1908
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
233 } |
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
234 |
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
235 static int |
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
236 SDL_DUMMY_RenderCopy(SDL_Renderer * renderer, SDL_Texture * texture, |
1985
8055185ae4ed
Added source color and alpha modulation support.
Sam Lantinga <slouken@libsdl.org>
parents:
1965
diff
changeset
|
237 const SDL_Rect * srcrect, const SDL_Rect * dstrect) |
1908
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
238 { |
1912
8d384b647307
Setting up the OpenGL support
Sam Lantinga <slouken@libsdl.org>
parents:
1908
diff
changeset
|
239 SDL_DUMMY_RenderData *data = |
8d384b647307
Setting up the OpenGL support
Sam Lantinga <slouken@libsdl.org>
parents:
1908
diff
changeset
|
240 (SDL_DUMMY_RenderData *) renderer->driverdata; |
3685
64ce267332c6
Switched from SDL_WindowID and SDL_TextureID to SDL_Window* and SDL_Texture* for code simplicity and improved performance.
Sam Lantinga <slouken@libsdl.org>
parents:
3596
diff
changeset
|
241 SDL_Window *window = renderer->window; |
64ce267332c6
Switched from SDL_WindowID and SDL_TextureID to SDL_Window* and SDL_Texture* for code simplicity and improved performance.
Sam Lantinga <slouken@libsdl.org>
parents:
3596
diff
changeset
|
242 SDL_VideoDisplay *display = window->display; |
1908
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
243 |
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
244 if (SDL_ISPIXELFORMAT_FOURCC(texture->format)) { |
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
245 SDL_Surface *target = data->screens[data->current_screen]; |
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
246 void *pixels = |
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
247 (Uint8 *) target->pixels + dstrect->y * target->pitch + |
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
248 dstrect->x * target->format->BytesPerPixel; |
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
249 return SDL_SW_CopyYUVToRGB((SDL_SW_YUVTexture *) texture->driverdata, |
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
250 srcrect, display->current_mode.format, |
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
251 dstrect->w, dstrect->h, pixels, |
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
252 target->pitch); |
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
253 } else { |
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
254 SDL_Surface *surface = (SDL_Surface *) texture->driverdata; |
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
255 SDL_Surface *target = data->screens[data->current_screen]; |
2267
c785543d1843
Okay, still some bugs, but everything builds again...
Sam Lantinga <slouken@libsdl.org>
parents:
2262
diff
changeset
|
256 SDL_Rect real_srcrect = *srcrect; |
c785543d1843
Okay, still some bugs, but everything builds again...
Sam Lantinga <slouken@libsdl.org>
parents:
2262
diff
changeset
|
257 SDL_Rect real_dstrect = *dstrect; |
1908
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
258 |
2267
c785543d1843
Okay, still some bugs, but everything builds again...
Sam Lantinga <slouken@libsdl.org>
parents:
2262
diff
changeset
|
259 return SDL_LowerBlit(surface, &real_srcrect, target, &real_dstrect); |
1908
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
260 } |
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
261 } |
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
262 |
3451
a65f7b3a2524
Implemented SDL_RenderReadPixels()/SDL_RenderWritePixels() for the dummy renderer.
Sam Lantinga <slouken@libsdl.org>
parents:
2927
diff
changeset
|
263 static int |
a65f7b3a2524
Implemented SDL_RenderReadPixels()/SDL_RenderWritePixels() for the dummy renderer.
Sam Lantinga <slouken@libsdl.org>
parents:
2927
diff
changeset
|
264 SDL_DUMMY_RenderReadPixels(SDL_Renderer * renderer, const SDL_Rect * rect, |
a65f7b3a2524
Implemented SDL_RenderReadPixels()/SDL_RenderWritePixels() for the dummy renderer.
Sam Lantinga <slouken@libsdl.org>
parents:
2927
diff
changeset
|
265 Uint32 format, void * pixels, int pitch) |
a65f7b3a2524
Implemented SDL_RenderReadPixels()/SDL_RenderWritePixels() for the dummy renderer.
Sam Lantinga <slouken@libsdl.org>
parents:
2927
diff
changeset
|
266 { |
a65f7b3a2524
Implemented SDL_RenderReadPixels()/SDL_RenderWritePixels() for the dummy renderer.
Sam Lantinga <slouken@libsdl.org>
parents:
2927
diff
changeset
|
267 SDL_DUMMY_RenderData *data = |
a65f7b3a2524
Implemented SDL_RenderReadPixels()/SDL_RenderWritePixels() for the dummy renderer.
Sam Lantinga <slouken@libsdl.org>
parents:
2927
diff
changeset
|
268 (SDL_DUMMY_RenderData *) renderer->driverdata; |
3685
64ce267332c6
Switched from SDL_WindowID and SDL_TextureID to SDL_Window* and SDL_Texture* for code simplicity and improved performance.
Sam Lantinga <slouken@libsdl.org>
parents:
3596
diff
changeset
|
269 SDL_Window *window = renderer->window; |
64ce267332c6
Switched from SDL_WindowID and SDL_TextureID to SDL_Window* and SDL_Texture* for code simplicity and improved performance.
Sam Lantinga <slouken@libsdl.org>
parents:
3596
diff
changeset
|
270 SDL_VideoDisplay *display = window->display; |
3451
a65f7b3a2524
Implemented SDL_RenderReadPixels()/SDL_RenderWritePixels() for the dummy renderer.
Sam Lantinga <slouken@libsdl.org>
parents:
2927
diff
changeset
|
271 SDL_Surface *screen = data->screens[data->current_screen]; |
a65f7b3a2524
Implemented SDL_RenderReadPixels()/SDL_RenderWritePixels() for the dummy renderer.
Sam Lantinga <slouken@libsdl.org>
parents:
2927
diff
changeset
|
272 Uint32 screen_format = display->current_mode.format; |
a65f7b3a2524
Implemented SDL_RenderReadPixels()/SDL_RenderWritePixels() for the dummy renderer.
Sam Lantinga <slouken@libsdl.org>
parents:
2927
diff
changeset
|
273 Uint8 *screen_pixels = (Uint8 *) screen->pixels + |
a65f7b3a2524
Implemented SDL_RenderReadPixels()/SDL_RenderWritePixels() for the dummy renderer.
Sam Lantinga <slouken@libsdl.org>
parents:
2927
diff
changeset
|
274 rect->y * screen->pitch + |
a65f7b3a2524
Implemented SDL_RenderReadPixels()/SDL_RenderWritePixels() for the dummy renderer.
Sam Lantinga <slouken@libsdl.org>
parents:
2927
diff
changeset
|
275 rect->x * screen->format->BytesPerPixel; |
a65f7b3a2524
Implemented SDL_RenderReadPixels()/SDL_RenderWritePixels() for the dummy renderer.
Sam Lantinga <slouken@libsdl.org>
parents:
2927
diff
changeset
|
276 int screen_pitch = screen->pitch; |
a65f7b3a2524
Implemented SDL_RenderReadPixels()/SDL_RenderWritePixels() for the dummy renderer.
Sam Lantinga <slouken@libsdl.org>
parents:
2927
diff
changeset
|
277 |
a65f7b3a2524
Implemented SDL_RenderReadPixels()/SDL_RenderWritePixels() for the dummy renderer.
Sam Lantinga <slouken@libsdl.org>
parents:
2927
diff
changeset
|
278 return SDL_ConvertPixels(rect->w, rect->h, |
a65f7b3a2524
Implemented SDL_RenderReadPixels()/SDL_RenderWritePixels() for the dummy renderer.
Sam Lantinga <slouken@libsdl.org>
parents:
2927
diff
changeset
|
279 screen_format, screen_pixels, screen_pitch, |
a65f7b3a2524
Implemented SDL_RenderReadPixels()/SDL_RenderWritePixels() for the dummy renderer.
Sam Lantinga <slouken@libsdl.org>
parents:
2927
diff
changeset
|
280 format, pixels, pitch); |
a65f7b3a2524
Implemented SDL_RenderReadPixels()/SDL_RenderWritePixels() for the dummy renderer.
Sam Lantinga <slouken@libsdl.org>
parents:
2927
diff
changeset
|
281 } |
a65f7b3a2524
Implemented SDL_RenderReadPixels()/SDL_RenderWritePixels() for the dummy renderer.
Sam Lantinga <slouken@libsdl.org>
parents:
2927
diff
changeset
|
282 |
a65f7b3a2524
Implemented SDL_RenderReadPixels()/SDL_RenderWritePixels() for the dummy renderer.
Sam Lantinga <slouken@libsdl.org>
parents:
2927
diff
changeset
|
283 static int |
a65f7b3a2524
Implemented SDL_RenderReadPixels()/SDL_RenderWritePixels() for the dummy renderer.
Sam Lantinga <slouken@libsdl.org>
parents:
2927
diff
changeset
|
284 SDL_DUMMY_RenderWritePixels(SDL_Renderer * renderer, const SDL_Rect * rect, |
a65f7b3a2524
Implemented SDL_RenderReadPixels()/SDL_RenderWritePixels() for the dummy renderer.
Sam Lantinga <slouken@libsdl.org>
parents:
2927
diff
changeset
|
285 Uint32 format, const void * pixels, int pitch) |
a65f7b3a2524
Implemented SDL_RenderReadPixels()/SDL_RenderWritePixels() for the dummy renderer.
Sam Lantinga <slouken@libsdl.org>
parents:
2927
diff
changeset
|
286 { |
a65f7b3a2524
Implemented SDL_RenderReadPixels()/SDL_RenderWritePixels() for the dummy renderer.
Sam Lantinga <slouken@libsdl.org>
parents:
2927
diff
changeset
|
287 SDL_DUMMY_RenderData *data = |
a65f7b3a2524
Implemented SDL_RenderReadPixels()/SDL_RenderWritePixels() for the dummy renderer.
Sam Lantinga <slouken@libsdl.org>
parents:
2927
diff
changeset
|
288 (SDL_DUMMY_RenderData *) renderer->driverdata; |
3685
64ce267332c6
Switched from SDL_WindowID and SDL_TextureID to SDL_Window* and SDL_Texture* for code simplicity and improved performance.
Sam Lantinga <slouken@libsdl.org>
parents:
3596
diff
changeset
|
289 SDL_Window *window = renderer->window; |
64ce267332c6
Switched from SDL_WindowID and SDL_TextureID to SDL_Window* and SDL_Texture* for code simplicity and improved performance.
Sam Lantinga <slouken@libsdl.org>
parents:
3596
diff
changeset
|
290 SDL_VideoDisplay *display = window->display; |
3451
a65f7b3a2524
Implemented SDL_RenderReadPixels()/SDL_RenderWritePixels() for the dummy renderer.
Sam Lantinga <slouken@libsdl.org>
parents:
2927
diff
changeset
|
291 SDL_Surface *screen = data->screens[data->current_screen]; |
a65f7b3a2524
Implemented SDL_RenderReadPixels()/SDL_RenderWritePixels() for the dummy renderer.
Sam Lantinga <slouken@libsdl.org>
parents:
2927
diff
changeset
|
292 Uint32 screen_format = display->current_mode.format; |
a65f7b3a2524
Implemented SDL_RenderReadPixels()/SDL_RenderWritePixels() for the dummy renderer.
Sam Lantinga <slouken@libsdl.org>
parents:
2927
diff
changeset
|
293 Uint8 *screen_pixels = (Uint8 *) screen->pixels + |
a65f7b3a2524
Implemented SDL_RenderReadPixels()/SDL_RenderWritePixels() for the dummy renderer.
Sam Lantinga <slouken@libsdl.org>
parents:
2927
diff
changeset
|
294 rect->y * screen->pitch + |
a65f7b3a2524
Implemented SDL_RenderReadPixels()/SDL_RenderWritePixels() for the dummy renderer.
Sam Lantinga <slouken@libsdl.org>
parents:
2927
diff
changeset
|
295 rect->x * screen->format->BytesPerPixel; |
a65f7b3a2524
Implemented SDL_RenderReadPixels()/SDL_RenderWritePixels() for the dummy renderer.
Sam Lantinga <slouken@libsdl.org>
parents:
2927
diff
changeset
|
296 int screen_pitch = screen->pitch; |
a65f7b3a2524
Implemented SDL_RenderReadPixels()/SDL_RenderWritePixels() for the dummy renderer.
Sam Lantinga <slouken@libsdl.org>
parents:
2927
diff
changeset
|
297 |
a65f7b3a2524
Implemented SDL_RenderReadPixels()/SDL_RenderWritePixels() for the dummy renderer.
Sam Lantinga <slouken@libsdl.org>
parents:
2927
diff
changeset
|
298 return SDL_ConvertPixels(rect->w, rect->h, |
a65f7b3a2524
Implemented SDL_RenderReadPixels()/SDL_RenderWritePixels() for the dummy renderer.
Sam Lantinga <slouken@libsdl.org>
parents:
2927
diff
changeset
|
299 format, pixels, pitch, |
a65f7b3a2524
Implemented SDL_RenderReadPixels()/SDL_RenderWritePixels() for the dummy renderer.
Sam Lantinga <slouken@libsdl.org>
parents:
2927
diff
changeset
|
300 screen_format, screen_pixels, screen_pitch); |
a65f7b3a2524
Implemented SDL_RenderReadPixels()/SDL_RenderWritePixels() for the dummy renderer.
Sam Lantinga <slouken@libsdl.org>
parents:
2927
diff
changeset
|
301 } |
a65f7b3a2524
Implemented SDL_RenderReadPixels()/SDL_RenderWritePixels() for the dummy renderer.
Sam Lantinga <slouken@libsdl.org>
parents:
2927
diff
changeset
|
302 |
1908
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
303 static void |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
304 SDL_DUMMY_RenderPresent(SDL_Renderer * renderer) |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
305 { |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
306 static int frame_number; |
1912
8d384b647307
Setting up the OpenGL support
Sam Lantinga <slouken@libsdl.org>
parents:
1908
diff
changeset
|
307 SDL_DUMMY_RenderData *data = |
8d384b647307
Setting up the OpenGL support
Sam Lantinga <slouken@libsdl.org>
parents:
1908
diff
changeset
|
308 (SDL_DUMMY_RenderData *) renderer->driverdata; |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
309 |
1908
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
310 /* Send the data to the display */ |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
311 if (SDL_getenv("SDL_VIDEO_DUMMY_SAVE_FRAMES")) { |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
312 char file[128]; |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
313 SDL_snprintf(file, sizeof(file), "SDL_window%d-%8.8d.bmp", |
3685
64ce267332c6
Switched from SDL_WindowID and SDL_TextureID to SDL_Window* and SDL_Texture* for code simplicity and improved performance.
Sam Lantinga <slouken@libsdl.org>
parents:
3596
diff
changeset
|
314 renderer->window->id, ++frame_number); |
1908
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
315 SDL_SaveBMP(data->screens[data->current_screen], file); |
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
316 } |
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
317 |
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
318 /* Update the flipping chain, if any */ |
1965
a788656ca29a
SDL constants are all uppercase.
Sam Lantinga <slouken@libsdl.org>
parents:
1912
diff
changeset
|
319 if (renderer->info.flags & SDL_RENDERER_PRESENTFLIP2) { |
1908
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
320 data->current_screen = (data->current_screen + 1) % 2; |
1965
a788656ca29a
SDL constants are all uppercase.
Sam Lantinga <slouken@libsdl.org>
parents:
1912
diff
changeset
|
321 } else if (renderer->info.flags & SDL_RENDERER_PRESENTFLIP3) { |
1908
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
322 data->current_screen = (data->current_screen + 1) % 3; |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
323 } |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
324 } |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
325 |
1908
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
326 static void |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
327 SDL_DUMMY_DestroyRenderer(SDL_Renderer * renderer) |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
328 { |
1912
8d384b647307
Setting up the OpenGL support
Sam Lantinga <slouken@libsdl.org>
parents:
1908
diff
changeset
|
329 SDL_DUMMY_RenderData *data = |
8d384b647307
Setting up the OpenGL support
Sam Lantinga <slouken@libsdl.org>
parents:
1908
diff
changeset
|
330 (SDL_DUMMY_RenderData *) renderer->driverdata; |
1908
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
331 int i; |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
332 |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
333 if (data) { |
1908
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
334 for (i = 0; i < SDL_arraysize(data->screens); ++i) { |
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
335 if (data->screens[i]) { |
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
336 SDL_FreeSurface(data->screens[i]); |
e079dafea2bf
Implemented fully featured dummy renderer
Sam Lantinga <slouken@libsdl.org>
parents:
1907
diff
changeset
|
337 } |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
338 } |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
339 SDL_free(data); |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
340 } |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
341 SDL_free(renderer); |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
342 } |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
343 |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
344 /* vi: set ts=4 sw=4 expandtab: */ |