- From: Ian Hickson <ian@hixie.ch>
- Date: Fri, 5 Jun 2009 08:13:23 +0000 (UTC)
On Thu, 30 Apr 2009, Charles Pritchard wrote: > On Thu, 30 Apr 2009, Ian Hickson wrote: > > > > For simple things, e.g. colours or fonts, you can use > > getComputedStyle() on the <canvas> itself to get styles from the CSS, > > and use those in the JS instead of hardcoding the values. But this > > doesn't work as a general solution for multiple colours, gradients, > > etc. > > > > It's not clear to me how to solve this problem in general, e.g. for > > things like gradients and patterns, where CSS doesn't really match the > > way canvas works. Short of inventing a bunch of new syntax, I don't > > know what to do. > > If you want to declare gradients, using available standards, the SVG > name space supports both gradient types. And in your Canvas code you can > reconstruct them with minimal effort. > > HTML5 at least admits the existence of SVG. You can embed an SVG > fragment [or reference] in your HTML for various styling reasons, to > support a Canvas without actually using SVG for display / rendering. See > the <defs> tag. Useful for Glyphs (embedded font), Gradients and Filter > graphs. If we could find a good mapping from SVG to <canvas> for concepts such as these, then that might work, yes. I'm not really sure it really solves the styling problem (we'd just be moving the hard-coded stuff from the script to the SVG, not all the way to the CSS), and indeed maybe SVG itself should have ways to do this better from CSS. In any case, I think this is not something we should address in this version of the <canvas> API. I'd rather wait until we have more experience with <canvas> to find out what authors really want here. -- Ian Hickson U+1047E )\._.,--....,'``. fL http://ln.hixie.ch/ U+263A /, _.. \ _\ ;`._ ,. Things that are impossible just take longer. `._.-(,_..'--(,_..'`-.;.'
Received on Friday, 5 June 2009 01:13:23 UTC