<!-- 
<!DOCTYPE program SYSTEM "http://www.doc.ic.ac.uk/project/2004/362/g04362341M/DTD/program.dtd">
 -->
<program>
    <argument-model>
        <arguments>
            <argument>
                <name>Operation</name>
                <help>
                    <overview>Sets whether the program resizes or rotates the image</overview>
                </help>
                <is-compulsary/>
                <set-argument>
                    <initial>Rotate</initial>
                    <set-values>
                        <set-value>
                            <name>Resize</name>
                            <children>
                                <child>Width</child>
                                <child>Height</child>
                            </children>
                        </set-value>
                        <set-value>
                            <name>Rotate</name>
                            <children>
                                <child>Angle</child>
                            </children>
                        </set-value>
                    </set-values>
                </set-argument>
            </argument>
            <argument>
                <name>Width</name>
                <help>
                    <overview>Set the new width for the image. If empty, it scales according to
                        Height. If it contains a decimal point (.) it assumes a scaling factor, as
                        opposed to an absolute value.</overview>
                </help>
                <is-compulsary/>
                <text-argument>
                    <initial>1.0</initial>
                    <regex>\d*\.?\d*</regex>
                </text-argument>
            </argument>
            <argument>
                <name>Height</name>
                <help>
                    <overview>Set the new height for the image. If empty, it scales according to
                        Width. If it contains a decimal point (.) it assumes a scaling factor, as
                        opposed to an absolute value.</overview>
                </help>
                <is-compulsary/>
                <text-argument>
                    <initial>1.0</initial>
                    <regex>\d*\.?\d*</regex>
                </text-argument>
            </argument>
            <argument>
                <name>Angle</name>
                <help>
                    <overview>The angle to rotate this image through. Measured in degrees, going clockwise.</overview>
                </help>
                <is-compulsary/>
                <set-argument>
                    <initial>0</initial>
                    <set-values>
                        <set-value>
                            <name>0</name>
                        </set-value>
                        <set-value>
                            <name>90</name>
                        </set-value>
                        <set-value>
                            <name>180</name>
                        </set-value>
                        <set-value>
                            <name>270</name>
                        </set-value>
                    </set-values>
                </set-argument>
            </argument>
        </arguments>
        <mappings>
            <mapping>
                <conditions>
                </conditions>
                <input-pipes>
                    <pipe>
                        <name>Images-In</name>
                        <type>uk.ac.ic.doc.kevlar.publicInterfaces.IImageType</type>
                        <pipe-help>Image Type - images to be transformed go in here.</pipe-help>
                    </pipe>
                </input-pipes>
                <output-pipes>
                    <pipe>
                        <name>Images-Out</name>
                        <type>uk.ac.ic.doc.kevlar.publicInterfaces.IImageType</type>
                        <pipe-help>Image Type - transformed images come out here.</pipe-help>
                    </pipe>
                </output-pipes>
            </mapping>
        </mappings>
        <!-- Implement an argument model -->
    </argument-model>
    <description-model>
        <name>Image-Edit</name>
        <version>
            <major>1</major>
            <minor>0</minor>
        </version>
        <description>An image editing program, that can rotate or resize its argument images.</description>
        <author>Tristan Allwood</author>
        <copyright>
            <name>Kevlar Group</name>
            <year>2004</year>
        </copyright>
        <keywords>
            <keyword>gimp</keyword>
            <keyword>image</keyword>
            <keyword>scale</keyword>
            <keyword>rotate</keyword>
            <keyword>edit</keyword>
            <keyword>transform</keyword>
        </keywords>
    </description-model>
    <return-model>
        <return-mappings>
        </return-mappings>
    </return-model>
</program>
