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
6namespace SDL {
7
36
38 SDL_BLENDMODE_NONE;
39
44constexpr BlendMode BLENDMODE_BLEND = SDL_BLENDMODE_BLEND;
45
48 SDL_BLENDMODE_BLEND_PREMULTIPLIED;
49
51constexpr BlendMode BLENDMODE_ADD = SDL_BLENDMODE_ADD;
52
55 SDL_BLENDMODE_ADD_PREMULTIPLIED;
56
58constexpr BlendMode BLENDMODE_MOD = SDL_BLENDMODE_MOD;
59
63constexpr BlendMode BLENDMODE_MUL = SDL_BLENDMODE_MUL;
64
65constexpr BlendMode BLENDMODE_INVALID = SDL_BLENDMODE_INVALID;
66
68
75using BlendOperation = SDL_BlendOperation;
76
78 SDL_BLENDOPERATION_ADD;
79
81constexpr BlendOperation BLENDOPERATION_SUBTRACT = SDL_BLENDOPERATION_SUBTRACT;
82
85 SDL_BLENDOPERATION_REV_SUBTRACT;
86
88constexpr BlendOperation BLENDOPERATION_MINIMUM = SDL_BLENDOPERATION_MINIMUM;
89
91constexpr BlendOperation BLENDOPERATION_MAXIMUM = SDL_BLENDOPERATION_MAXIMUM;
92
103using BlendFactor = SDL_BlendFactor;
104
105constexpr BlendFactor BLENDFACTOR_ZERO = SDL_BLENDFACTOR_ZERO;
106
107constexpr BlendFactor BLENDFACTOR_ONE = SDL_BLENDFACTOR_ONE;
108
110 SDL_BLENDFACTOR_SRC_COLOR;
111
113 SDL_BLENDFACTOR_ONE_MINUS_SRC_COLOR;
114
116 SDL_BLENDFACTOR_SRC_ALPHA;
117
119 SDL_BLENDFACTOR_ONE_MINUS_SRC_ALPHA;
120
122 SDL_BLENDFACTOR_DST_COLOR;
123
125 SDL_BLENDFACTOR_ONE_MINUS_DST_COLOR;
126
128 SDL_BLENDFACTOR_DST_ALPHA;
129
131 SDL_BLENDFACTOR_ONE_MINUS_DST_ALPHA;
132
221 BlendFactor dstColorFactor,
222 BlendOperation colorOperation,
223 BlendFactor srcAlphaFactor,
224 BlendFactor dstAlphaFactor,
225 BlendOperation alphaOperation)
226{
227 return SDL_ComposeCustomBlendMode(srcColorFactor,
228 dstColorFactor,
229 colorOperation,
230 srcAlphaFactor,
231 dstAlphaFactor,
232 alphaOperation);
233}
234
236
237} // namespace SDL
238
239#endif /* SDL3PP_BLENDMODE_H_ */
constexpr BlendFactor BLENDFACTOR_ZERO
0, 0, 0, 0
Definition: SDL3pp_blendmode.h:105
constexpr BlendMode BLENDMODE_MUL
color multiply: dstRGB = (srcRGB * dstRGB) + (dstRGB * (1-srcA)), dstA = dstA
Definition: SDL3pp_blendmode.h:63
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:58
SDL_BlendOperation BlendOperation
The blend operation used when combining source and destination pixel components.
Definition: SDL3pp_blendmode.h:75
SDL_BlendFactor BlendFactor
The normalized factor used to multiply pixel components.
Definition: SDL3pp_blendmode.h:103
constexpr BlendFactor BLENDFACTOR_DST_COLOR
dstR, dstG, dstB, dstA
Definition: SDL3pp_blendmode.h:121
constexpr BlendMode BLENDMODE_ADD_PREMULTIPLIED
pre-multiplied additive blending: dstRGB = srcRGB + dstRGB, dstA = dstA
Definition: SDL3pp_blendmode.h:54
constexpr BlendFactor BLENDFACTOR_ONE_MINUS_SRC_COLOR
1-srcR, 1-srcG, 1-srcB, 1-srcA
Definition: SDL3pp_blendmode.h:112
constexpr BlendOperation BLENDOPERATION_MINIMUM
min(dst, src) : supported by D3D, OpenGL, OpenGLES, and Vulkan
Definition: SDL3pp_blendmode.h:88
constexpr BlendMode BLENDMODE_NONE
no blending: dstRGBA = srcRGBA
Definition: SDL3pp_blendmode.h:37
constexpr BlendFactor BLENDFACTOR_SRC_COLOR
srcR, srcG, srcB, srcA
Definition: SDL3pp_blendmode.h:109
constexpr BlendFactor BLENDFACTOR_SRC_ALPHA
srcA, srcA, srcA, srcA
Definition: SDL3pp_blendmode.h:115
constexpr BlendMode BLENDMODE_ADD
additive blending: dstRGB = (srcRGB * srcA) + dstRGB, dstA = dstA
Definition: SDL3pp_blendmode.h:51
constexpr BlendMode BLENDMODE_BLEND
alpha blending: dstRGB = (srcRGB * srcA) + (dstRGB * (1-srcA)), dstA = srcA + (dstA * (1-srcA))
Definition: SDL3pp_blendmode.h:44
constexpr BlendFactor BLENDFACTOR_ONE_MINUS_DST_COLOR
1-dstR, 1-dstG, 1-dstB, 1-dstA
Definition: SDL3pp_blendmode.h:124
constexpr BlendFactor BLENDFACTOR_ONE_MINUS_SRC_ALPHA
1-srcA, 1-srcA, 1-srcA, 1-srcA
Definition: SDL3pp_blendmode.h:118
constexpr BlendMode BLENDMODE_INVALID
INVALID.
Definition: SDL3pp_blendmode.h:65
constexpr BlendOperation BLENDOPERATION_ADD
dst + src: supported by all renderers
Definition: SDL3pp_blendmode.h:77
constexpr BlendOperation BLENDOPERATION_SUBTRACT
src - dst : supported by D3D, OpenGL, OpenGLES, and Vulkan
Definition: SDL3pp_blendmode.h:81
constexpr BlendFactor BLENDFACTOR_DST_ALPHA
dstA, dstA, dstA, dstA
Definition: SDL3pp_blendmode.h:127
constexpr BlendMode BLENDMODE_BLEND_PREMULTIPLIED
pre-multiplied alpha blending: dstRGBA = srcRGBA + (dstRGBA * (1-srcA))
Definition: SDL3pp_blendmode.h:47
constexpr BlendFactor BLENDFACTOR_ONE_MINUS_DST_ALPHA
1-dstA, 1-dstA, 1-dstA, 1-dstA
Definition: SDL3pp_blendmode.h:130
constexpr BlendOperation BLENDOPERATION_REV_SUBTRACT
dst - src : supported by D3D, OpenGL, OpenGLES, and Vulkan
Definition: SDL3pp_blendmode.h:84
constexpr BlendFactor BLENDFACTOR_ONE
1, 1, 1, 1
Definition: SDL3pp_blendmode.h:107
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:220
constexpr BlendOperation BLENDOPERATION_MAXIMUM
max(dst, src) : supported by D3D, OpenGL, OpenGLES, and Vulkan
Definition: SDL3pp_blendmode.h:91
Uint32 Uint32
An unsigned 32-bit integer type.
Definition: SDL3pp_stdinc.h:325
Main include header for the SDL3pp library.