This is a repository for shared GUI widgets targetting DPF.
Since DPF allows multiple backends (cairo, opengl or vulkan), we need to split them as such. Each folder provides widgets for its dedicated backend type. It is not mandatory that a widget is usable for more than 1 backend. Generic widgets (those based on DPF core classes like Color, Rectangle, etc) are placed under the "generic" directory.
Resize handle for DPF windows, will sit on bottom-right.
Works in both Cairo and OpenGL modes (classic/legacy OpenGL only, does not support OpenGL3 mode).
Used very often and in many plugins.
Exposes the LVGL drawing API inside a DGL Widget. This class will take care of setting up LVGL for drawing, and also user input, resizes and everything in between.
See lvgl-template-plugin for a CMake-based template plugin project around LVGL.
oui-blendish widgets for DPF. Work in progress, usable in very select cases.
Used in:
Exposes the Dear ImGui drawing API inside a DGL Widget.
The drawing function onDisplay()
is implemented internally but a new onImGuiDisplay()
needs to be overridden instead.
This class will take care of setting up ImGui for drawing, and also also user input, resizes and everything in between.
Used in:
See imgui-template-plugin for a CMake-based template plugin project around ImGui. See imgui-template-app for a standalone application template.
Text Editor Widget class, based on ImGuiColorTextEdit.
Used in:
Quanta-inspired widgets for DPF.
Used in:
Each widget MUST follow these rules:
Coding style rules yet to be defined.