Custom-Brush-App

This app is a training app which focuses on implementing different types of brushes in different types of views such as View, TextView, SurfaceView in order to maximize fps. Brushes like markers, pens, sliced brushes, sprays, patterns, connectives and etc are implemented

Also this application is my first use of Kotlin language in android.

Motivation

Prevously I was working on a painting app which was using 4 brushes and also had a low fps. These were making the app annoying and slow. So I worked on this application for make different types of brushes and test different views in order to improve performance.

I should say I was successful because I managed to make more than 20 types of brushes and improve the app's frame per second.

What I learned

I used OOP concepts in order to make the codes more readable and extendable. I learned that using SurfaceView, improves painting experience. The reason of this is that SurfaceView can be drawn in a separate thread. So the main thread is not blocked and the performance is improved.