[Geany-Devel] Mistake in utils_invert_color
lists.ban at xxxxx
Wed Oct 30 21:03:56 UTC 2013
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.
More information about the Devel