aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Geometry.h
diff options
context:
space:
mode:
authorNeil <nyamatongwe@gmail.com>2021-09-15 09:36:45 +1000
committerNeil <nyamatongwe@gmail.com>2021-09-15 09:36:45 +1000
commitd4a5d7d6955982496ba523a439fc98276a28e2d8 (patch)
treef9cd5e2a57e247dc59f47404cfea8469cc74b35c /src/Geometry.h
parentda71ace9e135d3494fafa7d67483ff1c217faa04 (diff)
downloadscintilla-mirror-d4a5d7d6955982496ba523a439fc98276a28e2d8.tar.gz
Move colour mixing implementations into implementation file.
Avoids some warnings but drops constexpr. Use MixedWith in PlatWin for GDI instead of local implementation. Add unit tests for Geometry.
Diffstat (limited to 'src/Geometry.h')
-rw-r--r--src/Geometry.h20
1 files changed, 2 insertions, 18 deletions
diff --git a/src/Geometry.h b/src/Geometry.h
index 28241c5a9..5a9b3e291 100644
--- a/src/Geometry.h
+++ b/src/Geometry.h
@@ -161,9 +161,6 @@ PRectangle PixelAlignOutside(const PRectangle &rc, int pixelDivisions) noexcept;
constexpr const float componentMaximum = 255.0f;
class ColourRGBA {
int co;
- constexpr static unsigned int Mixed(unsigned char a, unsigned char b, double proportion) noexcept {
- return static_cast<unsigned int>(a + proportion * (b - a));
- }
public:
constexpr explicit ColourRGBA(int co_ = 0) noexcept : co(co_) {
}
@@ -236,21 +233,8 @@ public:
return GetAlpha() == 0xff;
}
- constexpr ColourRGBA MixedWith(ColourRGBA other) const noexcept {
- const unsigned int red = (GetRed() + other.GetRed()) / 2;
- const unsigned int green = (GetGreen() + other.GetGreen()) / 2;
- const unsigned int blue = (GetBlue() + other.GetBlue()) / 2;
- const unsigned int alpha = (GetAlpha() + other.GetAlpha()) / 2;
- return ColourRGBA(red, green, blue, alpha);
- }
-
- constexpr ColourRGBA MixedWith(ColourRGBA other, double proportion) const noexcept {
- return ColourRGBA(
- Mixed(GetRed(), other.GetRed(), proportion),
- Mixed(GetGreen(), other.GetGreen(), proportion),
- Mixed(GetBlue(), other.GetBlue(), proportion),
- Mixed(GetAlpha(), other.GetAlpha(), proportion));
- }
+ ColourRGBA MixedWith(ColourRGBA other) const noexcept;
+ ColourRGBA MixedWith(ColourRGBA other, double proportion) const noexcept;
};
/**