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
38 SDL_BLENDMODE_NONE;
39
44constexpr BlendMode BLENDMODE_BLEND = SDL_BLENDMODE_BLEND;
45
50 SDL_BLENDMODE_BLEND_PREMULTIPLIED;
51
55constexpr BlendMode BLENDMODE_ADD = SDL_BLENDMODE_ADD;
56
61 SDL_BLENDMODE_ADD_PREMULTIPLIED;
62
66constexpr BlendMode BLENDMODE_MOD = SDL_BLENDMODE_MOD;
67
71constexpr BlendMode BLENDMODE_MUL = SDL_BLENDMODE_MUL;
72
73constexpr BlendMode BLENDMODE_INVALID = SDL_BLENDMODE_INVALID;
74
76
83using BlendOperation = SDL_BlendOperation;
84
86 SDL_BLENDOPERATION_ADD;
87
91constexpr BlendOperation BLENDOPERATION_SUBTRACT = SDL_BLENDOPERATION_SUBTRACT;
92
97 SDL_BLENDOPERATION_REV_SUBTRACT;
98
102constexpr BlendOperation BLENDOPERATION_MINIMUM = SDL_BLENDOPERATION_MINIMUM;
103
107constexpr BlendOperation BLENDOPERATION_MAXIMUM = SDL_BLENDOPERATION_MAXIMUM;
108
119using BlendFactor = SDL_BlendFactor;
120
121constexpr BlendFactor BLENDFACTOR_ZERO = SDL_BLENDFACTOR_ZERO;
122
123constexpr BlendFactor BLENDFACTOR_ONE = SDL_BLENDFACTOR_ONE;
124
126 SDL_BLENDFACTOR_SRC_COLOR;
127
129 SDL_BLENDFACTOR_ONE_MINUS_SRC_COLOR;
130
132 SDL_BLENDFACTOR_SRC_ALPHA;
133
135 SDL_BLENDFACTOR_ONE_MINUS_SRC_ALPHA;
136
138 SDL_BLENDFACTOR_DST_COLOR;
139
141 SDL_BLENDFACTOR_ONE_MINUS_DST_COLOR;
142
144 SDL_BLENDFACTOR_DST_ALPHA;
145
147 SDL_BLENDFACTOR_ONE_MINUS_DST_ALPHA;
148
236 BlendFactor dstColorFactor,
237 BlendOperation colorOperation,
238 BlendFactor srcAlphaFactor,
239 BlendFactor dstAlphaFactor,
240 BlendOperation alphaOperation)
241{
242 return SDL_ComposeCustomBlendMode(srcColorFactor,
243 dstColorFactor,
244 colorOperation,
245 srcAlphaFactor,
246 dstAlphaFactor,
247 alphaOperation);
248}
251} // namespace SDL
252
253#endif /* SDL3PP_BLENDMODE_H_ */
constexpr BlendFactor BLENDFACTOR_ZERO
0, 0, 0, 0
Definition SDL3pp_blendmode.h:121
constexpr BlendMode BLENDMODE_MUL
color multiply: dstRGB = (srcRGB * dstRGB) + (dstRGB * (1-srcA)), dstA = dstA
Definition SDL3pp_blendmode.h:71
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:66
SDL_BlendOperation BlendOperation
The blend operation used when combining source and destination pixel components.
Definition SDL3pp_blendmode.h:83
SDL_BlendFactor BlendFactor
The normalized factor used to multiply pixel components.
Definition SDL3pp_blendmode.h:119
constexpr BlendFactor BLENDFACTOR_DST_COLOR
dstR, dstG, dstB, dstA
Definition SDL3pp_blendmode.h:137
constexpr BlendMode BLENDMODE_ADD_PREMULTIPLIED
pre-multiplied additive blending: dstRGB = srcRGB + dstRGB, dstA = dstA
Definition SDL3pp_blendmode.h:60
constexpr BlendFactor BLENDFACTOR_ONE_MINUS_SRC_COLOR
1-srcR, 1-srcG, 1-srcB, 1-srcA
Definition SDL3pp_blendmode.h:128
constexpr BlendOperation BLENDOPERATION_MINIMUM
min(dst, src) : supported by D3D, OpenGL, OpenGLES, and Vulkan
Definition SDL3pp_blendmode.h:102
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:125
constexpr BlendFactor BLENDFACTOR_SRC_ALPHA
srcA, srcA, srcA, srcA
Definition SDL3pp_blendmode.h:131
constexpr BlendMode BLENDMODE_ADD
additive blending: dstRGB = (srcRGB * srcA) + dstRGB, dstA = dstA
Definition SDL3pp_blendmode.h:55
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:140
constexpr BlendFactor BLENDFACTOR_ONE_MINUS_SRC_ALPHA
1-srcA, 1-srcA, 1-srcA, 1-srcA
Definition SDL3pp_blendmode.h:134
constexpr BlendMode BLENDMODE_INVALID
INVALID.
Definition SDL3pp_blendmode.h:73
constexpr BlendOperation BLENDOPERATION_ADD
dst + src: supported by all renderers
Definition SDL3pp_blendmode.h:85
constexpr BlendOperation BLENDOPERATION_SUBTRACT
src - dst : supported by D3D, OpenGL, OpenGLES, and Vulkan
Definition SDL3pp_blendmode.h:91
constexpr BlendFactor BLENDFACTOR_DST_ALPHA
dstA, dstA, dstA, dstA
Definition SDL3pp_blendmode.h:143
constexpr BlendMode BLENDMODE_BLEND_PREMULTIPLIED
pre-multiplied alpha blending: dstRGBA = srcRGBA + (dstRGBA * (1-srcA))
Definition SDL3pp_blendmode.h:49
constexpr BlendFactor BLENDFACTOR_ONE_MINUS_DST_ALPHA
1-dstA, 1-dstA, 1-dstA, 1-dstA
Definition SDL3pp_blendmode.h:146
constexpr BlendOperation BLENDOPERATION_REV_SUBTRACT
dst - src : supported by D3D, OpenGL, OpenGLES, and Vulkan
Definition SDL3pp_blendmode.h:96
constexpr BlendFactor BLENDFACTOR_ONE
1, 1, 1, 1
Definition SDL3pp_blendmode.h:123
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:235
constexpr BlendOperation BLENDOPERATION_MAXIMUM
max(dst, src) : supported by D3D, OpenGL, OpenGLES, and Vulkan
Definition SDL3pp_blendmode.h:107
the main namespace where all SDL3pp public functions and types live
Definition SDL3pp_assert.h:7