5#ifndef MARBLE_BLENDING_ALGORITHMS_H
6#define MARBLE_BLENDING_ALGORITHMS_H
15class OverpaintBlending:
public Blending
18 void blend(
QImage *
const bottom, TextureTile
const *
const top )
const override;
21class IndependentChannelBlending:
public Blending
24 void blend(
QImage *
const bottom, TextureTile
const *
const top )
const override;
30 virtual qreal blendChannel( qreal
const bottomColorIntensity,
31 qreal
const topColorIntensity )
const = 0;
37class AllanonBlending:
public IndependentChannelBlending
39 qreal blendChannel( qreal
const bottomColorIntensity,
40 qreal
const topColorIntensity )
const override;
43class ArcusTangentBlending:
public IndependentChannelBlending
45 qreal blendChannel( qreal
const bottomColorIntensity,
46 qreal
const topColorIntensity )
const override;
49class GeometricMeanBlending:
public IndependentChannelBlending
51 qreal blendChannel( qreal
const bottomColorIntensity,
52 qreal
const topColorIntensity )
const override;
55class LinearLightBlending:
public IndependentChannelBlending
57 qreal blendChannel( qreal
const bottomColorIntensity,
58 qreal
const topColorIntensity )
const override;
61class NoiseBlending:
public Blending
65class OverlayBlending:
public IndependentChannelBlending
67 qreal blendChannel( qreal
const bottomColorIntensity,
68 qreal
const topColorIntensity )
const override;
71class ParallelBlending:
public IndependentChannelBlending
73 qreal blendChannel( qreal
const bottomColorIntensity,
74 qreal
const topColorIntensity )
const override;
77class TextureBlending:
public IndependentChannelBlending
79 qreal blendChannel( qreal
const bottomColorIntensity,
80 qreal
const topColorIntensity )
const override;
86class ColorBurnBlending:
public IndependentChannelBlending
88 qreal blendChannel( qreal
const bottomColorIntensity,
89 qreal
const topColorIntensity )
const override;
92class DarkBlending:
public IndependentChannelBlending
94 qreal blendChannel( qreal
const bottomColorIntensity,
95 qreal
const topColorIntensity )
const override;
98class DarkenBlending:
public IndependentChannelBlending
100 qreal blendChannel( qreal
const bottomColorIntensity,
101 qreal
const topColorIntensity )
const override;
104class DivideBlending:
public IndependentChannelBlending
106 qreal blendChannel( qreal
const bottomColorIntensity,
107 qreal
const topColorIntensity )
const override;
110class GammaDarkBlending:
public IndependentChannelBlending
112 qreal blendChannel( qreal
const bottomColorIntensity,
113 qreal
const topColorIntensity )
const override;
116class LinearBurnBlending:
public IndependentChannelBlending
118 qreal blendChannel( qreal
const bottomColorIntensity,
119 qreal
const topColorIntensity )
const override;
122class MultiplyBlending:
public IndependentChannelBlending
124 qreal blendChannel( qreal
const bottomColorIntensity,
125 qreal
const topColorIntensity )
const override;
128class SubtractiveBlending:
public IndependentChannelBlending
130 qreal blendChannel( qreal
const bottomColorIntensity,
131 qreal
const topColorIntensity )
const override;
137class AdditiveBlending:
public IndependentChannelBlending
139 qreal blendChannel( qreal
const bottomColorIntensity,
140 qreal
const topColorIntensity )
const override;
143class ColorDodgeBlending:
public IndependentChannelBlending
145 qreal blendChannel( qreal
const bottomColorIntensity,
146 qreal
const topColorIntensity )
const override;
149class GammaLightBlending:
public IndependentChannelBlending
151 qreal blendChannel( qreal
const bottomColorIntensity,
152 qreal
const topColorIntensity )
const override;
155class HardLightBlending:
public IndependentChannelBlending
157 qreal blendChannel( qreal
const bottomColorIntensity,
158 qreal
const topColorIntensity )
const override;
161class LightBlending:
public IndependentChannelBlending
163 qreal blendChannel( qreal
const bottomColorIntensity,
164 qreal
const topColorIntensity )
const override;
167class LightenBlending:
public IndependentChannelBlending
169 qreal blendChannel( qreal
const bottomColorIntensity,
170 qreal
const topColorIntensity )
const override;
173class PinLightBlending:
public IndependentChannelBlending
175 qreal blendChannel( qreal
const bottomColorIntensity,
176 qreal
const topColorIntensity )
const override;
179class ScreenBlending:
public IndependentChannelBlending
181 qreal blendChannel( qreal
const bottomColorIntensity,
182 qreal
const topColorIntensity )
const override;
185class SoftLightBlending:
public IndependentChannelBlending
187 qreal blendChannel( qreal
const bottomColorIntensity,
188 qreal
const topColorIntensity )
const override;
191class VividLightBlending:
public IndependentChannelBlending
193 qreal blendChannel( qreal
const bottomColorIntensity,
194 qreal
const topColorIntensity )
const override;
200class AdditiveSubtractiveBlending:
public IndependentChannelBlending
202 qreal blendChannel( qreal
const bottomColorIntensity,
203 qreal
const topColorIntensity )
const override;
206class BleachBlending:
public IndependentChannelBlending
208 qreal blendChannel( qreal
const bottomColorIntensity,
209 qreal
const topColorIntensity )
const override;
212class DifferenceBlending:
public IndependentChannelBlending
214 qreal blendChannel( qreal
const bottomColorIntensity,
215 qreal
const topColorIntensity )
const override;
218class EquivalenceBlending:
public IndependentChannelBlending
220 qreal blendChannel( qreal
const bottomColorIntensity,
221 qreal
const topColorIntensity )
const override;
224class HalfDifferenceBlending:
public IndependentChannelBlending
226 qreal blendChannel( qreal
const bottomColorIntensity,
227 qreal
const topColorIntensity )
const override;
233class CloudsBlending:
public Blending
236 void blend(
QImage *
const bottom, TextureTile
const *
const top )
const override;
239class GrayscaleBlending:
public Blending
242 void blend(
QImage *
const bottom, TextureTile
const *
const top )
const override;
245class InvertColorBlending:
public Blending
248 void blend(
QImage *
const bottom, TextureTile
const *
const top )
const override;
251class InvertHueBlending:
public Blending
254 void blend(
QImage *
const bottom, TextureTile
const *
const top )
const override;
Binds a QML item to a specific geodetic location in screen coordinates.