Fix color conversion to ensure proper type casting in SNES color functions
- Updated ConvertRgbToSnes function to use static_cast for color channel values, ensuring correct conversion to uint8_t. - Modified SnesColor constructor to apply static_cast for color channel values during initialization, improving accuracy in color representation.
This commit is contained in:
@@ -39,9 +39,9 @@ uint16_t ConvertRgbToSnes(const snes_color& color) {
|
||||
|
||||
uint16_t ConvertRgbToSnes(const ImVec4& color) {
|
||||
snes_color new_color;
|
||||
new_color.red = color.x * kColorByteMax;
|
||||
new_color.green = color.y * kColorByteMax;
|
||||
new_color.blue = color.z * kColorByteMax;
|
||||
new_color.red = static_cast<uint8_t>(color.x) * kColorByteMax;
|
||||
new_color.green = static_cast<uint8_t>(color.y) * kColorByteMax;
|
||||
new_color.blue = static_cast<uint8_t>(color.z) * kColorByteMax;
|
||||
return ConvertRgbToSnes(new_color);
|
||||
}
|
||||
|
||||
|
||||
@@ -42,9 +42,9 @@ class SnesColor {
|
||||
|
||||
constexpr explicit SnesColor(const ImVec4 val) : rgb_(val) {
|
||||
snes_color color;
|
||||
color.red = val.x / kColorByteMax;
|
||||
color.green = val.y / kColorByteMax;
|
||||
color.blue = val.z / kColorByteMax;
|
||||
color.red = static_cast<uint8_t>(val.x) / kColorByteMax;
|
||||
color.green = static_cast<uint8_t>(val.y) / kColorByteMax;
|
||||
color.blue = static_cast<uint8_t>(val.z) / kColorByteMax;
|
||||
snes_ = ConvertRgbToSnes(color);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user