Loading...
Searching...
No Matches
BlendMode.hpp
Go to the documentation of this file.
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
32
33
34namespace sf
35{
36
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
158
159} // namespace sf
160
161
162#endif // SFML_BLENDMODE_HPP
163
164
#define SFML_GRAPHICS_API
const BlendMode BlendMin
Take minimum between source and dest.
bool operator==(const IpAddress &left, const IpAddress &right)
Overload of == operator to compare two IP addresses.
const BlendMode BlendAlpha
Blend source and dest according to dest alpha.
const BlendMode BlendAdd
Add source to dest.
bool operator!=(const IpAddress &left, const IpAddress &right)
Overload of != operator to compare two IP addresses.
const BlendMode BlendMax
Take maximum between source and dest.
const BlendMode BlendNone
Overwrite dest with source.
const BlendMode BlendMultiply
Multiply source and dest.
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
@ Max
Pixel = max(Dst, Src)
Definition BlendMode.hpp:75
@ 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
@ OneMinusDstAlpha
(1, 1, 1, 1) - (dst.a, dst.a, dst.a, dst.a)
Definition BlendMode.hpp:60
@ 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