Windows Fix

This commit is contained in:
LordGrey 2024-05-31 17:55:40 +02:00
parent 1eed23f765
commit 77c9cf0302
3 changed files with 29 additions and 6 deletions

View File

@ -66,9 +66,9 @@ static ColorRgb getRgbFromTemperature(int temperature)
}
return {
static_cast<uint8_t>(qBound(0, red, UINT8_MAX)),
static_cast<uint8_t>(qBound(0, green, UINT8_MAX)),
static_cast<uint8_t>(qBound(0, blue, UINT8_MAX)),
static_cast<uint8_t>(qBound(0, red, static_cast<int>(UINT8_MAX))),
static_cast<uint8_t>(qBound(0, green, static_cast<int>(UINT8_MAX))),
static_cast<uint8_t>(qBound(0, blue, static_cast<int>(UINT8_MAX))),
};
}

View File

@ -1,8 +1,31 @@
#pragma once
#include <cstdint>
#include <limits>
#include <QList>
#define QSTRING_CSTR(str) str.toUtf8().constData()
typedef QList< int > QIntList;
// Undefine the max macro if it's defined (Windows-specific)
#ifdef max
#undef max
#endif
// Define your constexpr variable
constexpr uint32_t UINT8_MAX_SQUARED = static_cast<uint32_t>(std::numeric_limits<unsigned char>::max()) * static_cast<uint32_t>(std::numeric_limits<unsigned char>::max());
// Restore the max macro only if it was previously defined (Windows-specific)
#ifdef _MSC_VER
#define NOMINMAX // Prevent Windows.h from defining min and max macros
#endif
// Restore the max macro if needed (Windows-specific)
#ifdef _MSC_VER
#ifndef max
#define max(a,b) (((a) > (b)) ? (a) : (b))
#endif
#endif

View File

@ -62,9 +62,9 @@ void RgbChannelAdjustment::apply(uint8_t input, uint8_t brightness, uint8_t & re
if (!_initialized[input])
{
const int adjustedInput = static_cast<int>(_brightness * input / UINT8_MAX_SQUARED);
_mapping.red[input] = static_cast<quint8>(qBound(0, _adjust.red * adjustedInput, UINT8_MAX));
_mapping.green[input] = static_cast<quint8>(qBound(0 ,_adjust.green * adjustedInput, UINT8_MAX));
_mapping.blue[input] = static_cast<quint8>(qBound(0, _adjust.blue * adjustedInput, UINT8_MAX));
_mapping.red[input] = static_cast<quint8>(qBound(0, _adjust.red * adjustedInput, static_cast<int>(UINT8_MAX)));
_mapping.green[input] = static_cast<quint8>(qBound(0 ,_adjust.green * adjustedInput, static_cast<int>(UINT8_MAX)));
_mapping.blue[input] = static_cast<quint8>(qBound(0, _adjust.blue * adjustedInput, static_cast<int>(UINT8_MAX)));
_initialized[input] = true;
}
red = _mapping.red[input];