<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:complexType name="DrawLib_FloatPoint_t">
		<xs:sequence>
			<xs:element default="0.0" maxOccurs="1" minOccurs="1" name="x" type="xs:float"/>
			<xs:element default="0.0" maxOccurs="1" minOccurs="1" name="y" type="xs:float"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="DrawLib_Color_t">
		<xs:sequence>
			<xs:element default="0" maxOccurs="1" minOccurs="0" name="r" type="xs:unsignedByte"/>
			<xs:element default="0" maxOccurs="1" minOccurs="0" name="g" type="xs:unsignedByte"/>
			<xs:element default="0" maxOccurs="1" minOccurs="0" name="b" type="xs:unsignedByte"/>
			<xs:element default="0" maxOccurs="1" minOccurs="0" name="a" type="xs:unsignedByte"/>
			<xs:element maxOccurs="1" minOccurs="0" name="str" type="xs:string"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="DrawLib_Pen_t">
		<xs:sequence>
			<xs:element maxOccurs="1" minOccurs="1" name="color" type="DrawLib_Color_t"/>
			<xs:element default="1" maxOccurs="1" minOccurs="1" name="size" type="xs:float"/>
			<xs:element maxOccurs="unbounded" minOccurs="0" name="dash" type="xs:float"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="DrawLib_Brush_t">
		<xs:sequence>
			<xs:element maxOccurs="unbounded" minOccurs="1" name="color" type="DrawLib_Color_t"/>
		</xs:sequence>
	</xs:complexType>
	<xs:simpleType name="DrawLib_TextAlign_t">
		<xs:restriction base="xs:string">
			<xs:enumeration value="aNear"/>
			<xs:enumeration value="aCenter"/>
			<xs:enumeration value="aFar"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="DrawLib_ShapeType_t">
		<xs:restriction base="xs:string">
			<xs:enumeration value="stLine"/>
			<xs:enumeration value="stEllipse"/>
			<xs:enumeration value="stRectangle"/>
			<xs:enumeration value="stText"/>
			<xs:enumeration value="stPolygon"/>
			<xs:enumeration value="stPolyLine"/>
			<xs:enumeration value="stRoundRect"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="DrawLib_ShapeStyle_t">
		<xs:restriction base="xs:string">
			<xs:enumeration value="ssLine"/>
			<xs:enumeration value="ssFill"/>
			<xs:enumeration value="ssComplete"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="DrawLib_Rect_t">
		<xs:sequence>
			<xs:element maxOccurs="2" minOccurs="2" name="point" type="DrawLib_FloatPoint_t"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="DrawLib_Shape_t">
		<xs:sequence>
			<xs:element maxOccurs="1" minOccurs="1" name="shape_type" type="DrawLib_ShapeType_t"/>
			<xs:element default="ssComplete" maxOccurs="1" minOccurs="1" name="shape_style" type="DrawLib_ShapeStyle_t"/>
			<xs:element default="" name="name" type="xs:string"/>
			<xs:element default="" maxOccurs="unbounded" minOccurs="0" name="text" type="xs:string">
				<xs:annotation>
					<xs:documentation>                        a bit of hack.
                        when you create a stText shape, the first text field should be the text itself, the second one - the font face name, the third one - the font size(as a string)(ex. &quot;18&quot;)</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element maxOccurs="1" minOccurs="0" name="pen" type="DrawLib_Pen_t"/>
			<xs:element maxOccurs="1" minOccurs="0" name="brush" type="DrawLib_Brush_t"/>
			<xs:element maxOccurs="unbounded" minOccurs="0" name="points" type="DrawLib_FloatPoint_t"/>
			<xs:element maxOccurs="1" minOccurs="0" name="cliprect" type="DrawLib_Rect_t"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="DrawLib_ShapeArray_t">
		<xs:sequence>
			<xs:element maxOccurs="1" minOccurs="0" name="text_align" type="DrawLib_TextAlign_t"/>
			<xs:element maxOccurs="1" minOccurs="0" name="line_align" type="DrawLib_TextAlign_t"/>
			<xs:element maxOccurs="unbounded" minOccurs="0" name="shape" type="DrawLib_Shape_t"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="DrawLib_ShapeArray" type="DrawLib_ShapeArray_t"/>
</xs:schema>
