invana / invana-studio

Open source graph visualiser.
Apache License 2.0
174 stars 19 forks source link

Incorrect order of [red, green, blue] in src/core/utils.js function LightenDarkenColor() #57

Closed mbrukman closed 4 years ago

mbrukman commented 4 years ago

In src/core/utils.js, in the function LightenDarkenColor(), we find the following code:

    let r = (num >> 16) + amt;

    if (r > 255) r = 255;
    else if (r < 0) r = 0;

    let b = ((num >> 8) & 0x00FF) + amt;

    if (b > 255) b = 255;
    else if (b < 0) b = 0;

    let g = (num & 0x0000FF) + amt;

    if (g > 255) g = 255;
    else if (g < 0) g = 0;

    return (usePound ? "#" : "") + (g | (b << 8) | (r << 16)).toString(16);

This is splitting the color into [red, blue, green] components, but it should be [red, green, blue]. Since it's just adding an even amount to each of them, and putting back the color components in the same order, it works correctly, but it would be nice to fix it anyway for clarity, since the actual order of color components is [r, g, b], and this would be confusing.

rrmerugu commented 4 years ago

@mbrukman Pushed a patch #60. Do you think this will fix the issue you are referring to ?

mbrukman commented 4 years ago

@rrmerugu — thanks! I left a few comments on that PR; let's follow-up there.