I understand that the current inset and outset code is based on what 4.x does. However, I wonder why it was felt necessary to special case the insets for white borders on white backgrounds and black borders on black backgrounds.

Just for comparison, I tried two other apps that calculate insets. IE appears to draw a double inset, if the border is wide enough. The outer inset uses the specified border colour and a colour of � the RGB value; the inner inset uses � and � colours. I don't like this either, because you can't inset a black border.

I also tried the Windows Display control panel. When you change the 3D colour you select a "base" colour, and it calculates 2/3 of the lightness for the "dark" color (NB without changing the hue, like Mozilla and IE appear to do), and 1/2 of the "darkness" for the "light" color. i.e. given [h, l, s] the "dark" colour is [h, l * 2 / 3, s] (rounded down, I think?) and the "light" colour is [h, (l + lmax) / 2, s] (rounded up) .

I quite like this approach, but Boris Zbarsky suggested that I posted here to get some feedback.


Reply via email to