So I guess this is also the reason for why e.g. Int32Array returns double
instead of int?
Also, would it be possible / make sense to make CanvasRenderingContext2D
and WebGLRenderingContext extend NativeObject?
Right now, as HTMLCanvasElement.getContext(String contextId) returns a
NativeObject I have to do things like this when getting the context:
context_ = (CanvasRenderingContext2D) (Object) canvas.getContext("2d")
It works but it feels wrong. Or am I just missing something obvious?
On Monday, July 4, 2016 at 9:46:44 AM UTC+2, Goktug Gokdogan wrote:
>
> Elemental2 currently purely driven by the JavaScript extern files. So it
> is not trivial. Maybe a later version could include some kind of type
> extension.
> For now perhaps we can improve the generated code to use generics so you
> don't need to cast but we cannot modify the API.
>
> On Sat, Jul 2, 2016 at 2:07 PM, Manuel Carrasco Moñino <[email protected]
> <javascript:>> wrote:
>
>> I'm wondering if it would be possible to have type-safe convenience
>> methods for creating elements, so as the user does not have to provide the
>> string tag name, nor cast the object, maybe something like :
>>
>> HTMLButtonElement button = HTMLButtonElement.createElement();
>>
>> instead of
>>
>> HTMLButtonElement button = (HTMLButtonElement)
>> document.createElement("button");
>>
>>
>>
>> El sáb., 2 jul. 2016 a las 4:38, 'Goktug Gokdogan' via GWT Contributors (<
>> [email protected] <javascript:>>)
>> escribió:
>>
>>> Closure extern definition uses a union type here:
>>>
>>> https://github.com/google/closure-compiler/blob/master/externs/browser/w3c_event.js#L34
>>>
>>> So it accepts either EventListener interface or a function.
>>>
>>> When we see a union type, we generate overloads for each type so
>>> Elemental should provide overloads that includes both. And it seems like it
>>> does. If not please let us know.
>>>
>>> On Fri, Jul 1, 2016 at 3:39 AM, Jens <[email protected] <javascript:>
>>> > wrote:
>>>
>>>>
>>>> Thanks, now makes sense. I get confused with the JsFunction
>>>>> JsType(native) because elemental2 has some callbacks as JsFunction and
>>>>> others as JsType(native), now an actual elemental2 question; what
>>>>> criteria
>>>>> is used to apply JsFunction (ex.
>>>>> elemental2.Node.AddEventListenerCallback)
>>>>> instead of JsType (ex. elemental2.JsType)?
>>>>>
>>>>
>>>> I think its the result of definition of EventTarget.addEventListener():
>>>>
>>>> *listener - The object that receives a notification (an object that
>>>> implements the Event
>>>> <https://developer.mozilla.org/en-US/docs/Web/API/Event> interface) when
>>>> an
>>>> event of the specified type occurs. This must be an object implementing
>>>> the
>>>> EventListener
>>>> <https://developer.mozilla.org/en-US/docs/Web/API/EventListener>
>>>> interface,
>>>> or simply a JavaScript function
>>>> <https://developer.mozilla.org/en-US/docs/JavaScript/Guide/Functions>.*
>>>>
>>>> The EventListener interface is a defined API and thus a
>>>> @JsType(isNative = true) interface has been generated. But to conform to
>>>> "or simply a JavaScript function" there is also an
>>>> AddEventListenerCallback
>>>> that is a @JsFunction. Not sure if this distinction has any real value, in
>>>> a hand coded elemental2 I would have only created a @JsFunction
>>>> interface EventListener
>>>>
>>>> -- J.
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "GWT Contributors" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to
>>>> [email protected]
>>>> <javascript:>.
>>>> To view this discussion on the web visit
>>>> https://groups.google.com/d/msgid/google-web-toolkit-contributors/73b36bdb-c496-4768-a221-21fe8b5a437c%40googlegroups.com
>>>>
>>>> <https://groups.google.com/d/msgid/google-web-toolkit-contributors/73b36bdb-c496-4768-a221-21fe8b5a437c%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "GWT Contributors" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected]
>>> <javascript:>.
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/google-web-toolkit-contributors/CAN%3DyUA0ZfCbS%2Bnwtre0QuAnhDdLYz%2B3LuzXqD3WqoWqK%3DFe%2BEg%40mail.gmail.com
>>>
>>> <https://groups.google.com/d/msgid/google-web-toolkit-contributors/CAN%3DyUA0ZfCbS%2Bnwtre0QuAnhDdLYz%2B3LuzXqD3WqoWqK%3DFe%2BEg%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>> .
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "GWT Contributors" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected]
>> <javascript:>.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/google-web-toolkit-contributors/CAM28XAsU1UZgkh3cjG1HPkpRBJfaiEh631fq9WdS_RQg8Z_Leg%40mail.gmail.com
>>
>> <https://groups.google.com/d/msgid/google-web-toolkit-contributors/CAM28XAsU1UZgkh3cjG1HPkpRBJfaiEh631fq9WdS_RQg8Z_Leg%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
--
You received this message because you are subscribed to the Google Groups "GWT
Contributors" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/google-web-toolkit-contributors/023e92c6-8f9f-41b4-8203-369b82499d7f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.