Hi Julian,

I work with GWT 2.3 and i just see in the documentation :
(http://google-web-toolkit.googlecode.com/svn/javadoc/2.3/com/google/
gwt/dom/client/CanvasElement.html)

constructor
protected CanvasElement()

It means that you can derive your own class for CanvasElement.
Adding it in a GWT container works for me.

I agree with you : I don't understand why there is also a Canvas
class, and why the constructor is private ?

In my opinion, Google is perfectionnist, and has provided a cross-
browser test class to check if <canvas> is supported by client
browser, in order to let the developper to test and take a decision if
there is no browser support. May be that's why thi class exists. I
don't think it's a bug as Thomas says.

Regards

Karim Duran


On 11 août, 22:06, Julian <[email protected]> wrote:
> I want to wrap a CanvasElement (<canvas> in HTML) in an Canvas widget.
>
> Many widgets (e.g. Label) have a static method SomeWidget.wrap(Element) for
> wrapping an existing DOM element.
> I imagine Canvas does not feature such a method because not all browser
> support <canvas> and therefore the user should be forced to go
> through createIfSupported().
>
> Unfortunately the constructor in Canvas is private, which means that Canvas
> can not be subclassed. (There isn't any constructor available in the derived
> class.)
>
> Code snippets of createIfSupported and the constructor in Canvas:
>
>   public static Canvas createIfSupported() {
>     // check if canvas is supported; if it is not supported: return null
>     return new Canvas(element);
>   }
>
>   private Canvas(CanvasElement element) {
>     setElement(element);
>   }
>
> I ended up copying the Canvas class and making the constructor public.
>
> Is there a better way to do this?
> If not, what is the reasoning behind it (besides that it might not be
> supported)?
>
> I am using version 2.4.0.rc1.
>
> Thanks,
> Julian

-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-web-toolkit?hl=en.

Reply via email to