@elextr

The problem is the use of binary floating point fractions to represent whole numbers with differing resolutions (a GdkColor has 16 bits per component, #RRGGBB has only 8)

Exactly. But GTK+ does this conversion as well — they too have a scale_round function, and they use the formula that is commented out in Geany.

the utils_scale_round was probably changed because the first equation does not handle out of range values.

The first equation is supposed to operate on doubles in the range of 0..1 (GDK’s internal representation, same as in GdkRGBA in GTK+3). We can force color->red to 0..1 with color->red / 65535.0.


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.