forked from bartvdbraak/blender
281 lines
11 KiB
C
281 lines
11 KiB
C
|
|
||
|
#ifndef _SDL_render_h
|
||
|
#define _SDL_render_h
|
||
|
|
||
|
#include "SDL_stdinc.h"
|
||
|
#include "SDL_rect.h"
|
||
|
#include "SDL_video.h"
|
||
|
|
||
|
#include "begin_code.h"
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
typedef enum
|
||
|
{
|
||
|
SDL_RENDERER_SOFTWARE = 0x00000001,
|
||
|
SDL_RENDERER_ACCELERATED = 0x00000002,
|
||
|
SDL_RENDERER_PRESENTVSYNC = 0x00000004,
|
||
|
SDL_RENDERER_TARGETTEXTURE = 0x00000008
|
||
|
} SDL_RendererFlags;
|
||
|
|
||
|
typedef struct SDL_RendererInfo
|
||
|
{
|
||
|
const char *name;
|
||
|
Uint32 flags;
|
||
|
Uint32 num_texture_formats;
|
||
|
Uint32 texture_formats[16];
|
||
|
int max_texture_width;
|
||
|
int max_texture_height;
|
||
|
} SDL_RendererInfo;
|
||
|
|
||
|
typedef enum
|
||
|
{
|
||
|
SDL_TEXTUREACCESS_STATIC,
|
||
|
SDL_TEXTUREACCESS_STREAMING,
|
||
|
SDL_TEXTUREACCESS_TARGET
|
||
|
} SDL_TextureAccess;
|
||
|
|
||
|
typedef enum
|
||
|
{
|
||
|
SDL_TEXTUREMODULATE_NONE = 0x00000000,
|
||
|
SDL_TEXTUREMODULATE_COLOR = 0x00000001,
|
||
|
SDL_TEXTUREMODULATE_ALPHA = 0x00000002
|
||
|
} SDL_TextureModulate;
|
||
|
|
||
|
typedef enum
|
||
|
{
|
||
|
SDL_FLIP_NONE = 0x00000000,
|
||
|
SDL_FLIP_HORIZONTAL = 0x00000001,
|
||
|
SDL_FLIP_VERTICAL = 0x00000002
|
||
|
} SDL_RendererFlip;
|
||
|
|
||
|
struct SDL_Renderer;
|
||
|
typedef struct SDL_Renderer SDL_Renderer;
|
||
|
|
||
|
struct SDL_Texture;
|
||
|
typedef struct SDL_Texture SDL_Texture;
|
||
|
|
||
|
typedef int SDLCALL tSDL_GetNumRenderDrivers(void);
|
||
|
|
||
|
typedef int SDLCALL tSDL_GetRenderDriverInfo(int index,
|
||
|
SDL_RendererInfo * info);
|
||
|
|
||
|
typedef int SDLCALL tSDL_CreateWindowAndRenderer(
|
||
|
int width, int height, Uint32 window_flags,
|
||
|
SDL_Window **window, SDL_Renderer **renderer);
|
||
|
|
||
|
typedef SDL_Renderer * SDLCALL tSDL_CreateRenderer(SDL_Window * window,
|
||
|
int index, Uint32 flags);
|
||
|
|
||
|
typedef SDL_Renderer * SDLCALL tSDL_CreateSoftwareRenderer(SDL_Surface * surface);
|
||
|
|
||
|
typedef SDL_Renderer * SDLCALL tSDL_GetRenderer(SDL_Window * window);
|
||
|
|
||
|
typedef int SDLCALL tSDL_GetRendererInfo(SDL_Renderer * renderer,
|
||
|
SDL_RendererInfo * info);
|
||
|
|
||
|
typedef int SDLCALL tSDL_GetRendererOutputSize(SDL_Renderer * renderer,
|
||
|
int *w, int *h);
|
||
|
|
||
|
typedef SDL_Texture * SDLCALL tSDL_CreateTexture(SDL_Renderer * renderer,
|
||
|
Uint32 format,
|
||
|
int access, int w,
|
||
|
int h);
|
||
|
|
||
|
typedef SDL_Texture * SDLCALL tSDL_CreateTextureFromSurface(SDL_Renderer * renderer, SDL_Surface * surface);
|
||
|
|
||
|
typedef int SDLCALL tSDL_QueryTexture(SDL_Texture * texture,
|
||
|
Uint32 * format, int *access,
|
||
|
int *w, int *h);
|
||
|
|
||
|
typedef int SDLCALL tSDL_SetTextureColorMod(SDL_Texture * texture,
|
||
|
Uint8 r, Uint8 g, Uint8 b);
|
||
|
|
||
|
typedef int SDLCALL tSDL_GetTextureColorMod(SDL_Texture * texture,
|
||
|
Uint8 * r, Uint8 * g,
|
||
|
Uint8 * b);
|
||
|
|
||
|
typedef int SDLCALL tSDL_SetTextureAlphaMod(SDL_Texture * texture,
|
||
|
Uint8 alpha);
|
||
|
|
||
|
typedef int SDLCALL tSDL_GetTextureAlphaMod(SDL_Texture * texture,
|
||
|
Uint8 * alpha);
|
||
|
|
||
|
typedef int SDLCALL tSDL_SetTextureBlendMode(SDL_Texture * texture,
|
||
|
SDL_BlendMode blendMode);
|
||
|
|
||
|
typedef int SDLCALL tSDL_GetTextureBlendMode(SDL_Texture * texture,
|
||
|
SDL_BlendMode *blendMode);
|
||
|
|
||
|
typedef int SDLCALL tSDL_UpdateTexture(SDL_Texture * texture,
|
||
|
const SDL_Rect * rect,
|
||
|
const void *pixels, int pitch);
|
||
|
|
||
|
typedef int SDLCALL tSDL_LockTexture(SDL_Texture * texture,
|
||
|
const SDL_Rect * rect,
|
||
|
void **pixels, int *pitch);
|
||
|
|
||
|
typedef void SDLCALL tSDL_UnlockTexture(SDL_Texture * texture);
|
||
|
|
||
|
typedef SDL_bool SDLCALL tSDL_RenderTargetSupported(SDL_Renderer *renderer);
|
||
|
|
||
|
typedef int SDLCALL tSDL_SetRenderTarget(SDL_Renderer *renderer,
|
||
|
SDL_Texture *texture);
|
||
|
|
||
|
typedef SDL_Texture * SDLCALL tSDL_GetRenderTarget(SDL_Renderer *renderer);
|
||
|
|
||
|
typedef int SDLCALL tSDL_RenderSetLogicalSize(SDL_Renderer * renderer, int w, int h);
|
||
|
|
||
|
typedef void SDLCALL tSDL_RenderGetLogicalSize(SDL_Renderer * renderer, int *w, int *h);
|
||
|
|
||
|
typedef int SDLCALL tSDL_RenderSetViewport(SDL_Renderer * renderer,
|
||
|
const SDL_Rect * rect);
|
||
|
|
||
|
typedef void SDLCALL tSDL_RenderGetViewport(SDL_Renderer * renderer,
|
||
|
SDL_Rect * rect);
|
||
|
|
||
|
typedef int SDLCALL tSDL_RenderSetClipRect(SDL_Renderer * renderer,
|
||
|
const SDL_Rect * rect);
|
||
|
|
||
|
typedef void SDLCALL tSDL_RenderGetClipRect(SDL_Renderer * renderer,
|
||
|
SDL_Rect * rect);
|
||
|
|
||
|
typedef int SDLCALL tSDL_RenderSetScale(SDL_Renderer * renderer,
|
||
|
float scaleX, float scaleY);
|
||
|
|
||
|
typedef void SDLCALL tSDL_RenderGetScale(SDL_Renderer * renderer,
|
||
|
float *scaleX, float *scaleY);
|
||
|
|
||
|
extern DECLSPEC int SDL_SetRenderDrawColor(SDL_Renderer * renderer,
|
||
|
Uint8 r, Uint8 g, Uint8 b,
|
||
|
Uint8 a);
|
||
|
|
||
|
extern DECLSPEC int SDL_GetRenderDrawColor(SDL_Renderer * renderer,
|
||
|
Uint8 * r, Uint8 * g, Uint8 * b,
|
||
|
Uint8 * a);
|
||
|
|
||
|
typedef int SDLCALL tSDL_SetRenderDrawBlendMode(SDL_Renderer * renderer,
|
||
|
SDL_BlendMode blendMode);
|
||
|
|
||
|
typedef int SDLCALL tSDL_GetRenderDrawBlendMode(SDL_Renderer * renderer,
|
||
|
SDL_BlendMode *blendMode);
|
||
|
|
||
|
typedef int SDLCALL tSDL_RenderClear(SDL_Renderer * renderer);
|
||
|
|
||
|
typedef int SDLCALL tSDL_RenderDrawPoint(SDL_Renderer * renderer,
|
||
|
int x, int y);
|
||
|
|
||
|
typedef int SDLCALL tSDL_RenderDrawPoints(SDL_Renderer * renderer,
|
||
|
const SDL_Point * points,
|
||
|
int count);
|
||
|
|
||
|
typedef int SDLCALL tSDL_RenderDrawLine(SDL_Renderer * renderer,
|
||
|
int x1, int y1, int x2, int y2);
|
||
|
|
||
|
typedef int SDLCALL tSDL_RenderDrawLines(SDL_Renderer * renderer,
|
||
|
const SDL_Point * points,
|
||
|
int count);
|
||
|
|
||
|
typedef int SDLCALL tSDL_RenderDrawRect(SDL_Renderer * renderer,
|
||
|
const SDL_Rect * rect);
|
||
|
|
||
|
typedef int SDLCALL tSDL_RenderDrawRects(SDL_Renderer * renderer,
|
||
|
const SDL_Rect * rects,
|
||
|
int count);
|
||
|
|
||
|
typedef int SDLCALL tSDL_RenderFillRect(SDL_Renderer * renderer,
|
||
|
const SDL_Rect * rect);
|
||
|
|
||
|
typedef int SDLCALL tSDL_RenderFillRects(SDL_Renderer * renderer,
|
||
|
const SDL_Rect * rects,
|
||
|
int count);
|
||
|
|
||
|
typedef int SDLCALL tSDL_RenderCopy(SDL_Renderer * renderer,
|
||
|
SDL_Texture * texture,
|
||
|
const SDL_Rect * srcrect,
|
||
|
const SDL_Rect * dstrect);
|
||
|
|
||
|
typedef int SDLCALL tSDL_RenderCopyEx(SDL_Renderer * renderer,
|
||
|
SDL_Texture * texture,
|
||
|
const SDL_Rect * srcrect,
|
||
|
const SDL_Rect * dstrect,
|
||
|
const double angle,
|
||
|
const SDL_Point *center,
|
||
|
const SDL_RendererFlip flip);
|
||
|
|
||
|
typedef int SDLCALL tSDL_RenderReadPixels(SDL_Renderer * renderer,
|
||
|
const SDL_Rect * rect,
|
||
|
Uint32 format,
|
||
|
void *pixels, int pitch);
|
||
|
|
||
|
typedef void SDLCALL tSDL_RenderPresent(SDL_Renderer * renderer);
|
||
|
|
||
|
typedef void SDLCALL tSDL_DestroyTexture(SDL_Texture * texture);
|
||
|
|
||
|
typedef void SDLCALL tSDL_DestroyRenderer(SDL_Renderer * renderer);
|
||
|
|
||
|
typedef int SDLCALL tSDL_GL_BindTexture(SDL_Texture *texture, float *texw, float *texh);
|
||
|
|
||
|
typedef int SDLCALL tSDL_GL_UnbindTexture(SDL_Texture *texture);
|
||
|
|
||
|
extern tSDL_GetNumRenderDrivers *SDL_GetNumRenderDrivers;
|
||
|
extern tSDL_GetRenderDriverInfo *SDL_GetRenderDriverInfo;
|
||
|
extern tSDL_CreateWindowAndRenderer *SDL_CreateWindowAndRenderer;
|
||
|
extern tSDL_CreateRenderer *SDL_CreateRenderer;
|
||
|
extern tSDL_CreateSoftwareRenderer *SDL_CreateSoftwareRenderer;
|
||
|
extern tSDL_GetRenderer *SDL_GetRenderer;
|
||
|
extern tSDL_GetRendererInfo *SDL_GetRendererInfo;
|
||
|
extern tSDL_GetRendererOutputSize *SDL_GetRendererOutputSize;
|
||
|
extern tSDL_CreateTexture *SDL_CreateTexture;
|
||
|
extern tSDL_CreateTextureFromSurface *SDL_CreateTextureFromSurface;
|
||
|
extern tSDL_QueryTexture *SDL_QueryTexture;
|
||
|
extern tSDL_SetTextureColorMod *SDL_SetTextureColorMod;
|
||
|
extern tSDL_GetTextureColorMod *SDL_GetTextureColorMod;
|
||
|
extern tSDL_SetTextureAlphaMod *SDL_SetTextureAlphaMod;
|
||
|
extern tSDL_GetTextureAlphaMod *SDL_GetTextureAlphaMod;
|
||
|
extern tSDL_SetTextureBlendMode *SDL_SetTextureBlendMode;
|
||
|
extern tSDL_GetTextureBlendMode *SDL_GetTextureBlendMode;
|
||
|
extern tSDL_UpdateTexture *SDL_UpdateTexture;
|
||
|
extern tSDL_LockTexture *SDL_LockTexture;
|
||
|
extern tSDL_UnlockTexture *SDL_UnlockTexture;
|
||
|
extern tSDL_RenderTargetSupported *SDL_RenderTargetSupported;
|
||
|
extern tSDL_SetRenderTarget *SDL_SetRenderTarget;
|
||
|
extern tSDL_GetRenderTarget *SDL_GetRenderTarget;
|
||
|
extern tSDL_RenderSetLogicalSize *SDL_RenderSetLogicalSize;
|
||
|
extern tSDL_RenderGetLogicalSize *SDL_RenderGetLogicalSize;
|
||
|
extern tSDL_RenderSetViewport *SDL_RenderSetViewport;
|
||
|
extern tSDL_RenderGetViewport *SDL_RenderGetViewport;
|
||
|
extern tSDL_RenderSetClipRect *SDL_RenderSetClipRect;
|
||
|
extern tSDL_RenderGetClipRect *SDL_RenderGetClipRect;
|
||
|
extern tSDL_RenderSetScale *SDL_RenderSetScale;
|
||
|
extern tSDL_RenderGetScale *SDL_RenderGetScale;
|
||
|
extern tSDL_SetRenderDrawBlendMode *SDL_SetRenderDrawBlendMode;
|
||
|
extern tSDL_GetRenderDrawBlendMode *SDL_GetRenderDrawBlendMode;
|
||
|
extern tSDL_RenderClear *SDL_RenderClear;
|
||
|
extern tSDL_RenderDrawPoint *SDL_RenderDrawPoint;
|
||
|
extern tSDL_RenderDrawPoints *SDL_RenderDrawPoints;
|
||
|
extern tSDL_RenderDrawLine *SDL_RenderDrawLine;
|
||
|
extern tSDL_RenderDrawLines *SDL_RenderDrawLines;
|
||
|
extern tSDL_RenderDrawRect *SDL_RenderDrawRect;
|
||
|
extern tSDL_RenderDrawRects *SDL_RenderDrawRects;
|
||
|
extern tSDL_RenderFillRect *SDL_RenderFillRect;
|
||
|
extern tSDL_RenderFillRects *SDL_RenderFillRects;
|
||
|
extern tSDL_RenderCopy *SDL_RenderCopy;
|
||
|
extern tSDL_RenderCopyEx *SDL_RenderCopyEx;
|
||
|
extern tSDL_RenderReadPixels *SDL_RenderReadPixels;
|
||
|
extern tSDL_RenderPresent *SDL_RenderPresent;
|
||
|
extern tSDL_DestroyTexture *SDL_DestroyTexture;
|
||
|
extern tSDL_DestroyRenderer *SDL_DestroyRenderer;
|
||
|
extern tSDL_GL_BindTexture *SDL_GL_BindTexture;
|
||
|
extern tSDL_GL_UnbindTexture *SDL_GL_UnbindTexture;
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
}
|
||
|
#endif
|
||
|
#include "close_code.h"
|
||
|
|
||
|
#endif
|
||
|
|