From 6bafaeee6ff54913e9282b0910cd52a28651c134 Mon Sep 17 00:00:00 2001 From: Paul Cornett Date: Sun, 19 Apr 2020 10:10:55 -0700 Subject: [PATCH] Round GdkRGBA color values when converting to GdkColor Should be slightly more accurate, and may avoid discrepancies when converting wxColour to wxString and back again --- src/gtk/colour.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/gtk/colour.cpp b/src/gtk/colour.cpp index 5f99b1897b..22185e027d 100644 --- a/src/gtk/colour.cpp +++ b/src/gtk/colour.cpp @@ -13,6 +13,7 @@ #include #include "wx/gtk/private.h" +#include "wx/math.h" //----------------------------------------------------------------------------- // wxColour @@ -25,10 +26,10 @@ public: wxColourRefData(const GdkRGBA& gdkRGBA) : m_gdkRGBA(gdkRGBA) { - m_gdkColor.red = guint16(gdkRGBA.red * 65535); - m_gdkColor.green = guint16(gdkRGBA.green * 65535); - m_gdkColor.blue = guint16(gdkRGBA.blue * 65535); - m_alpha = wxByte(gdkRGBA.alpha * 255 + 0.5); + m_gdkColor.red = guint16(wxRound(gdkRGBA.red * 65535)); + m_gdkColor.green = guint16(wxRound(gdkRGBA.green * 65535)); + m_gdkColor.blue = guint16(wxRound(gdkRGBA.blue * 65535)); + m_alpha = wxByte(wxRound(gdkRGBA.alpha * 255)); } wxColourRefData(const GdkColor& gdkColor) : m_gdkColor(gdkColor)