<?xml version="1.0" encoding="UTF-8"?>
<ufwb version="1.17">
    <grammar name="RM grammar" start="id:4" author="Alessio Nossa">
        <description>Grammar for reMarkable RM files</description>
        <structure name="RM file" id="4" encoding="UTF-8" endian="little" signed="no">
            <string name="Header" id="5" strokecolor="91E87D" fillcolor="8AE8AA" type="fixed-length" length="43"/>
            <number name="N_Layers" id="6" fillcolor="AA7941" type="integer" length="4"/>
            <structure name="Layer" id="7" repeat="id:6" repeatmax="-1">
                <number name="N_lines" id="8" fillcolor="FEFB00" type="integer" length="4"/>
                <structure name="Line" id="9" repeat="id:8" repeatmax="-1">
                    <number name="Brush Type" id="10" fillcolor="FF9200" type="integer" length="4">
                        <fixedvalues>
                            <fixedvalue name="Ball Point" value="15"/>
                            <fixedvalue name="Marker" value="16"/>
                            <fixedvalue name="Fineliner" value="17"/>
                            <fixedvalue name="Sharp Pencil" value="13"/>
                            <fixedvalue name="Tilt Pencil" value="14"/>
                            <fixedvalue name="Brush" value="12"/>
                            <fixedvalue name="Highlighter" value="18"/>
                            <fixedvalue name="Eraser" value="6"/>
                            <fixedvalue name="Erase Area" value="8"/>
                        </fixedvalues>
                    </number>
                    <number name="Color" id="11" fillcolor="FF9200" type="integer" length="4">
                        <fixedvalues>
                            <fixedvalue name="Balck" value="0"/>
                            <fixedvalue name="Gray" value="1"/>
                            <fixedvalue name="White" value="2"/>
                        </fixedvalues>
                    </number>
                    <binary name="UNKNOW" id="12" fillcolor="FF9200" length="4"/>
                    <number name="Brush Base Size" id="13" fillcolor="FF9200" type="float" length="4"/>
                    <binary name="UNKNOW2" id="14" fillcolor="FF9200" length="4"/>
                    <number name="N_Points" id="15" fillcolor="FF9200" type="integer" length="4"/>
                    <structure name="Point" id="16" length="0" repeat="id:15" repeatmax="-1">
                        <number name="x" id="17" strokecolor="00FCFF" fillcolor="BFEFEF" type="float" length="32" lengthunit="bit"/>
                        <number name="y" id="18" strokecolor="00FCFF" fillcolor="BFEFEF" type="float" length="32" lengthunit="bit"/>
                        <number name="speed" id="19" strokecolor="00FCFF" fillcolor="BFEFEF" type="float" length="32" lengthunit="bit"/>
                        <number name="direction" id="20" strokecolor="00FCFF" fillcolor="BFEFEF" type="float" length="32" lengthunit="bit"/>
                        <number name="width" id="21" strokecolor="00FCFF" fillcolor="BFEFEF" type="float" length="32" lengthunit="bit"/>
                        <number name="pressure" id="22" strokecolor="00FCFF" fillcolor="BFEFEF" type="float" length="32" lengthunit="bit"/>
                    </structure>
                </structure>
            </structure>
        </structure>
    </grammar>
</ufwb>
