[whatwg] Still beating the drawString() dead horse...
Mathieu HENRI
p01 at opera.com
Tue Nov 14 02:34:06 PST 2006
Stefan Haustein wrote:
> Hi,
>
> I have tried to sum up the requirements for
> CanvasRenderingContext2D.drawString() at
> http://rhino-canvas.sf.net/www/drawstring.html
>
> The page contains an API proposal based on the Font/TextStyle object
> approach that meets all those requirements, and also some motivation
> why I have implemented this approach and not one of the alternatives
> discussed here.
I still think by introducing the drawString() method into Canvas we are
opening the same can of worms that was open in SVG.
If we go that way we will need a drawParagraph() method to draw multi
line strings or blocks of text with wrapping and a bounding width. We
also need to be able to stylize the text, i.e. changing the font-weight
/ color / font-style ... of any word.
The list goes on and on ... and HTML and CSS already cover it all.
The HTMLElement.drawElement() method should be no problem to implement
since userAgents already do render HTMLElements.
Having it return an ImageData object will make it insanely simple to
manipulate in Canvas. The text elements/contents can easily be in the
fall back content of the Canvas tag thus keeping it accessible. Getting
the bounding box of an HTMLElement is no problem either in JavaScript.
And applying gradients and patterns can be done using a fillRect() with
the appropriate globalCompositeOperation.
Everything (almost) is there. Let's not re-invent a square wheel.
--
Mathieu 'p01' HENRI
JavaScript developer, Opera Software ASA
More information about the whatwg
mailing list