blender/extern/sdlew/include/SDL2/SDL_render.h
Sergey Sharybin 80d1d624d3 Support dynamic loading of SDL libraries
This is mainly to address old issue when one need to have SDL library installed
in order to use our official builds. Some hip distros already installs SDL,
but it's not quite the same across all the variety of the distros.

We also now switching to SDL-2.0, most of the distros have it in repositories
already, so it shouldn't be huge deal to install it if needed.

Reviewers: campbellbarton

Reviewed By: campbellbarton

Differential Revision: https://developer.blender.org/D878
2014-11-17 17:43:18 +05:00

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