discuss how paintComponent can be overridden to customize the look of your components, and then we'll discuss a trick that uses paintChildren to paint custom content on top of the component and its children.
Cairo is a powerful 2d graphics library. This document introduces you to how cairo works and many of the functions you will use to create the graphic experience you desire.