SDL  2.0
SDL_blendmode.h File Reference
#include "begin_code.h"
#include "close_code.h"
+ Include dependency graph for SDL_blendmode.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Enumerations

enum  SDL_BlendMode {
  SDL_BLENDMODE_NONE = 0x00000000,
  SDL_BLENDMODE_BLEND = 0x00000001,
  SDL_BLENDMODE_ADD = 0x00000002,
  SDL_BLENDMODE_MOD = 0x00000004,
  SDL_BLENDMODE_MUL = 0x00000008,
  SDL_BLENDMODE_INVALID = 0x7FFFFFFF
}
 The blend mode used in SDL_RenderCopy() and drawing operations. More...
 
enum  SDL_BlendOperation {
  SDL_BLENDOPERATION_ADD = 0x1,
  SDL_BLENDOPERATION_SUBTRACT = 0x2,
  SDL_BLENDOPERATION_REV_SUBTRACT = 0x3,
  SDL_BLENDOPERATION_MINIMUM = 0x4,
  SDL_BLENDOPERATION_MAXIMUM = 0x5
}
 The blend operation used when combining source and destination pixel components. More...
 
enum  SDL_BlendFactor {
  SDL_BLENDFACTOR_ZERO = 0x1,
  SDL_BLENDFACTOR_ONE = 0x2,
  SDL_BLENDFACTOR_SRC_COLOR = 0x3,
  SDL_BLENDFACTOR_ONE_MINUS_SRC_COLOR = 0x4,
  SDL_BLENDFACTOR_SRC_ALPHA = 0x5,
  SDL_BLENDFACTOR_ONE_MINUS_SRC_ALPHA = 0x6,
  SDL_BLENDFACTOR_DST_COLOR = 0x7,
  SDL_BLENDFACTOR_ONE_MINUS_DST_COLOR = 0x8,
  SDL_BLENDFACTOR_DST_ALPHA = 0x9,
  SDL_BLENDFACTOR_ONE_MINUS_DST_ALPHA = 0xA
}
 The normalized factor used to multiply pixel components. More...
 

Functions

SDL_BlendMode SDL_ComposeCustomBlendMode (SDL_BlendFactor srcColorFactor, SDL_BlendFactor dstColorFactor, SDL_BlendOperation colorOperation, SDL_BlendFactor srcAlphaFactor, SDL_BlendFactor dstAlphaFactor, SDL_BlendOperation alphaOperation)
 Create a custom blend mode, which may or may not be supported by a given renderer. More...
 

Detailed Description

Header file declaring the SDL_BlendMode enumeration

Definition in file SDL_blendmode.h.

Enumeration Type Documentation

◆ SDL_BlendFactor

The normalized factor used to multiply pixel components.

Enumerator
SDL_BLENDFACTOR_ZERO 

0, 0, 0, 0

SDL_BLENDFACTOR_ONE 

1, 1, 1, 1

SDL_BLENDFACTOR_SRC_COLOR 

srcR, srcG, srcB, srcA

SDL_BLENDFACTOR_ONE_MINUS_SRC_COLOR 

1-srcR, 1-srcG, 1-srcB, 1-srcA

SDL_BLENDFACTOR_SRC_ALPHA 

srcA, srcA, srcA, srcA

SDL_BLENDFACTOR_ONE_MINUS_SRC_ALPHA 

1-srcA, 1-srcA, 1-srcA, 1-srcA

SDL_BLENDFACTOR_DST_COLOR 

dstR, dstG, dstB, dstA

SDL_BLENDFACTOR_ONE_MINUS_DST_COLOR 

1-dstR, 1-dstG, 1-dstB, 1-dstA

SDL_BLENDFACTOR_DST_ALPHA 

dstA, dstA, dstA, dstA

SDL_BLENDFACTOR_ONE_MINUS_DST_ALPHA 

1-dstA, 1-dstA, 1-dstA, 1-dstA

Definition at line 78 of file SDL_blendmode.h.

79 {
80  SDL_BLENDFACTOR_ZERO = 0x1, /**< 0, 0, 0, 0 */
81  SDL_BLENDFACTOR_ONE = 0x2, /**< 1, 1, 1, 1 */
82  SDL_BLENDFACTOR_SRC_COLOR = 0x3, /**< srcR, srcG, srcB, srcA */
83  SDL_BLENDFACTOR_ONE_MINUS_SRC_COLOR = 0x4, /**< 1-srcR, 1-srcG, 1-srcB, 1-srcA */
84  SDL_BLENDFACTOR_SRC_ALPHA = 0x5, /**< srcA, srcA, srcA, srcA */
85  SDL_BLENDFACTOR_ONE_MINUS_SRC_ALPHA = 0x6, /**< 1-srcA, 1-srcA, 1-srcA, 1-srcA */
86  SDL_BLENDFACTOR_DST_COLOR = 0x7, /**< dstR, dstG, dstB, dstA */
87  SDL_BLENDFACTOR_ONE_MINUS_DST_COLOR = 0x8, /**< 1-dstR, 1-dstG, 1-dstB, 1-dstA */
88  SDL_BLENDFACTOR_DST_ALPHA = 0x9, /**< dstA, dstA, dstA, dstA */
89  SDL_BLENDFACTOR_ONE_MINUS_DST_ALPHA = 0xA /**< 1-dstA, 1-dstA, 1-dstA, 1-dstA */
90 
SDL_BlendFactor
The normalized factor used to multiply pixel components.
Definition: SDL_blendmode.h:78

◆ SDL_BlendMode

The blend mode used in SDL_RenderCopy() and drawing operations.

Enumerator
SDL_BLENDMODE_NONE 

no blending dstRGBA = srcRGBA

SDL_BLENDMODE_BLEND 

alpha blending dstRGB = (srcRGB * srcA) + (dstRGB * (1-srcA)) dstA = srcA + (dstA * (1-srcA))

SDL_BLENDMODE_ADD 

additive blending dstRGB = (srcRGB * srcA) + dstRGB dstA = dstA

SDL_BLENDMODE_MOD 

color modulate dstRGB = srcRGB * dstRGB dstA = dstA

SDL_BLENDMODE_MUL 

color multiply dstRGB = (srcRGB * dstRGB) + (dstRGB * (1-srcA)) dstA = (srcA * dstA) + (dstA * (1-srcA))

SDL_BLENDMODE_INVALID 

Definition at line 40 of file SDL_blendmode.h.

41 {
42  SDL_BLENDMODE_NONE = 0x00000000, /**< no blending
43  dstRGBA = srcRGBA */
44  SDL_BLENDMODE_BLEND = 0x00000001, /**< alpha blending
45  dstRGB = (srcRGB * srcA) + (dstRGB * (1-srcA))
46  dstA = srcA + (dstA * (1-srcA)) */
47  SDL_BLENDMODE_ADD = 0x00000002, /**< additive blending
48  dstRGB = (srcRGB * srcA) + dstRGB
49  dstA = dstA */
50  SDL_BLENDMODE_MOD = 0x00000004, /**< color modulate
51  dstRGB = srcRGB * dstRGB
52  dstA = dstA */
53  SDL_BLENDMODE_MUL = 0x00000008, /**< color multiply
54  dstRGB = (srcRGB * dstRGB) + (dstRGB * (1-srcA))
55  dstA = (srcA * dstA) + (dstA * (1-srcA)) */
56  SDL_BLENDMODE_INVALID = 0x7FFFFFFF
57 
58  /* Additional custom blend modes can be returned by SDL_ComposeCustomBlendMode() */
59 
SDL_BlendMode
The blend mode used in SDL_RenderCopy() and drawing operations.
Definition: SDL_blendmode.h:40

◆ SDL_BlendOperation

The blend operation used when combining source and destination pixel components.

Enumerator
SDL_BLENDOPERATION_ADD 

dst + src: supported by all renderers

SDL_BLENDOPERATION_SUBTRACT 

dst - src : supported by D3D9, D3D11, OpenGL, OpenGLES

SDL_BLENDOPERATION_REV_SUBTRACT 

src - dst : supported by D3D9, D3D11, OpenGL, OpenGLES

SDL_BLENDOPERATION_MINIMUM 

min(dst, src) : supported by D3D11

SDL_BLENDOPERATION_MAXIMUM 

max(dst, src) : supported by D3D11

Definition at line 65 of file SDL_blendmode.h.

66 {
67  SDL_BLENDOPERATION_ADD = 0x1, /**< dst + src: supported by all renderers */
68  SDL_BLENDOPERATION_SUBTRACT = 0x2, /**< dst - src : supported by D3D9, D3D11, OpenGL, OpenGLES */
69  SDL_BLENDOPERATION_REV_SUBTRACT = 0x3, /**< src - dst : supported by D3D9, D3D11, OpenGL, OpenGLES */
70  SDL_BLENDOPERATION_MINIMUM = 0x4, /**< min(dst, src) : supported by D3D11 */
71  SDL_BLENDOPERATION_MAXIMUM = 0x5 /**< max(dst, src) : supported by D3D11 */
72 
SDL_BlendOperation
The blend operation used when combining source and destination pixel components.
Definition: SDL_blendmode.h:65

Function Documentation

◆ SDL_ComposeCustomBlendMode()

SDL_BlendMode SDL_ComposeCustomBlendMode ( SDL_BlendFactor  srcColorFactor,
SDL_BlendFactor  dstColorFactor,
SDL_BlendOperation  colorOperation,
SDL_BlendFactor  srcAlphaFactor,
SDL_BlendFactor  dstAlphaFactor,
SDL_BlendOperation  alphaOperation 
)

Create a custom blend mode, which may or may not be supported by a given renderer.

Parameters
srcColorFactorsource color factor
dstColorFactordestination color factor
colorOperationcolor operation
srcAlphaFactorsource alpha factor
dstAlphaFactordestination alpha factor
alphaOperationalpha operation

The result of the blend mode operation will be: dstRGB = dstRGB * dstColorFactor colorOperation srcRGB * srcColorFactor and dstA = dstA * dstAlphaFactor alphaOperation srcA * srcAlphaFactor