<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Definitions SYSTEM "widlprocxml.dtd">
<Definitions>
  <webidl>interface Canvas {
  void drawPolygon(sequence&lt;float> coordinates);
  sequence&lt;float> getInflectionPoints();
};</webidl>
  <Interface name="Canvas" id="::Canvas">
    <webidl>interface Canvas {
  void drawPolygon(sequence&lt;float> coordinates);
  sequence&lt;float> getInflectionPoints();
};</webidl>
    <Operation name="drawPolygon" id="::Canvas::drawPolygon">
      <webidl>  void drawPolygon(sequence&lt;float> coordinates);</webidl>
      <Type type="void"/>
      <ArgumentList>
        <Argument name="coordinates">
          <Type type="sequence">
            <Type type="float"/>
          </Type>
        </Argument>
      </ArgumentList>
    </Operation>
    <Operation name="getInflectionPoints" id="::Canvas::getInflectionPoints">
      <webidl>  sequence&lt;float> getInflectionPoints();</webidl>
      <Type type="sequence">
        <Type type="float"/>
      </Type>
      <ArgumentList/>
    </Operation>
  </Interface>
</Definitions>
