Skip to content

espressif2022/esp_emote_gfx

Repository files navigation

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.

Component Registry

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

  1. ESP-IDF
    Ensure your project includes ESP-IDF 5.0 or higher. Refer to the ESP-IDF Documentation for setup instructions.

  2. FreeType
    This component depends on the FreeType library for font rendering.

  3. 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 constants
  • core/gfx_core.h - Core graphics functions
  • core/gfx_timer.h - Timer and timing utilities
  • core/gfx_obj.h - Graphics object system
  • widget/gfx_img.h - Image widget functionality
  • widget/gfx_label.h - Label widget functionality
  • widget/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.

About

A lightweight emotion-driven graphics engine for embedded systems.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages