Multistroke Recognition Database Demonstration
==============================================

.. |pic22| image:: /images/examples/demo__multistroke__main__py.png
   :width: 50%
   :align: middle

|pic22|

This application records gestures and attempts to
match them. You should see a black drawing surface
with some buttons across the bottom. As you make a
gesture on the drawing surface, the gesture will
be added to the history and a match will be
attempted. If you go to the history tab, name the
gesture, and add it to the database, then simliar
gestures in the future will be recognized. You can
load and save databases of gestures in .kg files.

This demonstration code spans many files, with
this being the primary file. The information pop-
up ('No match') comes from the file `helpers.py`_.
The history pane is managed in the file
`historymanager.py`_ and described in the file
`historymanager.kv`_. The database pane and
storage is managed in the file
`gestureDatabase.py`_ and the described in the
file `gestureDatabase.kv`_. The general logic of
the sliders and buttons are in the file
`settings.py`_ and described in settings.kv. but
the actual settings pane is described in the file
`multistroke.kv`_ and managed from this file.



.. _`main.py`:

File **demo/multistroke/main.py**
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. include:: ../../../examples/demo/multistroke/main.py
    :code:

.. _`helpers.py`:

File **demo/multistroke/helpers.py**
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. include:: ../../../examples/demo/multistroke/helpers.py
    :code:

.. _`historymanager.py`:

File **demo/multistroke/historymanager.py**
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. include:: ../../../examples/demo/multistroke/historymanager.py
    :code:

.. _`historymanager.kv`:

File **demo/multistroke/historymanager.kv**
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. highlight:: kv
    :linenothreshold: 3

.. include:: ../../../examples/demo/multistroke/historymanager.kv
    :code:

.. _`gestureDatabase.py`:

File **demo/multistroke/gestureDatabase.py**
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. highlight:: py
    :linenothreshold: 3

.. include:: ../../../examples/demo/multistroke/gestureDatabase.py
    :code:

.. _`gestureDatabase.kv`:

File **demo/multistroke/gestureDatabase.kv**
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. highlight:: kv
    :linenothreshold: 3

.. include:: ../../../examples/demo/multistroke/gestureDatabase.kv
    :code:

.. _`settings.py`:

File **demo/multistroke/settings.py**
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. highlight:: py
    :linenothreshold: 3

.. include:: ../../../examples/demo/multistroke/settings.py
    :code:

.. _`multistroke.kv`:

File **demo/multistroke/multistroke.kv**
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. highlight:: kv
    :linenothreshold: 3

.. include:: ../../../examples/demo/multistroke/multistroke.kv
    :code:
