zenilib  0.5.3.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
SDL_sysrender.h
Go to the documentation of this file.
1 /*
2  Simple DirectMedia Layer
3  Copyright (C) 1997-2013 Sam Lantinga <slouken@libsdl.org>
4 
5  This software is provided 'as-is', without any express or implied
6  warranty. In no event will the authors be held liable for any damages
7  arising from the use of this software.
8 
9  Permission is granted to anyone to use this software for any purpose,
10  including commercial applications, and to alter it and redistribute it
11  freely, subject to the following restrictions:
12 
13  1. The origin of this software must not be misrepresented; you must not
14  claim that you wrote the original software. If you use this software
15  in a product, an acknowledgment in the product documentation would be
16  appreciated but is not required.
17  2. Altered source versions must be plainly marked as such, and must not be
18  misrepresented as being the original software.
19  3. This notice may not be removed or altered from any source distribution.
20 */
21 #include "SDL_config.h"
22 
23 #ifndef _SDL_sysrender_h
24 #define _SDL_sysrender_h
25 
26 #include "SDL_render.h"
27 #include "SDL_events.h"
28 #include "SDL_yuv_sw_c.h"
29 
30 /* The SDL 2D rendering system */
31 
33 
34 typedef struct
35 {
36  float x;
37  float y;
38 } SDL_FPoint;
39 
40 typedef struct
41 {
42  float x;
43  float y;
44  float w;
45  float h;
46 } SDL_FRect;
47 
48 /* Define the SDL texture structure */
50 {
51  const void *magic;
53  int access;
54  int w;
55  int h;
56  int modMode;
58  Uint8 r, g, b, a;
61 
62  /* Support for formats not supported directly by the renderer */
65  void *pixels;
66  int pitch;
68 
69  void *driverdata;
73 };
74 
75 /* Define the SDL renderer structure */
77 {
78  const void *magic;
79 
81  int (*GetOutputSize) (SDL_Renderer * renderer, int *w, int *h);
90  const SDL_Rect * rect, const void *pixels,
91  int pitch);
93  const SDL_Rect * rect,
94  const Uint8 *Yplane, int Ypitch,
95  const Uint8 *Uplane, int Upitch,
96  const Uint8 *Vplane, int Vpitch);
98  const SDL_Rect * rect, void **pixels, int *pitch);
101  int (*UpdateViewport) (SDL_Renderer * renderer);
102  int (*UpdateClipRect) (SDL_Renderer * renderer);
103  int (*RenderClear) (SDL_Renderer * renderer);
105  int count);
107  int count);
108  int (*RenderFillRects) (SDL_Renderer * renderer, const SDL_FRect * rects,
109  int count);
111  const SDL_Rect * srcrect, const SDL_FRect * dstrect);
113  const SDL_Rect * srcquad, const SDL_FRect * dstrect,
114  const double angle, const SDL_FPoint *center, const SDL_RendererFlip flip);
115  int (*RenderReadPixels) (SDL_Renderer * renderer, const SDL_Rect * rect,
116  Uint32 format, void * pixels, int pitch);
117  void (*RenderPresent) (SDL_Renderer * renderer);
119 
121 
122  int (*GL_BindTexture) (SDL_Renderer * renderer, SDL_Texture *texture, float *texw, float *texh);
124 
125  /* The current renderer info */
127 
128  /* The window associated with the renderer */
131 
132  /* The logical resolution for rendering */
137 
138  /* The drawable area within the window */
141 
142  /* The clip rectangle within the window */
145 
146  /* The render output coordinate scale */
149 
150  /* The list of textures */
153 
154  Uint8 r, g, b, a;
157  void *driverdata;
158 };
159 
160 /* Define the SDL render driver structure */
162 {
163  SDL_Renderer *(*CreateRenderer) (SDL_Window * window, Uint32 flags);
164 
165  /* Info about the renderer capabilities */
167 };
168 
169 #if !SDL_RENDER_DISABLED
170 
171 #if SDL_VIDEO_RENDER_D3D
172 extern SDL_RenderDriver D3D_RenderDriver;
173 #endif
174 #if SDL_VIDEO_RENDER_OGL
175 extern SDL_RenderDriver GL_RenderDriver;
176 #endif
177 #if SDL_VIDEO_RENDER_OGL_ES2
178 extern SDL_RenderDriver GLES2_RenderDriver;
179 #endif
180 #if SDL_VIDEO_RENDER_OGL_ES
181 extern SDL_RenderDriver GLES_RenderDriver;
182 #endif
183 #if SDL_VIDEO_RENDER_DIRECTFB
184 extern SDL_RenderDriver DirectFB_RenderDriver;
185 #endif
186 #if SDL_VIDEO_RENDER_PSP
187 extern SDL_RenderDriver PSP_RenderDriver;
188 #endif
190 
191 #endif /* !SDL_RENDER_DISABLED */
192 
193 #endif /* _SDL_sysrender_h */
194 
195 /* vi: set ts=4 sw=4 expandtab: */
void * pixels
Definition: SDL_sysrender.h:65
int(* UpdateClipRect)(SDL_Renderer *renderer)
SDL_BlendMode blendMode
Definition: SDL_sysrender.h:57
GLfloat GLfloat GLfloat GLfloat h
Definition: glew.h:7294
GLvoid **typedef void(GLAPIENTRY *PFNGLGETVERTEXATTRIBDVPROC)(GLuint
Definition: glew.h:1824
void(* WindowEvent)(SDL_Renderer *renderer, const SDL_WindowEvent *event)
Definition: SDL_sysrender.h:80
SDL_BlendMode
The blend mode used in SDL_RenderCopy() and drawing operations.
Definition: SDL_blendmode.h:40
SDL_RendererInfo info
SDL_Rect clip_rect_backup
int(* RenderClear)(SDL_Renderer *renderer)
int(* RenderDrawPoints)(SDL_Renderer *renderer, const SDL_FPoint *points, int count)
GLdouble angle
Definition: glew.h:8396
SDL_bool
Definition: SDL_stdinc.h:116
int(* SetRenderTarget)(SDL_Renderer *renderer, SDL_Texture *texture)
int(* CreateTexture)(SDL_Renderer *renderer, SDL_Texture *texture)
Definition: SDL_sysrender.h:82
SDL_bool hidden
void * driverdata
SDL_FPoint scale
SDL_Rect locked_rect
Definition: SDL_sysrender.h:67
void(* UnlockTexture)(SDL_Renderer *renderer, SDL_Texture *texture)
Definition: SDL_sysrender.h:99
SDL_Rect clip_rect
SDL_Texture * textures
SDL_Window * window
SDL_RendererInfo info
SDL_FPoint scale_backup
uint32_t Uint32
An unsigned 32-bit integer type.
Definition: SDL_stdinc.h:145
int(* LockTexture)(SDL_Renderer *renderer, SDL_Texture *texture, const SDL_Rect *rect, void **pixels, int *pitch)
Definition: SDL_sysrender.h:97
SDL_Texture * next
Definition: SDL_sysrender.h:72
int(* UpdateTextureYUV)(SDL_Renderer *renderer, SDL_Texture *texture, const SDL_Rect *rect, const Uint8 *Yplane, int Ypitch, const Uint8 *Uplane, int Upitch, const Uint8 *Vplane, int Vpitch)
Definition: SDL_sysrender.h:92
int(* UpdateTexture)(SDL_Renderer *renderer, SDL_Texture *texture, const SDL_Rect *rect, const void *pixels, int pitch)
Definition: SDL_sysrender.h:89
SDL_Texture * prev
Definition: SDL_sysrender.h:71
SDL_RenderDriver SW_RenderDriver
Definition: SDL_render_sw.c:78
int
Definition: SDL_systhread.c:37
SDL_Texture * target
SDL_SW_YUVTexture * yuv
Definition: SDL_sysrender.h:64
SDL_BlendMode blendMode
GLint GLsizei count
Definition: gl2ext.h:1011
int(* RenderDrawLines)(SDL_Renderer *renderer, const SDL_FPoint *points, int count)
GLint GLenum GLsizei GLsizei GLsizei GLint GLenum format
Definition: gl2ext.h:845
int(* SetTextureColorMod)(SDL_Renderer *renderer, SDL_Texture *texture)
Definition: SDL_sysrender.h:83
void(* DestroyTexture)(SDL_Renderer *renderer, SDL_Texture *texture)
int(* RenderCopy)(SDL_Renderer *renderer, SDL_Texture *texture, const SDL_Rect *srcrect, const SDL_FRect *dstrect)
SDL_RendererFlip
Flip constants for SDL_RenderCopyEx.
Definition: SDL_render.h:111
Window state change event data (event.window.*)
Definition: SDL_events.h:160
int(* SetTextureBlendMode)(SDL_Renderer *renderer, SDL_Texture *texture)
Definition: SDL_sysrender.h:87
GLenum GLenum GLuint texture
Definition: gl2ext.h:850
int(* GetOutputSize)(SDL_Renderer *renderer, int *w, int *h)
Definition: SDL_sysrender.h:81
GLint GLenum GLsizei GLsizei GLsizei GLint GLenum GLenum const GLvoid * pixels
Definition: gl2ext.h:845
int(* GL_BindTexture)(SDL_Renderer *renderer, SDL_Texture *texture, float *texw, float *texh)
Information on the capabilities of a render driver or context.
Definition: SDL_render.h:78
SDL_Renderer * renderer
Definition: SDL_sysrender.h:60
int(* RenderReadPixels)(SDL_Renderer *renderer, const SDL_Rect *rect, Uint32 format, void *pixels, int pitch)
GLenum GLsizei GLsizei GLsizei GLsizei GLbitfield flags
Definition: glew.h:2767
int(* GL_UnbindTexture)(SDL_Renderer *renderer, SDL_Texture *texture)
SDL_Rect viewport
int(* RenderFillRects)(SDL_Renderer *renderer, const SDL_FRect *rects, int count)
uint8_t Uint8
An unsigned 8-bit integer type.
Definition: SDL_stdinc.h:129
const void * magic
Definition: SDL_sysrender.h:78
Uint32 format
Definition: SDL_sysrender.h:52
GLint GLint GLint GLint GLint w
Definition: gl2ext.h:1215
void * driverdata
Definition: SDL_sysrender.h:69
int(* UpdateViewport)(SDL_Renderer *renderer)
GLuint GLdouble GLdouble GLint GLint const GLdouble * points
Definition: glew.h:3337
SDL_Texture * native
Definition: SDL_sysrender.h:63
int(* RenderCopyEx)(SDL_Renderer *renderer, SDL_Texture *texture, const SDL_Rect *srcquad, const SDL_FRect *dstrect, const double angle, const SDL_FPoint *center, const SDL_RendererFlip flip)
SDL_Rect viewport_backup
void(* RenderPresent)(SDL_Renderer *renderer)
void(* DestroyRenderer)(SDL_Renderer *renderer)
const void * magic
Definition: SDL_sysrender.h:51
int(* SetTextureAlphaMod)(SDL_Renderer *renderer, SDL_Texture *texture)
Definition: SDL_sysrender.h:85
A rectangle, with the origin at the upper left.
Definition: SDL_rect.h:63
cl_event event
Definition: glew.h:3556