In this chapter, we got to know how to change how our widgets look by using the Transform class and its available transformations, such as scaling, translating, and rotating. We also saw how we can compound transformation by using the Matrix4 class directly.
We learned how the Canvas class can be used to take control of the widgets drawn and how we can use this to create our own paintings.
Finally, we saw how the CustomPaint widget can be useful to create our own widgets that have not just unique functionalities, but also unique appearances defined by a CustomPainter descendant.
In the final chapter, we will check out how to animate widgets, making use of the transformations learned here.