- From: Erik Dahlström <ed@opera.com>
- Date: Thu, 23 Jan 2014 13:02:14 +0100
- To: "Jeremie Patonnier" <jeremie.patonnier@gmail.com>
- Cc: "Dirk Schulze" <dschulze@adobe.com>, "Tab Atkins Jr." <jackalmage@gmail.com>, www-svg <www-svg@w3.org>, public-fx <public-fx@w3.org>
On Thu, 23 Jan 2014 11:45:03 +0100, Jeremie Patonnier
<jeremie.patonnier@gmail.com> wrote:
> Hi!
>
> 2014/1/23 Erik Dahlström <ed@opera.com>
>
>> I'm wondering how much of a need there really is to have the fallback
>> color in the first place, maybe this is something we should revisit?
>>
>
> Let's imagine the following use case:
>
> 1. You have an SVG image with a white background
> 2. I have a rect fill with a dark image (fill: url("stuff.png"))
> 3. I write some text on top of the rect which color is white
> 4. If for some reason the image is not loading, the text become not
> visible (white text on a white background)
>
> Having a fallback color (let's say black) is a safety for such cases.
My next sentence was: "There might be a better alternative".
In other words, what if there was another way to address this use-case?
Why would it necessarily have to use the current syntax?
> Another case is if you want to have an image that fade to a colored
> background. In such case, it's better to fill with an image as small as
> possible and fill the blank with the appropriate color instead of having
> a
> large image mostly full of a plain color. This is more efficient in term
> of
> network performance (we load a smaller resource) and rendering
> performance
> (the color can be paint immediately, even if the image take some time to
> load).
I don't understand the point you're trying to make, why wouldn't this also
be true for an alternative?
Multiple paints, e.g "fill: url(foo), url(bar)", is in the SVG2 spec
already (currently just as an example, the <paint> grammar doesn't yet
cover this), but the WG has resolved to have this feature[1]. I guess it
still remains to be decided, but I would not expect rendering to stall
just because all of the paints weren't fully loaded. Draw what there is,
and update as needed.
I would imagine your example being e.g "fill: url(foo.png), green" or
perhaps "fill: url(bar.png), image(yellow)".
[1] http://www.w3.org/2013/06/03-svg-minutes.html#item10
--
Erik Dahlstrom, Web Technology Developer, Opera Software
Co-Chair, W3C SVG Working Group
Received on Thursday, 23 January 2014 12:02:48 UTC