Re: [whatwg] WebIDL nested interfaces

On Mon, Sep 10, 2012 at 5:39 PM, Tobie Langel <tobie.langel@gmail.com>wrote:

> > It's too late; WebGL is a shipping, widely-used API.  (This isn't a WebGL
> > problem, either; it's just doing what every other API on the platform
> does.
> >  I don't think WebIDL even has a mechanism to put interfaces inside other
> > objects.)
>
> Really? Wouldn't this do the trick:
>
> interface WebGLActiveInfo {
>     readonly attribute GLint size;
>     readonly attribute GLenum type;
>     readonly attribute DOMString name;
> };
>
> interface WebGLGlobal {
>   attribute WebGLActiveInfo activeInfo;
> };
>
> partial interface Window {
>   attribute WebGLGlobal WebGL;
> };
>

This is just creating a global object "WebGL" containing an object using
the WebGLActiveInfo interface.  It's not moving the WebGLActiveInfo
interface itself into an object.  It sounds like you want something like

interface WebGL {
    interface WebGLActiveInfo {
        ...
    }
}

interface WebGLRenderingContext {
    WebGL.WebGLActiveInfo? getActiveAttrib(WebGLProgram? program, GLuint
index);
}

-- 
Glenn Maynard

Received on Monday, 10 September 2012 22:53:18 UTC