1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE Definitions SYSTEM "widlprocxml.dtd">
3<Definitions>
4  <Module name="gfx" id="::gfx">
5    <webidl>module gfx {
6
7  module geom {
8    interface Shape {  };
9    interface Rectangle : <ref>Shape</ref> {  };
10    interface Path : <ref>Shape</ref> {  };
11  };
12
13  interface GraphicsContext {
14    void fillShape(<ref>geom::Shape</ref> s);
15    void strokeShape(<ref>geom::Shape</ref> s);
16  };
17};</webidl>
18    <Module name="geom" id="::gfx::geom">
19      <webidl>  module geom {
20    interface Shape {  };
21    interface Rectangle : <ref>Shape</ref> {  };
22    interface Path : <ref>Shape</ref> {  };
23  };</webidl>
24      <Interface name="Shape" id="::gfx::geom::Shape">
25        <webidl>    interface Shape {  };</webidl>
26      </Interface>
27      <Interface name="Rectangle" id="::gfx::geom::Rectangle">
28        <webidl>    interface Rectangle : <ref>Shape</ref> {  };</webidl>
29        <InterfaceInheritance>
30          <Name name="Shape"/>
31        </InterfaceInheritance>
32      </Interface>
33      <Interface name="Path" id="::gfx::geom::Path">
34        <webidl>    interface Path : <ref>Shape</ref> {  };</webidl>
35        <InterfaceInheritance>
36          <Name name="Shape"/>
37        </InterfaceInheritance>
38      </Interface>
39    </Module>
40    <Interface name="GraphicsContext" id="::gfx::GraphicsContext">
41      <webidl>  interface GraphicsContext {
42    void fillShape(<ref>geom::Shape</ref> s);
43    void strokeShape(<ref>geom::Shape</ref> s);
44  };</webidl>
45      <Operation name="fillShape" id="::gfx::GraphicsContext::fillShape">
46        <webidl>    void fillShape(<ref>geom::Shape</ref> s);</webidl>
47        <Type type="void"/>
48        <ArgumentList>
49          <Argument name="s">
50            <Type name="geom::Shape"/>
51          </Argument>
52        </ArgumentList>
53      </Operation>
54      <Operation name="strokeShape" id="::gfx::GraphicsContext::strokeShape">
55        <webidl>    void strokeShape(<ref>geom::Shape</ref> s);</webidl>
56        <Type type="void"/>
57        <ArgumentList>
58          <Argument name="s">
59            <Type name="geom::Shape"/>
60          </Argument>
61        </ArgumentList>
62      </Operation>
63    </Interface>
64  </Module>
65  <Module name="gui" id="::gui">
66    <webidl>module gui {
67
68  interface Widget {   };
69
70  interface Window : <ref>Widget</ref> {
71    <ref>gfx::GraphicsContext</ref> getGraphicsContext();
72  };
73
74  interface Button : <ref>Widget</ref> {   };
75};</webidl>
76    <Interface name="Widget" id="::gui::Widget">
77      <webidl>  interface Widget {   };</webidl>
78    </Interface>
79    <Interface name="Window" id="::gui::Window">
80      <webidl>  interface Window : <ref>Widget</ref> {
81    <ref>gfx::GraphicsContext</ref> getGraphicsContext();
82  };</webidl>
83      <InterfaceInheritance>
84        <Name name="Widget"/>
85      </InterfaceInheritance>
86      <Operation name="getGraphicsContext" id="::gui::Window::getGraphicsContext">
87        <webidl>    <ref>gfx::GraphicsContext</ref> getGraphicsContext();</webidl>
88        <Type name="gfx::GraphicsContext"/>
89        <ArgumentList/>
90      </Operation>
91    </Interface>
92    <Interface name="Button" id="::gui::Button">
93      <webidl>  interface Button : <ref>Widget</ref> {   };</webidl>
94      <InterfaceInheritance>
95        <Name name="Widget"/>
96      </InterfaceInheritance>
97    </Interface>
98  </Module>
99</Definitions>
100