Documentation of SFML 2.6.1

Loading...
Searching...
No Matches
BlendMode.hpp
1
2//
3// SFML - Simple and Fast Multimedia Library
4// Copyright (C) 2007-2023 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#ifndef SFML_BLENDMODE_HPP
26#define SFML_BLENDMODE_HPP
27
29// Headers
31#include <SFML/Graphics/Export.hpp>
32
33
34namespace sf
35{
36
41struct SFML_GRAPHICS_API BlendMode
42{
62
77
85
97 BlendMode(Factor sourceFactor, Factor destinationFactor, Equation blendEquation = Add);
98
110 BlendMode(Factor colorSourceFactor, Factor colorDestinationFactor,
111 Equation colorBlendEquation, Factor alphaSourceFactor,
112 Factor alphaDestinationFactor, Equation alphaBlendEquation);
113
115 // Member Data
123};
124
135SFML_GRAPHICS_API bool operator ==(const BlendMode& left, const BlendMode& right);
136
147SFML_GRAPHICS_API bool operator !=(const BlendMode& left, const BlendMode& right);
148
150// Commonly used blending modes
152SFML_GRAPHICS_API extern const BlendMode BlendAlpha;
153SFML_GRAPHICS_API extern const BlendMode BlendAdd;
154SFML_GRAPHICS_API extern const BlendMode BlendMultiply;
155SFML_GRAPHICS_API extern const BlendMode BlendMin;
156SFML_GRAPHICS_API extern const BlendMode BlendMax;
157SFML_GRAPHICS_API extern const BlendMode BlendNone;
158
159} // namespace sf
160
161
162#endif // SFML_BLENDMODE_HPP
163
164
Blending modes for drawing.
Definition BlendMode.hpp:42
BlendMode(Factor sourceFactor, Factor destinationFactor, Equation blendEquation=Add)
Construct the blend mode given the factors and equation.
Factor colorSrcFactor
Source blending factor for the color channels.
Equation alphaEquation
Blending equation for the alpha channel.
BlendMode(Factor colorSourceFactor, Factor colorDestinationFactor, Equation colorBlendEquation, Factor alphaSourceFactor, Factor alphaDestinationFactor, Equation alphaBlendEquation)
Construct the blend mode given the factors and equation.
Equation
Enumeration of the blending equations.
Definition BlendMode.hpp:70
@ Subtract
Pixel = Src * SrcFactor - Dst * DstFactor.
Definition BlendMode.hpp:72
@ ReverseSubtract
Pixel = Dst * DstFactor - Src * SrcFactor.
Definition BlendMode.hpp:73
@ Add
Pixel = Src * SrcFactor + Dst * DstFactor.
Definition BlendMode.hpp:71
@ Min
Pixel = min(Dst, Src)
Definition BlendMode.hpp:74
BlendMode()
Default constructor.
Factor alphaSrcFactor
Source blending factor for the alpha channel.
Factor alphaDstFactor
Destination blending factor for the alpha channel.
Factor colorDstFactor
Destination blending factor for the color channels.
Equation colorEquation
Blending equation for the color channels.
Factor
Enumeration of the blending factors.
Definition BlendMode.hpp:50
@ DstColor
(dst.r, dst.g, dst.b, dst.a)
Definition BlendMode.hpp:55
@ OneMinusSrcColor
(1, 1, 1, 1) - (src.r, src.g, src.b, src.a)
Definition BlendMode.hpp:54
@ DstAlpha
(dst.a, dst.a, dst.a, dst.a)
Definition BlendMode.hpp:59
@ One
(1, 1, 1, 1)
Definition BlendMode.hpp:52
@ OneMinusSrcAlpha
(1, 1, 1, 1) - (src.a, src.a, src.a, src.a)
Definition BlendMode.hpp:58
@ SrcAlpha
(src.a, src.a, src.a, src.a)
Definition BlendMode.hpp:57
@ OneMinusDstColor
(1, 1, 1, 1) - (dst.r, dst.g, dst.b, dst.a)
Definition BlendMode.hpp:56
@ SrcColor
(src.r, src.g, src.b, src.a)
Definition BlendMode.hpp:53
@ Zero
(0, 0, 0, 0)
Definition BlendMode.hpp:51