Commit 3fc02a17 authored by Sam Lantinga's avatar Sam Lantinga

SetDrawColor() and SetDrawBlendMode() are optional

--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%403389
parent b876226c
...@@ -96,8 +96,6 @@ static int GL_LockTexture(SDL_Renderer * renderer, SDL_Texture * texture, ...@@ -96,8 +96,6 @@ static int GL_LockTexture(SDL_Renderer * renderer, SDL_Texture * texture,
static void GL_UnlockTexture(SDL_Renderer * renderer, SDL_Texture * texture); static void GL_UnlockTexture(SDL_Renderer * renderer, SDL_Texture * texture);
static void GL_DirtyTexture(SDL_Renderer * renderer, SDL_Texture * texture, static void GL_DirtyTexture(SDL_Renderer * renderer, SDL_Texture * texture,
int numrects, const SDL_Rect * rects); int numrects, const SDL_Rect * rects);
static int GL_SetDrawColor(SDL_Renderer * renderer);
static int GL_SetDrawBlendMode(SDL_Renderer * renderer);
static int GL_RenderPoint(SDL_Renderer * renderer, int x, int y); static int GL_RenderPoint(SDL_Renderer * renderer, int x, int y);
static int GL_RenderLine(SDL_Renderer * renderer, int x1, int y1, int x2, static int GL_RenderLine(SDL_Renderer * renderer, int x1, int y1, int x2,
int y2); int y2);
...@@ -312,8 +310,6 @@ GL_CreateRenderer(SDL_Window * window, Uint32 flags) ...@@ -312,8 +310,6 @@ GL_CreateRenderer(SDL_Window * window, Uint32 flags)
renderer->LockTexture = GL_LockTexture; renderer->LockTexture = GL_LockTexture;
renderer->UnlockTexture = GL_UnlockTexture; renderer->UnlockTexture = GL_UnlockTexture;
renderer->DirtyTexture = GL_DirtyTexture; renderer->DirtyTexture = GL_DirtyTexture;
renderer->SetDrawColor = GL_SetDrawColor;
renderer->SetDrawBlendMode = GL_SetDrawBlendMode;
renderer->RenderPoint = GL_RenderPoint; renderer->RenderPoint = GL_RenderPoint;
renderer->RenderLine = GL_RenderLine; renderer->RenderLine = GL_RenderLine;
renderer->RenderFill = GL_RenderFill; renderer->RenderFill = GL_RenderFill;
...@@ -1070,18 +1066,6 @@ GL_DirtyTexture(SDL_Renderer * renderer, SDL_Texture * texture, int numrects, ...@@ -1070,18 +1066,6 @@ GL_DirtyTexture(SDL_Renderer * renderer, SDL_Texture * texture, int numrects,
} }
} }
static int
GL_SetDrawColor(SDL_Renderer * renderer)
{
return 0;
}
static int
GL_SetDrawBlendMode(SDL_Renderer * renderer)
{
return 0;
}
static int static int
GL_RenderPoint(SDL_Renderer * renderer, int x, int y) GL_RenderPoint(SDL_Renderer * renderer, int x, int y)
{ {
......
...@@ -59,8 +59,6 @@ static int SW_LockTexture(SDL_Renderer * renderer, SDL_Texture * texture, ...@@ -59,8 +59,6 @@ static int SW_LockTexture(SDL_Renderer * renderer, SDL_Texture * texture,
const SDL_Rect * rect, int markDirty, void **pixels, const SDL_Rect * rect, int markDirty, void **pixels,
int *pitch); int *pitch);
static void SW_UnlockTexture(SDL_Renderer * renderer, SDL_Texture * texture); static void SW_UnlockTexture(SDL_Renderer * renderer, SDL_Texture * texture);
static int SW_SetDrawColor(SDL_Renderer * renderer);
static int SW_SetDrawBlendMode(SDL_Renderer * renderer);
static int SW_RenderPoint(SDL_Renderer * renderer, int x, int y); static int SW_RenderPoint(SDL_Renderer * renderer, int x, int y);
static int SW_RenderLine(SDL_Renderer * renderer, int x1, int y1, int x2, static int SW_RenderLine(SDL_Renderer * renderer, int x1, int y1, int x2,
int y2); int y2);
...@@ -226,8 +224,6 @@ SW_CreateRenderer(SDL_Window * window, Uint32 flags) ...@@ -226,8 +224,6 @@ SW_CreateRenderer(SDL_Window * window, Uint32 flags)
renderer->ActivateRenderer = SW_ActivateRenderer; renderer->ActivateRenderer = SW_ActivateRenderer;
renderer->DisplayModeChanged = SW_DisplayModeChanged; renderer->DisplayModeChanged = SW_DisplayModeChanged;
renderer->SetDrawColor = SW_SetDrawColor;
renderer->SetDrawBlendMode = SW_SetDrawBlendMode;
renderer->RenderPoint = SW_RenderPoint; renderer->RenderPoint = SW_RenderPoint;
renderer->RenderLine = SW_RenderLine; renderer->RenderLine = SW_RenderLine;
renderer->RenderFill = SW_RenderFill; renderer->RenderFill = SW_RenderFill;
...@@ -528,18 +524,6 @@ SW_UnlockTexture(SDL_Renderer * renderer, SDL_Texture * texture) ...@@ -528,18 +524,6 @@ SW_UnlockTexture(SDL_Renderer * renderer, SDL_Texture * texture)
} }
} }
static int
SW_SetDrawColor(SDL_Renderer * renderer)
{
return 0;
}
static int
SW_SetDrawBlendMode(SDL_Renderer * renderer)
{
return 0;
}
static int static int
SW_RenderPoint(SDL_Renderer * renderer, int x, int y) SW_RenderPoint(SDL_Renderer * renderer, int x, int y)
{ {
......
...@@ -1987,16 +1987,15 @@ SDL_SetRenderDrawColor(Uint8 r, Uint8 g, Uint8 b, Uint8 a) ...@@ -1987,16 +1987,15 @@ SDL_SetRenderDrawColor(Uint8 r, Uint8 g, Uint8 b, Uint8 a)
if (!renderer) { if (!renderer) {
return -1; return -1;
} }
if (!renderer->SetDrawColor) {
SDL_Unsupported();
return -1;
}
renderer->r = r; renderer->r = r;
renderer->g = g; renderer->g = g;
renderer->b = b; renderer->b = b;
renderer->a = a; renderer->a = a;
renderer->SetDrawColor(renderer); if (renderer->SetDrawColor) {
return 0; return renderer->SetDrawColor(renderer);
} else {
return 0;
}
} }
int int
...@@ -2012,10 +2011,6 @@ SDL_GetRenderDrawColor(Uint8 * r, Uint8 * g, Uint8 * b, Uint8 * a) ...@@ -2012,10 +2011,6 @@ SDL_GetRenderDrawColor(Uint8 * r, Uint8 * g, Uint8 * b, Uint8 * a)
if (!renderer) { if (!renderer) {
return -1; return -1;
} }
if (!renderer->SetDrawColor) {
SDL_Unsupported();
return -1;
}
if (r) { if (r) {
*r = renderer->r; *r = renderer->r;
} }
...@@ -2028,7 +2023,6 @@ SDL_GetRenderDrawColor(Uint8 * r, Uint8 * g, Uint8 * b, Uint8 * a) ...@@ -2028,7 +2023,6 @@ SDL_GetRenderDrawColor(Uint8 * r, Uint8 * g, Uint8 * b, Uint8 * a)
if (a) { if (a) {
*a = renderer->a; *a = renderer->a;
} }
return 0;
} }
int int
...@@ -2044,13 +2038,12 @@ SDL_SetRenderDrawBlendMode(int blendMode) ...@@ -2044,13 +2038,12 @@ SDL_SetRenderDrawBlendMode(int blendMode)
if (!renderer) { if (!renderer) {
return -1; return -1;
} }
if (!renderer->SetDrawBlendMode) {
SDL_Unsupported();
return -1;
}
renderer->blendMode = blendMode; renderer->blendMode = blendMode;
renderer->SetDrawBlendMode(renderer); if (renderer->SetDrawBlendMode) {
return 0; return renderer->SetDrawBlendMode(renderer);
} else {
return 0;
}
} }
int int
......
...@@ -71,8 +71,6 @@ static void DirectFB_UnlockTexture(SDL_Renderer * renderer, ...@@ -71,8 +71,6 @@ static void DirectFB_UnlockTexture(SDL_Renderer * renderer,
static void DirectFB_DirtyTexture(SDL_Renderer * renderer, static void DirectFB_DirtyTexture(SDL_Renderer * renderer,
SDL_Texture * texture, int numrects, SDL_Texture * texture, int numrects,
const SDL_Rect * rects); const SDL_Rect * rects);
static int DirectFB_SetDrawColor(SDL_Renderer * renderer);
static int DirectFB_SetDrawBlendMode(SDL_Renderer * renderer);
static int DirectFB_RenderPoint(SDL_Renderer * renderer, int x, int y); static int DirectFB_RenderPoint(SDL_Renderer * renderer, int x, int y);
static int DirectFB_RenderLine(SDL_Renderer * renderer, int x1, int y1, static int DirectFB_RenderLine(SDL_Renderer * renderer, int x1, int y1,
int x2, int y2); int x2, int y2);
...@@ -294,8 +292,6 @@ DirectFB_CreateRenderer(SDL_Window * window, Uint32 flags) ...@@ -294,8 +292,6 @@ DirectFB_CreateRenderer(SDL_Window * window, Uint32 flags)
renderer->LockTexture = DirectFB_LockTexture; renderer->LockTexture = DirectFB_LockTexture;
renderer->UnlockTexture = DirectFB_UnlockTexture; renderer->UnlockTexture = DirectFB_UnlockTexture;
renderer->DirtyTexture = DirectFB_DirtyTexture; renderer->DirtyTexture = DirectFB_DirtyTexture;
renderer->SetDrawColor = DirectFB_SetDrawColor;
renderer->SetDrawBlendMode = DirectFB_SetDrawBlendMode;
renderer->RenderPoint = DirectFB_RenderPoint; renderer->RenderPoint = DirectFB_RenderPoint;
renderer->RenderLine = DirectFB_RenderLine; renderer->RenderLine = DirectFB_RenderLine;
renderer->RenderFill = DirectFB_RenderFill; renderer->RenderFill = DirectFB_RenderFill;
...@@ -797,18 +793,6 @@ DirectFB_DirtyTexture(SDL_Renderer * renderer, SDL_Texture * texture, ...@@ -797,18 +793,6 @@ DirectFB_DirtyTexture(SDL_Renderer * renderer, SDL_Texture * texture,
} }
} }
static int
DirectFB_SetDrawColor(SDL_Renderer * renderer)
{
return 0;
}
static int
DirectFB_SetDrawBlendMode(SDL_Renderer * renderer)
{
return 0;
}
static int static int
PrepareDraw(SDL_Renderer * renderer) PrepareDraw(SDL_Renderer * renderer)
{ {
......
...@@ -31,8 +31,6 @@ ...@@ -31,8 +31,6 @@
static SDL_Renderer *SDL_DUMMY_CreateRenderer(SDL_Window * window, static SDL_Renderer *SDL_DUMMY_CreateRenderer(SDL_Window * window,
Uint32 flags); Uint32 flags);
static int SDL_DUMMY_SetDrawColor(SDL_Renderer * renderer);
static int SDL_DUMMY_SetDrawBlendMode(SDL_Renderer * renderer);
static int SDL_DUMMY_RenderPoint(SDL_Renderer * renderer, int x, int y); static int SDL_DUMMY_RenderPoint(SDL_Renderer * renderer, int x, int y);
static int SDL_DUMMY_RenderLine(SDL_Renderer * renderer, int x1, int y1, static int SDL_DUMMY_RenderLine(SDL_Renderer * renderer, int x1, int y1,
int x2, int y2); int x2, int y2);
...@@ -93,8 +91,6 @@ SDL_DUMMY_CreateRenderer(SDL_Window * window, Uint32 flags) ...@@ -93,8 +91,6 @@ SDL_DUMMY_CreateRenderer(SDL_Window * window, Uint32 flags)
} }
SDL_zerop(data); SDL_zerop(data);
renderer->SetDrawColor = SDL_DUMMY_SetDrawColor;
renderer->SetDrawBlendMode = SDL_DUMMY_SetDrawBlendMode;
renderer->RenderPoint = SDL_DUMMY_RenderPoint; renderer->RenderPoint = SDL_DUMMY_RenderPoint;
renderer->RenderLine = SDL_DUMMY_RenderLine; renderer->RenderLine = SDL_DUMMY_RenderLine;
renderer->RenderFill = SDL_DUMMY_RenderFill; renderer->RenderFill = SDL_DUMMY_RenderFill;
...@@ -132,18 +128,6 @@ SDL_DUMMY_CreateRenderer(SDL_Window * window, Uint32 flags) ...@@ -132,18 +128,6 @@ SDL_DUMMY_CreateRenderer(SDL_Window * window, Uint32 flags)
return renderer; return renderer;
} }
static int
SDL_DUMMY_SetDrawColor(SDL_Renderer * renderer)
{
return 0;
}
static int
SDL_DUMMY_SetDrawBlendMode(SDL_Renderer * renderer)
{
return 0;
}
static int static int
SDL_DUMMY_RenderPoint(SDL_Renderer * renderer, int x, int y) SDL_DUMMY_RenderPoint(SDL_Renderer * renderer, int x, int y)
{ {
......
...@@ -55,6 +55,7 @@ static int GDI_LockTexture(SDL_Renderer * renderer, SDL_Texture * texture, ...@@ -55,6 +55,7 @@ static int GDI_LockTexture(SDL_Renderer * renderer, SDL_Texture * texture,
const SDL_Rect * rect, int markDirty, const SDL_Rect * rect, int markDirty,
void **pixels, int *pitch); void **pixels, int *pitch);
static void GDI_UnlockTexture(SDL_Renderer * renderer, SDL_Texture * texture); static void GDI_UnlockTexture(SDL_Renderer * renderer, SDL_Texture * texture);
static int GDI_SetDrawBlendMode(SDL_Renderer * renderer);
static int GDI_RenderPoint(SDL_Renderer * renderer, int x, int y); static int GDI_RenderPoint(SDL_Renderer * renderer, int x, int y);
static int GDI_RenderLine(SDL_Renderer * renderer, int x1, int y1, int x2, static int GDI_RenderLine(SDL_Renderer * renderer, int x1, int y1, int x2,
int y2); int y2);
...@@ -175,6 +176,7 @@ GDI_CreateRenderer(SDL_Window * window, Uint32 flags) ...@@ -175,6 +176,7 @@ GDI_CreateRenderer(SDL_Window * window, Uint32 flags)
renderer->UpdateTexture = GDI_UpdateTexture; renderer->UpdateTexture = GDI_UpdateTexture;
renderer->LockTexture = GDI_LockTexture; renderer->LockTexture = GDI_LockTexture;
renderer->UnlockTexture = GDI_UnlockTexture; renderer->UnlockTexture = GDI_UnlockTexture;
renderer->SetDrawBlendMode = GDI_SetDrawBlendMode;
renderer->RenderPoint = GDI_RenderPoint; renderer->RenderPoint = GDI_RenderPoint;
renderer->RenderLine = GDI_RenderLine; renderer->RenderLine = GDI_RenderLine;
renderer->RenderFill = GDI_RenderFill; renderer->RenderFill = GDI_RenderFill;
...@@ -573,6 +575,19 @@ GDI_UnlockTexture(SDL_Renderer * renderer, SDL_Texture * texture) ...@@ -573,6 +575,19 @@ GDI_UnlockTexture(SDL_Renderer * renderer, SDL_Texture * texture)
} }
} }
static int
GDI_SetDrawBlendMode(SDL_Renderer * renderer)
{
switch (renderer->blendMode) {
case SDL_BLENDMODE_NONE:
return 0;
default:
SDL_Unsupported();
renderer->blendMode = SDL_BLENDMODE_NONE;
return -1;
}
}
static int static int
GDI_RenderPoint(SDL_Renderer * renderer, int x, int y) GDI_RenderPoint(SDL_Renderer * renderer, int x, int y)
{ {
......
...@@ -47,7 +47,6 @@ static int X11_LockTexture(SDL_Renderer * renderer, SDL_Texture * texture, ...@@ -47,7 +47,6 @@ static int X11_LockTexture(SDL_Renderer * renderer, SDL_Texture * texture,
const SDL_Rect * rect, int markDirty, const SDL_Rect * rect, int markDirty,
void **pixels, int *pitch); void **pixels, int *pitch);
static void X11_UnlockTexture(SDL_Renderer * renderer, SDL_Texture * texture); static void X11_UnlockTexture(SDL_Renderer * renderer, SDL_Texture * texture);
static int X11_SetDrawColor(SDL_Renderer * renderer);
static int X11_SetDrawBlendMode(SDL_Renderer * renderer); static int X11_SetDrawBlendMode(SDL_Renderer * renderer);
static int X11_RenderPoint(SDL_Renderer * renderer, int x, int y); static int X11_RenderPoint(SDL_Renderer * renderer, int x, int y);
static int X11_RenderLine(SDL_Renderer * renderer, int x1, int y1, int x2, static int X11_RenderLine(SDL_Renderer * renderer, int x1, int y1, int x2,
...@@ -197,7 +196,6 @@ X11_CreateRenderer(SDL_Window * window, Uint32 flags) ...@@ -197,7 +196,6 @@ X11_CreateRenderer(SDL_Window * window, Uint32 flags)
renderer->UpdateTexture = X11_UpdateTexture; renderer->UpdateTexture = X11_UpdateTexture;
renderer->LockTexture = X11_LockTexture; renderer->LockTexture = X11_LockTexture;
renderer->UnlockTexture = X11_UnlockTexture; renderer->UnlockTexture = X11_UnlockTexture;
renderer->SetDrawColor = X11_SetDrawColor;
renderer->SetDrawBlendMode = X11_SetDrawBlendMode; renderer->SetDrawBlendMode = X11_SetDrawBlendMode;
renderer->RenderPoint = X11_RenderPoint; renderer->RenderPoint = X11_RenderPoint;
renderer->RenderLine = X11_RenderLine; renderer->RenderLine = X11_RenderLine;
...@@ -563,12 +561,6 @@ X11_UnlockTexture(SDL_Renderer * renderer, SDL_Texture * texture) ...@@ -563,12 +561,6 @@ X11_UnlockTexture(SDL_Renderer * renderer, SDL_Texture * texture)
} }
} }
static int
X11_SetDrawColor(SDL_Renderer * renderer)
{
return 0;
}
static int static int
X11_SetDrawBlendMode(SDL_Renderer * renderer) X11_SetDrawBlendMode(SDL_Renderer * renderer)
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment