[Mapcss] Proposal: Drop css's ugly colour specifications
Thomas Davie
tom.davie at gmail.com
Mon Feb 7 17:27:57 GMT 2011
On 7 Feb 2011, at 17:18, Komяpa wrote:
> Hi,
>
> 2011/2/7 Thomas Davie <tom.davie at gmail.com>:
>
>> This all seems to be rather a cludge around a simple dilema – sometimes you want to multiply colours, sometimes you want to replace colours.
>>
>> Your opacity replacement there is really a case of "multiply the opacity of the colour by 0.2", and can be generalised to "multiply the colour by rgba(1.0, 1.0, 1.0, 0.2)"
>>
>> Is what's really needed a colour-multiply: property instead of opacity (but as well as a colour:) property?
>
> Looks for me as useless hackish thing - there are lot of other better
> things to do.
>
> Now MapCSS is rather easy to understand for non-programmers. HTML/CSS
> is studied at schools, so people know what id #rrggbb.
>
> Thousands of programs support #rrggbb notation, and lots of people
> (including me) can rather easily imagine color by that notation. If
> you'll leave me only something like rgb(0.22, 0.12e1, 1.2), my head
> will blow up reading/writing that, and I'll _have_ to introduce
> #rrggbb notation back in some way.
>
> The color-multiply looks like operation, and, may be, should be done
> inside eval(). But first I'd like to see real-world examples of such
> stylesheets :)
Real world example:
way[amenity=parking]
{
icon-image: url("whiteParkingIcon.png");
color-multiply: rgb(0.2, 0.2, 1.0); /* using 0-1 for the moment */
}
way[amenity=parking][access=private]
{
color-multiply: rgb(1.0, 0.2, 0.2);
}
way[amenity=parking][access=official]
{
color-multiply: rgba(0.2, 0.2, 1.0, 0.6);
}
I can see your argument for wanting to do it within an eval, that would allow for more interesting compositing operations too – but do we have an existing way to get at style properties that have been set on an element in an eval expression? I thought we only had a way to get at tags that were set.
Thanks
Tom Davie
More information about the Mapcss
mailing list