2.7 KiB
ESP Emote GFX
Introduction
esp_emote_gfx is a lightweight and efficient graphics framework component designed for ESP-IDF embedded systems. It provides a comprehensive graphics API with object system, drawing functions, color utilities, and animation capabilities. This module ensures high performance and flexibility for modern embedded applications that require efficient graphics rendering.
Features
- Object System: Support for images, labels, and other graphics objects
- Drawing Functions: Efficient rendering to frame buffers
- Color Utilities: Comprehensive color management and type definitions
- Software Blending: Advanced blending capabilities for smooth graphics
- Animation Support: Built-in animation framework for dynamic graphics
- Timer System: Integrated timing functions for smooth animations
- Memory Efficient: Optimized for embedded systems with limited resources
Dependencies
-
ESP-IDF
Ensure your project includes ESP-IDF 5.0 or higher. Refer to the ESP-IDF Documentation for setup instructions. -
FreeType
This component depends on the FreeType library for font rendering. -
ESP New JPEG
JPEG decoding support through the ESP New JPEG component.
Usage
Basic Setup
#include "gfx.h"
// Initialize the GFX framework
// Your initialization code here
Creating Graphics Objects
// Create an image object
gfx_img_t *img = gfx_img_create();
// Create a label object
gfx_label_t *label = gfx_label_create();
Animation
// Create and configure animations
gfx_anim_t *anim = gfx_anim_create();
// Configure your animation parameters
API Reference
The main API is exposed through the gfx.h header file, which includes:
core/gfx_types.h- Type definitions and constantscore/gfx_core.h- Core graphics functionscore/gfx_timer.h- Timer and timing utilitiescore/gfx_obj.h- Graphics object systemwidget/gfx_img.h- Image widget functionalitywidget/gfx_label.h- Label widget functionalitywidget/gfx_anim.h- Animation framework
Font Support
This component includes support for LVGL fonts. For detailed information about font integration and usage, please refer to LVGL_FONT_SUPPORT.md.
License
This project is licensed under the Apache License 2.0. See the LICENSE file for details.
Contributing
Contributions are welcome! Please feel free to submit issues and enhancement requests.