Repository navigation
๐ New Features:
- Introduced a professional PopupManager system with 5 popup types: Info, Success, Warning, Error, and Question popups.
- Added auto-close functionality for success messages.
- Enabled custom popup configuration, including colors and icons.
- Developed non-blocking popup operations using the
update()method. - Implemented proper button debouncing and input validation.
- Added automatic word wrapping for long messages.
- Delivered a professional visual design featuring shadows and rounded corners.
- Enabled encoder support for popup navigation (rotate to select, press to confirm).
- Added visual button selection indicators for encoder navigation.
- Fully implemented range and option features for settings.
๐ง Improvements:
- Optimized
scrollTextHorizontalfunctions using sprite caching. - Enhanced
calculateMaxCharacterswith a binary search algorithm. - Refined
drawCanvasOnTFTwith frame comparison optimizations. - Updated
MenuScreenandSettingsScreenconstructors to make titles optional. - Allowed
CustomScreenconstructor to define an optional title. - Introduced an overloaded
addItemmethod that automatically uses the title from thenextScreenparameter. - Added a
navigateBack()function to return to the previous screen. - Improved settings to check for duplicate names and types when adding new ones.
- Enabled animations to be toggled with a new function.
- Updated the settings system to use vectors for more efficient handling.
- Changed default button pins to
-1. - Enhanced the settings screen for non-boolean values and added unit support for ranges.
- Added functions to set pins outside constructors.
- Added smooth animations and sub-screen support in settings.
๐ Bug Fixes:
- Resolved a canvas sprite creation bug where width and height used the same value.
- Corrected a self-assignment error in
rect_height. - Validated encoder pins to prevent crashes from invalid setups.
- Added null pointer checks to avoid crashes from invalid screen pointers.
- Fixed toggle switch flickering bugs and improved centering.
- Fixed EEPROM saving for global setting objects.
- Corrected the TFT_BL pin definition error.
- Fixed issues with toggle switches not aligning correctly.
- Fixed crashes caused by invalid option indexes for settings.
- Resolved margin and text alignment issues in the settings screen.
- Refined selection rectangle drawing and removed unneeded variables.
๐ Remaining Bugs:
- None known at this time!
Full Changelog: Compare v3.0.0...v3.1.0