Book Image

Kivy Blueprints

Book Image

Kivy Blueprints

Overview of this book

Table of Contents (17 chapters)
Kivy Blueprints
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
The Python Ecosystem
Index

Drawing touches


To illustrate one possible scenario for reacting to the touch input, let's draw a circle every time the user touches (or clicks) the screen.

A Widget has an on_touch_down event that will come in handy for this task. We're interested in just the coordinates of every touch for the time being, and they are accessible as follows:

class CanvasWidget(Widget):
    def on_touch_down(self, touch):
        print(touch.x, touch.y)

This example prints the position of touches as they occur. To draw something on the screen instead, we will use the Widget.canvas property. Kivy's Canvas is a logical drawable surface that abstracts away the underlying OpenGL renderer. Unlike the low-level graphical API, the canvas is stateful and preserves the drawing instructions that were added to it.

Speaking of drawing primitives, many of those can be imported from the kivy.graphics package. Examples of drawing instructions are Color, Line, Rectangle, and Bezier, among others.

A very short introduction to...