Generators ========== Generators are subclasses of .. autoclass:: boxes.Boxes Most code is directly in this class. Subclass are supposed to over write the ``.__init__()`` and ``.render()`` method. The Boxes class keeps a canvas object (self.ctx) that all drawing is made on. In addition it keeps a couple of global settings used for various drawing operations. See the ``.__init__()`` method for the details. For implementing a new generator forking an existing one or using the ``boxes/generators/_template.py`` is probably easier than starting from scratch. Many methods and attributes are for use of the subclasses. These methods are the interface for the user interfaces to interact with the generators: .. automethod:: boxes.Boxes.__init__ .. automethod:: boxes.Boxes.parseArgs .. automethod:: boxes.Boxes.render .. automethod:: boxes.Boxes.open .. automethod:: boxes.Boxes.close Handling Generators ------------------- To handle the generators there is code in the ``boxes.generators`` package. .. automodule:: boxes.generators :members: :undoc-members: This adds generators to the user interfaces automatically. For this to work it is important that the class names are unique. So whenever you start a new generator please change the class name right away.