Commit graph

13 commits

Author SHA1 Message Date
Matthew Colvin
736029c89a Make UI Element the owner of the Unique pointers to other UI elements to allow for easier scope management of adding elements to one another 2023-10-12 15:24:25 -05:00
MatthewColvin
58787f5bf0 Move logic related to owning widgets into its own class to prepare for a widget type that can own other widgets. 2023-10-12 15:24:10 -05:00
MatthewColvin
af7abe115f adds some code to ensure onShow and onHide are called properly. 2023-10-10 13:36:32 -05:00
MatthewColvin
68695b4665 add label widget and text styling
setter and getter

Generally working on getting the Display Settings page and pop up screen working well
2023-10-09 21:22:33 -05:00
MatthewColvin
dface01a40 Add Slider Class
Add brightness slider to the display settings class.
2023-10-08 20:23:01 -05:00
MatthewColvin
235d8e043f Convert Lvgl resource manager to recursive mutex to allow re locking in thread.
This helps with creation and getting values and should be safe since it still keeps lvgl on  one thread at a time.

Add OnLvglEvent to UIElement that allows foreasy place for UI Elements  to respond to LVGL events .

Add button  class that can react to being presssed via a  callback function.

Add GetBottom() api to allow easy grabbing of bottom Y coordinate.

use some new stuff in the settings  page to sort test it all out.
2023-10-06 22:11:15 -05:00
MatthewColvin
3bd2b1a98a propigate key events around UI
use key events to add and remove sliders from settings as example
2023-10-01 18:53:25 -05:00
MatthewColvin
a44e92ea5d Add boiler plate Key Handling Into the UI code for UI elements 2023-09-29 16:03:51 -05:00
MatthewColvin
dfbfd7a6a8 Add visiblity API for UIElements
Add ability for Screen Manager to display screens
and retain others underneath in a stack fasion.
2023-09-16 21:43:07 -05:00
MatthewColvin
1458aa7992 clang format code 2023-09-16 15:34:16 -05:00
MatthewColvin
f5ba2e9b84 Add base UIElement class and extend widget and screen 2023-09-16 15:13:23 -05:00
MatthewColvin
5cb4c1408d flushed out the Base screen and widget classes a bit more 2023-09-16 14:46:59 -05:00
MatthewColvin
40052d31b7 add base classes for screens and widgets
along with screen manager to allow place to manage multiple screens
2023-09-16 13:07:14 -05:00