Home > GSOC2015, kivy > Bonding period Summarize

Bonding period Summarize

During the bonding period I did some work on how kivy graphics pipeline works. Kivy has two implementations for lines. kivy.graphics.Line and kivy.graphics.SmoothLine. Normal line have antialising problems which are being solved in the latest one. SmoothLine is an experimental alternative that I put my hands on. While trying to create an SmoothLine object from python the following error was produced:

Exception TypeError: “object of type ‘NoneType’ has no len()” in ‘kivy.graphics.vertex_instructions.SmoothLine.build_smooth’ ignored

This was fixed by changing the way the constructor invoked the parent class. This issue shows up just when instantiated from python. Once I could instantiate SmoothLine I tested SmoothLine creating lines from points collected from touches. Then I came up with one of the issues of SmoothLine. When a line is nearly 180 degrees in direction a pixel stretch along the horizontal or vertical axis depending on the direction as can be seen on the following figure.


This is related somehow to my project since I can use smoothlines instead of lines for the gestures section. Three new classes are proposed: Point, Stroke and InkCanvas. There is an implementation in the kivy.graphics for points but stores a list of points I am looking to have a more native representation so a stroke can be handled as a list of points. For later algorithms for ink processing these object representation could make it easier.

The main goal of my project for the google summer of code besides rendering a matplotlib is being able to interact with it in a way that can be differentiated from already existing backends such as gtk, qt, etc.

Over the weekend a post on the MPL workflow implementation will be given. That’s it for now, next week I expect to have more work done and a first draft of the MPL modules implementation.

Categories: GSOC2015, kivy
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: