Drawing basic shapes
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.
Note
The
vertex instructions inherit from the VertexInstruction
base class, and allow us to draw vector shapes in the coordinate space.
The...