Before starting, let's introduce the Python code that we will reuse in all the examples of this chapter:
1. # File name: drawing.py 2. from kivy.app import App 3. from kivy.uix.relativelayout import RelativeLayout 4. 5. class DrawingSpace(RelativeLayout): 6. pass 7. 8. class DrawingApp(App): 9. def build(self): 10. return DrawingSpace() 11. 12. if __name__=="__main__": 13. DrawingApp().run()
We created the subclass DrawingSpace
from RelativeLayout
. It could have been inherited from any Widget
but using RelativeLayout
is generally a good choice for graphics because we usually want to draw inside the widget, and that means relative to its position.
Let's start with the canvas. There are basically two types of instructions that we can add to a canvas: vertex instructions and context instructions.