Creating a widget
From uGFX Wiki
It's possible to implement custom widgets. A custom widget can be declared and implemented outside of the µGFX library. This means that it can be part of the actual project and that it's not necessary to do any modification of the µGFX library itself.
Note: If you just want to change the look of an existing widget, please have a look at WidgetStyles and custom rendering functions.
Architecture
A widget consists of two main parts: The object structure and the VMT.
Object structure
The C language is not object oriented.