[Geany-Devel] Mistake in utils_invert_color

Colomban Wendling lists.ban at xxxxx
Wed Oct 30 21:03:56 UTC 2013


Hi,

Le 30/10/2013 21:10, Volodymyr Kononenko a écrit :
> While playing with colors for pairtaghighlighter plugin, I saw that
> Scintilla is using BGR instead of normal RGB. I found existing code in
> Geany source to use it in my plugin.
> 
> utils_invert_color from utils.c deals with replacing blue with red, but
> with mistake.
> 
> Below are results of my testing with random color:
> 11111111 11001100 10011001 - input color
> 10011001 11001100 11111111 - result of my function (rgb2bgr)
> 00000000 00110011 01100110 - result of utils_invert_color

utils_invert_color() *inverts* a color, it doesn't transform RGB to BGR
or something.  It's used e.g. in the "invert syntax highlighting colors"
feature.  It's basically the C "~" operator.  And if you expect this,
you'll see it works just fine: 1 becomes 0 and 0 becomes 1.

Not sure why we don't simply do ((~color) & 0xffffff), but that's just
an implementation detail.

Regards,
Colomban


More information about the Devel mailing list