CSFML 3.0.0
Loading...
Searching...
No Matches
BlendMode.h
Go to the documentation of this file.
1
2//
3// SFML - Simple and Fast Multimedia Library
4// Copyright (C) 2007-2024 Laurent Gomila (laurent@sfml-dev.org)
5//
6// This software is provided 'as-is', without any express or implied warranty.
7// In no event will the authors be held liable for any damages arising from the use of this software.
8//
9// Permission is granted to anyone to use this software for any purpose,
10// including commercial applications, and to alter it and redistribute it freely,
11// subject to the following restrictions:
12//
13// 1. The origin of this software must not be misrepresented;
14// you must not claim that you wrote the original software.
15// If you use this software in a product, an acknowledgment
16// in the product documentation would be appreciated but is not required.
17//
18// 2. Altered source versions must be plainly marked as such,
19// and must not be misrepresented as being the original software.
20//
21// 3. This notice may not be removed or altered from any source distribution.
22//
24
25#pragma once
26
28// Headers
30#include <CSFML/Graphics/Export.h>
31
32
37 typedef enum
38{
39 sfBlendFactorZero,
40 sfBlendFactorOne,
41 sfBlendFactorSrcColor,
42 sfBlendFactorOneMinusSrcColor,
43 sfBlendFactorDstColor,
44 sfBlendFactorOneMinusDstColor,
45 sfBlendFactorSrcAlpha,
46 sfBlendFactorOneMinusSrcAlpha,
47 sfBlendFactorDstAlpha,
48 sfBlendFactorOneMinusDstAlpha
49} sfBlendFactor;
50
51
56 typedef enum
57{
58 sfBlendEquationAdd,
59 sfBlendEquationSubtract,
60 sfBlendEquationReverseSubtract,
61 sfBlendEquationMin,
62 sfBlendEquationMax
63} sfBlendEquation;
64
65
70 typedef struct
71{
72 sfBlendFactor colorSrcFactor;
73 sfBlendFactor colorDstFactor;
74 sfBlendEquation colorEquation;
75 sfBlendFactor alphaSrcFactor;
76 sfBlendFactor alphaDstFactor;
77 sfBlendEquation alphaEquation;
78} sfBlendMode;
79
80
81 CSFML_GRAPHICS_API const sfBlendMode sfBlendAlpha;
82 CSFML_GRAPHICS_API const sfBlendMode sfBlendAdd;
83 CSFML_GRAPHICS_API const sfBlendMode sfBlendMultiply;
84 CSFML_GRAPHICS_API const sfBlendMode sfBlendMin;
85 CSFML_GRAPHICS_API const sfBlendMode sfBlendMax;
86 CSFML_GRAPHICS_API const sfBlendMode sfBlendNone;
sfBlendAlpha
const sfBlendMode sfBlendAlpha
Blend source and dest according to dest alpha.
Definition BlendMode.h:81
sfBlendMax
const sfBlendMode sfBlendMax
Take maximum between source and dest.
Definition BlendMode.h:85
sfBlendFactor
sfBlendFactor
Enumeration of the blending factors.
Definition BlendMode.h:38
sfBlendFactorDstAlpha
@ sfBlendFactorDstAlpha
(dst.a, dst.a, dst.a, dst.a)
Definition BlendMode.h:47
sfBlendFactorOneMinusSrcAlpha
@ sfBlendFactorOneMinusSrcAlpha
(1, 1, 1, 1) - (src.a, src.a, src.a, src.a)
Definition BlendMode.h:46
sfBlendFactorSrcColor
@ sfBlendFactorSrcColor
(src.r, src.g, src.b, src.a)
Definition BlendMode.h:41
sfBlendFactorOneMinusDstColor
@ sfBlendFactorOneMinusDstColor
(1, 1, 1, 1) - (dst.r, dst.g, dst.b, dst.a)
Definition BlendMode.h:44
sfBlendFactorOne
@ sfBlendFactorOne
(1, 1, 1, 1)
Definition BlendMode.h:40
sfBlendFactorOneMinusDstAlpha
@ sfBlendFactorOneMinusDstAlpha
(1, 1, 1, 1) - (dst.a, dst.a, dst.a, dst.a)
Definition BlendMode.h:48
sfBlendFactorDstColor
@ sfBlendFactorDstColor
(dst.r, dst.g, dst.b, dst.a)
Definition BlendMode.h:43
sfBlendFactorSrcAlpha
@ sfBlendFactorSrcAlpha
(src.a, src.a, src.a, src.a)
Definition BlendMode.h:45
sfBlendFactorOneMinusSrcColor
@ sfBlendFactorOneMinusSrcColor
(1, 1, 1, 1) - (src.r, src.g, src.b, src.a)
Definition BlendMode.h:42
sfBlendFactorZero
@ sfBlendFactorZero
(0, 0, 0, 0)
Definition BlendMode.h:39
sfBlendAdd
const sfBlendMode sfBlendAdd
Add source to dest.
Definition BlendMode.h:82
sfBlendNone
const sfBlendMode sfBlendNone
Overwrite dest with source.
Definition BlendMode.h:86
sfBlendEquation
sfBlendEquation
Enumeration of the blending equations.
Definition BlendMode.h:57
sfBlendEquationMin
@ sfBlendEquationMin
Pixel = min(Dst, Src)
Definition BlendMode.h:61
sfBlendEquationMax
@ sfBlendEquationMax
Pixel = max(Dst, Src)
Definition BlendMode.h:62
sfBlendEquationSubtract
@ sfBlendEquationSubtract
Pixel = Src * SrcFactor - Dst * DstFactor.
Definition BlendMode.h:59
sfBlendEquationReverseSubtract
@ sfBlendEquationReverseSubtract
Pixel = Dst * DstFactor - Src * SrcFactor.
Definition BlendMode.h:60
sfBlendEquationAdd
@ sfBlendEquationAdd
Pixel = Src * SrcFactor + Dst * DstFactor.
Definition BlendMode.h:58
sfBlendMultiply
const sfBlendMode sfBlendMultiply
Multiply source and dest.
Definition BlendMode.h:83
sfBlendMin
const sfBlendMode sfBlendMin
Take minimum between source and dest.
Definition BlendMode.h:84
Export.h
CSFML_GRAPHICS_API
#define CSFML_GRAPHICS_API
Definition Graphics/Export.h:42
sfBlendMode
Blending mode for drawing.
Definition BlendMode.h:71
sfBlendMode::colorDstFactor
sfBlendFactor colorDstFactor
Destination blending factor for the color channels.
Definition BlendMode.h:73
sfBlendMode::alphaDstFactor
sfBlendFactor alphaDstFactor
Destination blending factor for the alpha channel.
Definition BlendMode.h:76
sfBlendMode::alphaEquation
sfBlendEquation alphaEquation
Blending equation for the alpha channel.
Definition BlendMode.h:77
sfBlendMode::alphaSrcFactor
sfBlendFactor alphaSrcFactor
Source blending factor for the alpha channel.
Definition BlendMode.h:75
sfBlendMode::colorSrcFactor
sfBlendFactor colorSrcFactor
Source blending factor for the color channels.
Definition BlendMode.h:72
sfBlendMode::colorEquation
sfBlendEquation colorEquation
Blending equation for the color channels.
Definition BlendMode.h:74