annotate include/SDL_render.h @ 5172:ededa1ccf91c

Switched the SDL 1.2 compatibility to use the window surface, so it's fast even when there's no hardware acceleration available. This means that the YUV overlay now uses software, but that's okay since fast YUV code should be using the textures now anyway.
author Sam Lantinga <slouken@libsdl.org>
date Thu, 03 Feb 2011 21:13:55 -0800
parents 4d39eeaad00b
children 16d5e8e90e01
rev   line source
5148
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
1 /*
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
2 SDL - Simple DirectMedia Layer
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
3 Copyright (C) 1997-2010 Sam Lantinga
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
4
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
5 This library is free software; you can redistribute it and/or
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
6 modify it under the terms of the GNU Lesser General Public
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
7 License as published by the Free Software Foundation; either
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
8 version 2.1 of the License, or (at your option) any later version.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
9
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
10 This library is distributed in the hope that it will be useful,
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
13 Lesser General Public License for more details.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
14
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
15 You should have received a copy of the GNU Lesser General Public
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
16 License along with this library; if not, write to the Free Software
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
18
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
19 Sam Lantinga
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
20 slouken@libsdl.org
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
21 */
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
22
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
23 /**
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
24 * \file SDL_render.h
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
25 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
26 * Header file for SDL 2D rendering functions.
5167
97423d858a1a Added an intro to the features and goals of the 2D rendering API.
Sam Lantinga <slouken@libsdl.org>
parents: 5161
diff changeset
27 *
97423d858a1a Added an intro to the features and goals of the 2D rendering API.
Sam Lantinga <slouken@libsdl.org>
parents: 5161
diff changeset
28 * This API supports the following features:
97423d858a1a Added an intro to the features and goals of the 2D rendering API.
Sam Lantinga <slouken@libsdl.org>
parents: 5161
diff changeset
29 * * single pixel points
97423d858a1a Added an intro to the features and goals of the 2D rendering API.
Sam Lantinga <slouken@libsdl.org>
parents: 5161
diff changeset
30 * * single pixel lines
97423d858a1a Added an intro to the features and goals of the 2D rendering API.
Sam Lantinga <slouken@libsdl.org>
parents: 5161
diff changeset
31 * * filled rectangles
97423d858a1a Added an intro to the features and goals of the 2D rendering API.
Sam Lantinga <slouken@libsdl.org>
parents: 5161
diff changeset
32 * * texture images
97423d858a1a Added an intro to the features and goals of the 2D rendering API.
Sam Lantinga <slouken@libsdl.org>
parents: 5161
diff changeset
33 *
97423d858a1a Added an intro to the features and goals of the 2D rendering API.
Sam Lantinga <slouken@libsdl.org>
parents: 5161
diff changeset
34 * The primitives may be drawn in opaque, blended, or additive modes.
97423d858a1a Added an intro to the features and goals of the 2D rendering API.
Sam Lantinga <slouken@libsdl.org>
parents: 5161
diff changeset
35 *
97423d858a1a Added an intro to the features and goals of the 2D rendering API.
Sam Lantinga <slouken@libsdl.org>
parents: 5161
diff changeset
36 * The texture images may be drawn in opaque, blended, or additive modes.
97423d858a1a Added an intro to the features and goals of the 2D rendering API.
Sam Lantinga <slouken@libsdl.org>
parents: 5161
diff changeset
37 * They can have an additional color tint or alpha modulation applied to
97423d858a1a Added an intro to the features and goals of the 2D rendering API.
Sam Lantinga <slouken@libsdl.org>
parents: 5161
diff changeset
38 * them, and may also be stretched with linear interpolation.
97423d858a1a Added an intro to the features and goals of the 2D rendering API.
Sam Lantinga <slouken@libsdl.org>
parents: 5161
diff changeset
39 *
97423d858a1a Added an intro to the features and goals of the 2D rendering API.
Sam Lantinga <slouken@libsdl.org>
parents: 5161
diff changeset
40 * This API is designed to accelerate simple 2D operations. You may
97423d858a1a Added an intro to the features and goals of the 2D rendering API.
Sam Lantinga <slouken@libsdl.org>
parents: 5161
diff changeset
41 * want more functionality such as rotation and particle effects and
97423d858a1a Added an intro to the features and goals of the 2D rendering API.
Sam Lantinga <slouken@libsdl.org>
parents: 5161
diff changeset
42 * in that case you should use SDL's OpenGL/Direct3D support or one
97423d858a1a Added an intro to the features and goals of the 2D rendering API.
Sam Lantinga <slouken@libsdl.org>
parents: 5161
diff changeset
43 * of the many good 3D engines.
5148
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
44 */
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
45
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
46 #ifndef _SDL_render_h
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
47 #define _SDL_render_h
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
48
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
49 #include "SDL_stdinc.h"
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
50 #include "SDL_rect.h"
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
51 #include "SDL_video.h"
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
52
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
53 #include "begin_code.h"
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
54 /* Set up for C function definitions, even when using C++ */
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
55 #ifdef __cplusplus
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
56 /* *INDENT-OFF* */
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
57 extern "C" {
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
58 /* *INDENT-ON* */
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
59 #endif
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
60
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
61 /**
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
62 * \brief Flags used when creating a rendering context
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
63 */
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
64 typedef enum
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
65 {
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
66 SDL_RENDERER_ACCELERATED = 0x00000001, /**< The renderer uses hardware
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
67 acceleration */
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
68 SDL_RENDERER_PRESENTVSYNC = 0x00000002 /**< Present is synchronized
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
69 with the refresh rate */
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
70 } SDL_RendererFlags;
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
71
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
72 /**
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
73 * \brief Information on the capabilities of a render driver or context.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
74 */
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
75 typedef struct SDL_RendererInfo
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
76 {
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
77 const char *name; /**< The name of the renderer */
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
78 Uint32 flags; /**< Supported ::SDL_RendererFlags */
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
79 Uint32 num_texture_formats; /**< The number of available texture formats */
5159
307ccc9c135e Made it possible to create a texture of any format, even if not supported by the renderer.
Sam Lantinga <slouken@libsdl.org>
parents: 5152
diff changeset
80 Uint32 texture_formats[16]; /**< The available texture formats */
5148
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
81 int max_texture_width; /**< The maximimum texture width */
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
82 int max_texture_height; /**< The maximimum texture height */
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
83 } SDL_RendererInfo;
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
84
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
85 /**
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
86 * \brief The access pattern allowed for a texture.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
87 */
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
88 typedef enum
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
89 {
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
90 SDL_TEXTUREACCESS_STATIC, /**< Changes rarely, not lockable */
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
91 SDL_TEXTUREACCESS_STREAMING /**< Changes frequently, lockable */
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
92 } SDL_TextureAccess;
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
93
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
94 /**
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
95 * \brief The texture channel modulation used in SDL_RenderCopy().
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
96 */
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
97 typedef enum
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
98 {
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
99 SDL_TEXTUREMODULATE_NONE = 0x00000000, /**< No modulation */
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
100 SDL_TEXTUREMODULATE_COLOR = 0x00000001, /**< srcC = srcC * color */
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
101 SDL_TEXTUREMODULATE_ALPHA = 0x00000002 /**< srcA = srcA * alpha */
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
102 } SDL_TextureModulate;
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
103
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
104 /**
5150
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
105 * \brief A structure representing rendering state
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
106 */
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
107 struct SDL_Renderer;
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
108 typedef struct SDL_Renderer SDL_Renderer;
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
109
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
110 /**
5148
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
111 * \brief An efficient driver-specific representation of pixel data
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
112 */
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
113 struct SDL_Texture;
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
114 typedef struct SDL_Texture SDL_Texture;
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
115
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
116
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
117 /* Function prototypes */
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
118
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
119 /**
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
120 * \brief Get the number of 2D rendering drivers available for the current
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
121 * display.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
122 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
123 * A render driver is a set of code that handles rendering and texture
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
124 * management on a particular display. Normally there is only one, but
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
125 * some drivers may have several available with different capabilities.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
126 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
127 * \sa SDL_GetRenderDriverInfo()
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
128 * \sa SDL_CreateRenderer()
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
129 */
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
130 extern DECLSPEC int SDLCALL SDL_GetNumRenderDrivers(void);
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
131
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
132 /**
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
133 * \brief Get information about a specific 2D rendering driver for the current
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
134 * display.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
135 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
136 * \param index The index of the driver to query information about.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
137 * \param info A pointer to an SDL_RendererInfo struct to be filled with
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
138 * information on the rendering driver.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
139 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
140 * \return 0 on success, -1 if the index was out of range.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
141 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
142 * \sa SDL_CreateRenderer()
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
143 */
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
144 extern DECLSPEC int SDLCALL SDL_GetRenderDriverInfo(int index,
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
145 SDL_RendererInfo * info);
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
146
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
147 /**
5150
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
148 * \brief Create a 2D rendering context for a window.
5148
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
149 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
150 * \param window The window where rendering is displayed.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
151 * \param index The index of the rendering driver to initialize, or -1 to
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
152 * initialize the first one supporting the requested flags.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
153 * \param flags ::SDL_RendererFlags.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
154 *
5150
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
155 * \return A valid rendering context or NULL if there was an error.
5148
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
156 *
5169
4d39eeaad00b Added a way to get a framebuffer interface for a window, and also a way to create a software renderer for an arbitrary surface.
Sam Lantinga <slouken@libsdl.org>
parents: 5167
diff changeset
157 * \sa SDL_CreateSoftwareRenderer()
5148
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
158 * \sa SDL_GetRendererInfo()
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
159 * \sa SDL_DestroyRenderer()
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
160 */
5150
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
161 extern DECLSPEC SDL_Renderer * SDLCALL SDL_CreateRenderer(SDL_Window * window,
5148
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
162 int index, Uint32 flags);
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
163
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
164 /**
5169
4d39eeaad00b Added a way to get a framebuffer interface for a window, and also a way to create a software renderer for an arbitrary surface.
Sam Lantinga <slouken@libsdl.org>
parents: 5167
diff changeset
165 * \brief Create a 2D software rendering context for a surface.
4d39eeaad00b Added a way to get a framebuffer interface for a window, and also a way to create a software renderer for an arbitrary surface.
Sam Lantinga <slouken@libsdl.org>
parents: 5167
diff changeset
166 *
4d39eeaad00b Added a way to get a framebuffer interface for a window, and also a way to create a software renderer for an arbitrary surface.
Sam Lantinga <slouken@libsdl.org>
parents: 5167
diff changeset
167 * \param surface The surface where rendering is done.
4d39eeaad00b Added a way to get a framebuffer interface for a window, and also a way to create a software renderer for an arbitrary surface.
Sam Lantinga <slouken@libsdl.org>
parents: 5167
diff changeset
168 *
4d39eeaad00b Added a way to get a framebuffer interface for a window, and also a way to create a software renderer for an arbitrary surface.
Sam Lantinga <slouken@libsdl.org>
parents: 5167
diff changeset
169 * \return A valid rendering context or NULL if there was an error.
4d39eeaad00b Added a way to get a framebuffer interface for a window, and also a way to create a software renderer for an arbitrary surface.
Sam Lantinga <slouken@libsdl.org>
parents: 5167
diff changeset
170 *
4d39eeaad00b Added a way to get a framebuffer interface for a window, and also a way to create a software renderer for an arbitrary surface.
Sam Lantinga <slouken@libsdl.org>
parents: 5167
diff changeset
171 * \sa SDL_CreateRenderer()
4d39eeaad00b Added a way to get a framebuffer interface for a window, and also a way to create a software renderer for an arbitrary surface.
Sam Lantinga <slouken@libsdl.org>
parents: 5167
diff changeset
172 * \sa SDL_DestroyRenderer()
4d39eeaad00b Added a way to get a framebuffer interface for a window, and also a way to create a software renderer for an arbitrary surface.
Sam Lantinga <slouken@libsdl.org>
parents: 5167
diff changeset
173 */
4d39eeaad00b Added a way to get a framebuffer interface for a window, and also a way to create a software renderer for an arbitrary surface.
Sam Lantinga <slouken@libsdl.org>
parents: 5167
diff changeset
174 extern DECLSPEC SDL_Renderer * SDLCALL SDL_CreateSoftwareRenderer(SDL_Surface * surface);
4d39eeaad00b Added a way to get a framebuffer interface for a window, and also a way to create a software renderer for an arbitrary surface.
Sam Lantinga <slouken@libsdl.org>
parents: 5167
diff changeset
175
4d39eeaad00b Added a way to get a framebuffer interface for a window, and also a way to create a software renderer for an arbitrary surface.
Sam Lantinga <slouken@libsdl.org>
parents: 5167
diff changeset
176 /**
5150
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
177 * \brief Get information about a rendering context.
5148
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
178 */
5150
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
179 extern DECLSPEC int SDLCALL SDL_GetRendererInfo(SDL_Renderer * renderer,
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
180 SDL_RendererInfo * info);
5148
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
181
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
182 /**
5150
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
183 * \brief Create a texture for a rendering context.
5148
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
184 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
185 * \param format The format of the texture.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
186 * \param access One of the enumerated values in ::SDL_TextureAccess.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
187 * \param w The width of the texture in pixels.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
188 * \param h The height of the texture in pixels.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
189 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
190 * \return The created texture is returned, or 0 if no rendering context was
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
191 * active, the format was unsupported, or the width or height were out
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
192 * of range.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
193 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
194 * \sa SDL_QueryTexture()
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
195 * \sa SDL_DestroyTexture()
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
196 */
5150
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
197 extern DECLSPEC SDL_Texture * SDLCALL SDL_CreateTexture(SDL_Renderer * renderer, Uint32 format,
5148
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
198 int access, int w,
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
199 int h);
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
200
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
201 /**
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
202 * \brief Create a texture from an existing surface.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
203 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
204 * \param surface The surface containing pixel data used to fill the texture.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
205 *
5161
b3ccd1947786 Simplified and improved the process of creating a texture from a surface.
Sam Lantinga <slouken@libsdl.org>
parents: 5160
diff changeset
206 * \return The created texture is returned, or 0 on error.
5148
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
207 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
208 * \note The surface is not modified or freed by this function.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
209 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
210 * \sa SDL_QueryTexture()
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
211 * \sa SDL_DestroyTexture()
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
212 */
5161
b3ccd1947786 Simplified and improved the process of creating a texture from a surface.
Sam Lantinga <slouken@libsdl.org>
parents: 5160
diff changeset
213 extern DECLSPEC SDL_Texture * SDLCALL SDL_CreateTextureFromSurface(SDL_Renderer * renderer, SDL_Surface * surface);
5148
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
214
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
215 /**
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
216 * \brief Query the attributes of a texture
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
217 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
218 * \param texture A texture to be queried.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
219 * \param format A pointer filled in with the raw format of the texture. The
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
220 * actual format may differ, but pixel transfers will use this
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
221 * format.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
222 * \param access A pointer filled in with the actual access to the texture.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
223 * \param w A pointer filled in with the width of the texture in pixels.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
224 * \param h A pointer filled in with the height of the texture in pixels.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
225 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
226 * \return 0 on success, or -1 if the texture is not valid.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
227 */
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
228 extern DECLSPEC int SDLCALL SDL_QueryTexture(SDL_Texture * texture,
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
229 Uint32 * format, int *access,
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
230 int *w, int *h);
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
231
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
232 /**
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
233 * \brief Set an additional color value used in render copy operations.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
234 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
235 * \param texture The texture to update.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
236 * \param r The red color value multiplied into copy operations.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
237 * \param g The green color value multiplied into copy operations.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
238 * \param b The blue color value multiplied into copy operations.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
239 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
240 * \return 0 on success, or -1 if the texture is not valid or color modulation
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
241 * is not supported.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
242 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
243 * \sa SDL_GetTextureColorMod()
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
244 */
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
245 extern DECLSPEC int SDLCALL SDL_SetTextureColorMod(SDL_Texture * texture,
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
246 Uint8 r, Uint8 g, Uint8 b);
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
247
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
248
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
249 /**
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
250 * \brief Get the additional color value used in render copy operations.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
251 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
252 * \param texture The texture to query.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
253 * \param r A pointer filled in with the current red color value.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
254 * \param g A pointer filled in with the current green color value.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
255 * \param b A pointer filled in with the current blue color value.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
256 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
257 * \return 0 on success, or -1 if the texture is not valid.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
258 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
259 * \sa SDL_SetTextureColorMod()
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
260 */
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
261 extern DECLSPEC int SDLCALL SDL_GetTextureColorMod(SDL_Texture * texture,
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
262 Uint8 * r, Uint8 * g,
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
263 Uint8 * b);
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
264
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
265 /**
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
266 * \brief Set an additional alpha value used in render copy operations.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
267 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
268 * \param texture The texture to update.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
269 * \param alpha The alpha value multiplied into copy operations.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
270 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
271 * \return 0 on success, or -1 if the texture is not valid or alpha modulation
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
272 * is not supported.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
273 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
274 * \sa SDL_GetTextureAlphaMod()
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
275 */
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
276 extern DECLSPEC int SDLCALL SDL_SetTextureAlphaMod(SDL_Texture * texture,
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
277 Uint8 alpha);
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
278
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
279 /**
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
280 * \brief Get the additional alpha value used in render copy operations.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
281 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
282 * \param texture The texture to query.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
283 * \param alpha A pointer filled in with the current alpha value.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
284 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
285 * \return 0 on success, or -1 if the texture is not valid.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
286 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
287 * \sa SDL_SetTextureAlphaMod()
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
288 */
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
289 extern DECLSPEC int SDLCALL SDL_GetTextureAlphaMod(SDL_Texture * texture,
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
290 Uint8 * alpha);
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
291
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
292 /**
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
293 * \brief Set the blend mode used for texture copy operations.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
294 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
295 * \param texture The texture to update.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
296 * \param blendMode ::SDL_BlendMode to use for texture blending.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
297 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
298 * \return 0 on success, or -1 if the texture is not valid or the blend mode is
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
299 * not supported.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
300 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
301 * \note If the blend mode is not supported, the closest supported mode is
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
302 * chosen.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
303 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
304 * \sa SDL_GetTextureBlendMode()
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
305 */
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
306 extern DECLSPEC int SDLCALL SDL_SetTextureBlendMode(SDL_Texture * texture,
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
307 SDL_BlendMode blendMode);
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
308
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
309 /**
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
310 * \brief Get the blend mode used for texture copy operations.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
311 *
5159
307ccc9c135e Made it possible to create a texture of any format, even if not supported by the renderer.
Sam Lantinga <slouken@libsdl.org>
parents: 5152
diff changeset
312 * \param texture The texture to query.
5148
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
313 * \param blendMode A pointer filled in with the current blend mode.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
314 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
315 * \return 0 on success, or -1 if the texture is not valid.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
316 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
317 * \sa SDL_SetTextureBlendMode()
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
318 */
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
319 extern DECLSPEC int SDLCALL SDL_GetTextureBlendMode(SDL_Texture * texture,
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
320 SDL_BlendMode *blendMode);
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
321
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
322 /**
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
323 * \brief Update the given texture rectangle with new pixel data.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
324 *
5159
307ccc9c135e Made it possible to create a texture of any format, even if not supported by the renderer.
Sam Lantinga <slouken@libsdl.org>
parents: 5152
diff changeset
325 * \param texture The texture to update
5148
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
326 * \param rect A pointer to the rectangle of pixels to update, or NULL to
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
327 * update the entire texture.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
328 * \param pixels The raw pixel data.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
329 * \param pitch The number of bytes between rows of pixel data.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
330 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
331 * \return 0 on success, or -1 if the texture is not valid.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
332 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
333 * \note This is a fairly slow function.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
334 */
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
335 extern DECLSPEC int SDLCALL SDL_UpdateTexture(SDL_Texture * texture,
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
336 const SDL_Rect * rect,
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
337 const void *pixels, int pitch);
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
338
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
339 /**
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
340 * \brief Lock a portion of the texture for pixel access.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
341 *
5159
307ccc9c135e Made it possible to create a texture of any format, even if not supported by the renderer.
Sam Lantinga <slouken@libsdl.org>
parents: 5152
diff changeset
342 * \param texture The texture to lock for access, which was created with
5148
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
343 * ::SDL_TEXTUREACCESS_STREAMING.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
344 * \param rect A pointer to the rectangle to lock for access. If the rect
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
345 * is NULL, the entire texture will be locked.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
346 * \param pixels This is filled in with a pointer to the locked pixels,
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
347 * appropriately offset by the locked area.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
348 * \param pitch This is filled in with the pitch of the locked pixels.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
349 *
5159
307ccc9c135e Made it possible to create a texture of any format, even if not supported by the renderer.
Sam Lantinga <slouken@libsdl.org>
parents: 5152
diff changeset
350 * \return 0 on success, or -1 if the texture is not valid or was not created with ::SDL_TEXTUREACCESS_STREAMING.
5148
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
351 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
352 * \sa SDL_UnlockTexture()
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
353 */
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
354 extern DECLSPEC int SDLCALL SDL_LockTexture(SDL_Texture * texture,
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
355 const SDL_Rect * rect,
5159
307ccc9c135e Made it possible to create a texture of any format, even if not supported by the renderer.
Sam Lantinga <slouken@libsdl.org>
parents: 5152
diff changeset
356 void **pixels, int *pitch);
5148
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
357
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
358 /**
5159
307ccc9c135e Made it possible to create a texture of any format, even if not supported by the renderer.
Sam Lantinga <slouken@libsdl.org>
parents: 5152
diff changeset
359 * \brief Unlock a texture, uploading the changes to video memory, if needed.
5148
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
360 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
361 * \sa SDL_LockTexture()
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
362 */
5159
307ccc9c135e Made it possible to create a texture of any format, even if not supported by the renderer.
Sam Lantinga <slouken@libsdl.org>
parents: 5152
diff changeset
363 extern DECLSPEC void SDLCALL SDL_UnlockTexture(SDL_Texture * texture);
5148
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
364
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
365 /**
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
366 * \brief Set the color used for drawing operations (Fill and Line).
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
367 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
368 * \param r The red value used to draw on the rendering target.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
369 * \param g The green value used to draw on the rendering target.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
370 * \param b The blue value used to draw on the rendering target.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
371 * \param a The alpha value used to draw on the rendering target, usually
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
372 * ::SDL_ALPHA_OPAQUE (255).
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
373 *
5150
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
374 * \return 0 on success, or -1 on error
5148
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
375 */
5150
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
376 extern DECLSPEC int SDL_SetRenderDrawColor(SDL_Renderer * renderer,
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
377 Uint8 r, Uint8 g, Uint8 b,
5148
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
378 Uint8 a);
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
379
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
380 /**
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
381 * \brief Get the color used for drawing operations (Fill and Line).
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
382 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
383 * \param r A pointer to the red value used to draw on the rendering target.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
384 * \param g A pointer to the green value used to draw on the rendering target.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
385 * \param b A pointer to the blue value used to draw on the rendering target.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
386 * \param a A pointer to the alpha value used to draw on the rendering target,
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
387 * usually ::SDL_ALPHA_OPAQUE (255).
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
388 *
5150
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
389 * \return 0 on success, or -1 on error
5148
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
390 */
5150
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
391 extern DECLSPEC int SDL_GetRenderDrawColor(SDL_Renderer * renderer,
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
392 Uint8 * r, Uint8 * g, Uint8 * b,
5148
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
393 Uint8 * a);
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
394
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
395 /**
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
396 * \brief Set the blend mode used for drawing operations (Fill and Line).
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
397 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
398 * \param blendMode ::SDL_BlendMode to use for blending.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
399 *
5150
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
400 * \return 0 on success, or -1 on error
5148
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
401 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
402 * \note If the blend mode is not supported, the closest supported mode is
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
403 * chosen.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
404 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
405 * \sa SDL_GetRenderDrawBlendMode()
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
406 */
5150
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
407 extern DECLSPEC int SDLCALL SDL_SetRenderDrawBlendMode(SDL_Renderer * renderer,
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
408 SDL_BlendMode blendMode);
5148
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
409
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
410 /**
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
411 * \brief Get the blend mode used for drawing operations.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
412 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
413 * \param blendMode A pointer filled in with the current blend mode.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
414 *
5150
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
415 * \return 0 on success, or -1 on error
5148
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
416 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
417 * \sa SDL_SetRenderDrawBlendMode()
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
418 */
5150
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
419 extern DECLSPEC int SDLCALL SDL_GetRenderDrawBlendMode(SDL_Renderer * renderer,
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
420 SDL_BlendMode *blendMode);
5148
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
421
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
422 /**
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
423 * \brief Clear the current rendering target with the drawing color
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
424 */
5150
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
425 extern DECLSPEC int SDLCALL SDL_RenderClear(SDL_Renderer * renderer);
5148
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
426
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
427 /**
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
428 * \brief Draw a point on the current rendering target.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
429 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
430 * \param x The x coordinate of the point.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
431 * \param y The y coordinate of the point.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
432 *
5150
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
433 * \return 0 on success, or -1 on error
5148
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
434 */
5150
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
435 extern DECLSPEC int SDLCALL SDL_RenderDrawPoint(SDL_Renderer * renderer,
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
436 int x, int y);
5148
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
437
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
438 /**
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
439 * \brief Draw multiple points on the current rendering target.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
440 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
441 * \param points The points to draw
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
442 * \param count The number of points to draw
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
443 *
5150
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
444 * \return 0 on success, or -1 on error
5148
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
445 */
5150
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
446 extern DECLSPEC int SDLCALL SDL_RenderDrawPoints(SDL_Renderer * renderer,
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
447 const SDL_Point * points,
5148
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
448 int count);
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
449
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
450 /**
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
451 * \brief Draw a line on the current rendering target.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
452 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
453 * \param x1 The x coordinate of the start point.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
454 * \param y1 The y coordinate of the start point.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
455 * \param x2 The x coordinate of the end point.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
456 * \param y2 The y coordinate of the end point.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
457 *
5150
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
458 * \return 0 on success, or -1 on error
5148
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
459 */
5150
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
460 extern DECLSPEC int SDLCALL SDL_RenderDrawLine(SDL_Renderer * renderer,
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
461 int x1, int y1, int x2, int y2);
5148
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
462
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
463 /**
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
464 * \brief Draw a series of connected lines on the current rendering target.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
465 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
466 * \param points The points along the lines
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
467 * \param count The number of points, drawing count-1 lines
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
468 *
5150
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
469 * \return 0 on success, or -1 on error
5148
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
470 */
5150
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
471 extern DECLSPEC int SDLCALL SDL_RenderDrawLines(SDL_Renderer * renderer,
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
472 const SDL_Point * points,
5148
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
473 int count);
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
474
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
475 /**
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
476 * \brief Draw a rectangle on the current rendering target.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
477 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
478 * \param rect A pointer to the destination rectangle, or NULL to outline the entire rendering target.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
479 *
5150
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
480 * \return 0 on success, or -1 on error
5148
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
481 */
5150
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
482 extern DECLSPEC int SDLCALL SDL_RenderDrawRect(SDL_Renderer * renderer,
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
483 const SDL_Rect * rect);
5148
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
484
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
485 /**
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
486 * \brief Draw some number of rectangles on the current rendering target.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
487 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
488 * \param rects A pointer to an array of destination rectangles.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
489 * \param count The number of rectangles.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
490 *
5150
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
491 * \return 0 on success, or -1 on error
5148
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
492 */
5150
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
493 extern DECLSPEC int SDLCALL SDL_RenderDrawRects(SDL_Renderer * renderer,
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
494 const SDL_Rect ** rects,
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
495 int count);
5148
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
496
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
497 /**
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
498 * \brief Fill a rectangle on the current rendering target with the drawing color.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
499 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
500 * \param rect A pointer to the destination rectangle, or NULL for the entire
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
501 * rendering target.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
502 *
5150
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
503 * \return 0 on success, or -1 on error
5148
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
504 */
5150
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
505 extern DECLSPEC int SDLCALL SDL_RenderFillRect(SDL_Renderer * renderer,
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
506 const SDL_Rect * rect);
5148
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
507
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
508 /**
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
509 * \brief Fill some number of rectangles on the current rendering target with the drawing color.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
510 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
511 * \param rects A pointer to an array of destination rectangles.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
512 * \param count The number of rectangles.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
513 *
5150
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
514 * \return 0 on success, or -1 on error
5148
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
515 */
5150
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
516 extern DECLSPEC int SDLCALL SDL_RenderFillRects(SDL_Renderer * renderer,
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
517 const SDL_Rect ** rect,
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
518 int count);
5148
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
519
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
520 /**
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
521 * \brief Copy a portion of the texture to the current rendering target.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
522 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
523 * \param texture The source texture.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
524 * \param srcrect A pointer to the source rectangle, or NULL for the entire
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
525 * texture.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
526 * \param dstrect A pointer to the destination rectangle, or NULL for the
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
527 * entire rendering target.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
528 *
5150
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
529 * \return 0 on success, or -1 on error
5148
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
530 */
5150
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
531 extern DECLSPEC int SDLCALL SDL_RenderCopy(SDL_Renderer * renderer,
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
532 SDL_Texture * texture,
5148
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
533 const SDL_Rect * srcrect,
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
534 const SDL_Rect * dstrect);
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
535
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
536 /**
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
537 * \brief Read pixels from the current rendering target.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
538 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
539 * \param rect A pointer to the rectangle to read, or NULL for the entire
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
540 * render target.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
541 * \param format The desired format of the pixel data, or 0 to use the format
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
542 * of the rendering target
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
543 * \param pixels A pointer to be filled in with the pixel data
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
544 * \param pitch The pitch of the pixels parameter.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
545 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
546 * \return 0 on success, or -1 if pixel reading is not supported.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
547 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
548 * \warning This is a very slow operation, and should not be used frequently.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
549 */
5150
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
550 extern DECLSPEC int SDLCALL SDL_RenderReadPixels(SDL_Renderer * renderer,
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
551 const SDL_Rect * rect,
5148
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
552 Uint32 format,
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
553 void *pixels, int pitch);
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
554
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
555 /**
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
556 * \brief Update the screen with rendering performed.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
557 */
5150
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
558 extern DECLSPEC void SDLCALL SDL_RenderPresent(SDL_Renderer * renderer);
5148
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
559
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
560 /**
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
561 * \brief Destroy the specified texture.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
562 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
563 * \sa SDL_CreateTexture()
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
564 * \sa SDL_CreateTextureFromSurface()
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
565 */
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
566 extern DECLSPEC void SDLCALL SDL_DestroyTexture(SDL_Texture * texture);
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
567
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
568 /**
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
569 * \brief Destroy the rendering context for a window and free associated
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
570 * textures.
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
571 *
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
572 * \sa SDL_CreateRenderer()
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
573 */
5150
ad50b3db78bd The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
Sam Lantinga <slouken@libsdl.org>
parents: 5148
diff changeset
574 extern DECLSPEC void SDLCALL SDL_DestroyRenderer(SDL_Renderer * renderer);
5148
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
575
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
576
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
577 /* Ends C function definitions when using C++ */
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
578 #ifdef __cplusplus
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
579 /* *INDENT-OFF* */
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
580 }
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
581 /* *INDENT-ON* */
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
582 #endif
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
583 #include "close_code.h"
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
584
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
585 #endif /* _SDL_render_h */
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
586
2f44e6969a59 Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
587 /* vi: set ts=4 sw=4 expandtab: */