SDL3pp
A slim C++ wrapper for SDL3
Loading...
Searching...
No Matches
SDL3pp_blendmode.h
1#ifndef SDL3PP_BLENDMODE_H_
2#define SDL3PP_BLENDMODE_H_
3
4#include <SDL3/SDL_blendmode.h>
5#include "SDL3pp_stdinc.h"
6
7namespace SDL {
35using BlendMode = Uint32;
36
40constexpr BlendMode BLENDMODE_NONE = SDL_BLENDMODE_NONE;
41
46constexpr BlendMode BLENDMODE_BLEND = SDL_BLENDMODE_BLEND;
47
52 SDL_BLENDMODE_BLEND_PREMULTIPLIED;
53
57constexpr BlendMode BLENDMODE_ADD = SDL_BLENDMODE_ADD;
58
63 SDL_BLENDMODE_ADD_PREMULTIPLIED;
64
68constexpr BlendMode BLENDMODE_MOD = SDL_BLENDMODE_MOD;
69
73constexpr BlendMode BLENDMODE_MUL = SDL_BLENDMODE_MUL;
74
75constexpr BlendMode BLENDMODE_INVALID = SDL_BLENDMODE_INVALID;
76
78
84using BlendOperation = SDL_BlendOperation;
85
89constexpr BlendOperation BLENDOPERATION_ADD = SDL_BLENDOPERATION_ADD;
90
94constexpr BlendOperation BLENDOPERATION_SUBTRACT = SDL_BLENDOPERATION_SUBTRACT;
95
100 SDL_BLENDOPERATION_REV_SUBTRACT;
101
105constexpr BlendOperation BLENDOPERATION_MINIMUM = SDL_BLENDOPERATION_MINIMUM;
106
110constexpr BlendOperation BLENDOPERATION_MAXIMUM = SDL_BLENDOPERATION_MAXIMUM;
111
121using BlendFactor = SDL_BlendFactor;
122
126constexpr BlendFactor BLENDFACTOR_ZERO = SDL_BLENDFACTOR_ZERO;
127
131constexpr BlendFactor BLENDFACTOR_ONE = SDL_BLENDFACTOR_ONE;
132
136constexpr BlendFactor BLENDFACTOR_SRC_COLOR = SDL_BLENDFACTOR_SRC_COLOR;
137
142 SDL_BLENDFACTOR_ONE_MINUS_SRC_COLOR;
143
147constexpr BlendFactor BLENDFACTOR_SRC_ALPHA = SDL_BLENDFACTOR_SRC_ALPHA;
148
153 SDL_BLENDFACTOR_ONE_MINUS_SRC_ALPHA;
154
158constexpr BlendFactor BLENDFACTOR_DST_COLOR = SDL_BLENDFACTOR_DST_COLOR;
159
164 SDL_BLENDFACTOR_ONE_MINUS_DST_COLOR;
165
169constexpr BlendFactor BLENDFACTOR_DST_ALPHA = SDL_BLENDFACTOR_DST_ALPHA;
170
175 SDL_BLENDFACTOR_ONE_MINUS_DST_ALPHA;
176
259 BlendFactor dstColorFactor,
260 BlendOperation colorOperation,
261 BlendFactor srcAlphaFactor,
262 BlendFactor dstAlphaFactor,
263 BlendOperation alphaOperation)
264{
265 return SDL_ComposeCustomBlendMode(srcColorFactor,
266 dstColorFactor,
267 colorOperation,
268 srcAlphaFactor,
269 dstAlphaFactor,
270 alphaOperation);
271}
274} // namespace SDL
275
276#endif /* SDL3PP_BLENDMODE_H_ */
constexpr BlendFactor BLENDFACTOR_ZERO
0, 0, 0, 0
Definition SDL3pp_blendmode.h:126
constexpr BlendMode BLENDMODE_MUL
color multiply: dstRGB = (srcRGB * dstRGB) + (dstRGB * (1-srcA)), dstA = dstA
Definition SDL3pp_blendmode.h:73
Uint32 BlendMode
A set of blend modes used in drawing operations.
Definition SDL3pp_blendmode.h:35
constexpr BlendMode BLENDMODE_MOD
color modulate: dstRGB = srcRGB * dstRGB, dstA = dstA
Definition SDL3pp_blendmode.h:68
SDL_BlendOperation BlendOperation
The blend operation used when combining source and destination pixel components.
Definition SDL3pp_blendmode.h:84
SDL_BlendFactor BlendFactor
The normalized factor used to multiply pixel components.
Definition SDL3pp_blendmode.h:121
constexpr BlendFactor BLENDFACTOR_DST_COLOR
dstR, dstG, dstB, dstA
Definition SDL3pp_blendmode.h:158
constexpr BlendMode BLENDMODE_ADD_PREMULTIPLIED
pre-multiplied additive blending: dstRGB = srcRGB + dstRGB, dstA = dstA
Definition SDL3pp_blendmode.h:62
constexpr BlendFactor BLENDFACTOR_ONE_MINUS_SRC_COLOR
1-srcR, 1-srcG, 1-srcB, 1-srcA
Definition SDL3pp_blendmode.h:141
constexpr BlendOperation BLENDOPERATION_MINIMUM
min(dst, src) : supported by D3D, OpenGL, OpenGLES, and Vulkan
Definition SDL3pp_blendmode.h:105
constexpr BlendMode BLENDMODE_NONE
no blending: dstRGBA = srcRGBA
Definition SDL3pp_blendmode.h:40
constexpr BlendFactor BLENDFACTOR_SRC_COLOR
srcR, srcG, srcB, srcA
Definition SDL3pp_blendmode.h:136
constexpr BlendFactor BLENDFACTOR_SRC_ALPHA
srcA, srcA, srcA, srcA
Definition SDL3pp_blendmode.h:147
constexpr BlendMode BLENDMODE_ADD
additive blending: dstRGB = (srcRGB * srcA) + dstRGB, dstA = dstA
Definition SDL3pp_blendmode.h:57
constexpr BlendMode BLENDMODE_BLEND
alpha blending: dstRGB = (srcRGB * srcA) + (dstRGB * (1-srcA)), dstA = srcA + (dstA * (1-srcA))
Definition SDL3pp_blendmode.h:46
constexpr BlendFactor BLENDFACTOR_ONE_MINUS_DST_COLOR
1-dstR, 1-dstG, 1-dstB, 1-dstA
Definition SDL3pp_blendmode.h:163
constexpr BlendFactor BLENDFACTOR_ONE_MINUS_SRC_ALPHA
1-srcA, 1-srcA, 1-srcA, 1-srcA
Definition SDL3pp_blendmode.h:152
constexpr BlendMode BLENDMODE_INVALID
INVALID.
Definition SDL3pp_blendmode.h:75
constexpr BlendOperation BLENDOPERATION_ADD
dst + src: supported by all renderers
Definition SDL3pp_blendmode.h:89
constexpr BlendOperation BLENDOPERATION_SUBTRACT
src - dst : supported by D3D, OpenGL, OpenGLES, and Vulkan
Definition SDL3pp_blendmode.h:94
constexpr BlendFactor BLENDFACTOR_DST_ALPHA
dstA, dstA, dstA, dstA
Definition SDL3pp_blendmode.h:169
constexpr BlendMode BLENDMODE_BLEND_PREMULTIPLIED
pre-multiplied alpha blending: dstRGBA = srcRGBA + (dstRGBA * (1-srcA))
Definition SDL3pp_blendmode.h:51
constexpr BlendFactor BLENDFACTOR_ONE_MINUS_DST_ALPHA
1-dstA, 1-dstA, 1-dstA, 1-dstA
Definition SDL3pp_blendmode.h:174
constexpr BlendOperation BLENDOPERATION_REV_SUBTRACT
dst - src : supported by D3D, OpenGL, OpenGLES, and Vulkan
Definition SDL3pp_blendmode.h:99
constexpr BlendFactor BLENDFACTOR_ONE
1, 1, 1, 1
Definition SDL3pp_blendmode.h:131
BlendMode ComposeCustomBlendMode(BlendFactor srcColorFactor, BlendFactor dstColorFactor, BlendOperation colorOperation, BlendFactor srcAlphaFactor, BlendFactor dstAlphaFactor, BlendOperation alphaOperation)
Compose a custom blend mode for renderers.
Definition SDL3pp_blendmode.h:258
constexpr BlendOperation BLENDOPERATION_MAXIMUM
max(dst, src) : supported by D3D, OpenGL, OpenGLES, and Vulkan
Definition SDL3pp_blendmode.h:110
the main namespace where all SDL3pp public functions and types live
Definition SDL3pp_assert.h:7