forked from xiaozhi/xiaozhi-esp32
* use main task to execute tool calls * feat: add snapshot mcp tool * fix compiling errors * 取消 audio input 的 pin core,core1留给显示,可能会对aec性能有影响 * update ml307 version * remove v1 theme colors
53 lines
1.3 KiB
C++
53 lines
1.3 KiB
C++
#pragma once
|
|
|
|
#include <lvgl.h>
|
|
|
|
|
|
// Wrap around lv_img_dsc_t
|
|
class LvglImage {
|
|
public:
|
|
virtual const lv_img_dsc_t* image_dsc() const = 0;
|
|
virtual bool IsGif() const { return false; }
|
|
virtual ~LvglImage() = default;
|
|
};
|
|
|
|
|
|
class LvglRawImage : public LvglImage {
|
|
public:
|
|
LvglRawImage(void* data, size_t size);
|
|
virtual const lv_img_dsc_t* image_dsc() const override { return &image_dsc_; }
|
|
virtual bool IsGif() const;
|
|
|
|
private:
|
|
lv_img_dsc_t image_dsc_;
|
|
};
|
|
|
|
class LvglCBinImage : public LvglImage {
|
|
public:
|
|
LvglCBinImage(void* data);
|
|
virtual ~LvglCBinImage();
|
|
virtual const lv_img_dsc_t* image_dsc() const override { return image_dsc_; }
|
|
|
|
private:
|
|
lv_img_dsc_t* image_dsc_ = nullptr;
|
|
};
|
|
|
|
class LvglSourceImage : public LvglImage {
|
|
public:
|
|
LvglSourceImage(const lv_img_dsc_t* image_dsc) : image_dsc_(image_dsc) {}
|
|
virtual const lv_img_dsc_t* image_dsc() const override { return image_dsc_; }
|
|
|
|
private:
|
|
const lv_img_dsc_t* image_dsc_;
|
|
};
|
|
|
|
class LvglAllocatedImage : public LvglImage {
|
|
public:
|
|
LvglAllocatedImage(void* data, size_t size);
|
|
LvglAllocatedImage(void* data, size_t size, int width, int height, int stride, int color_format);
|
|
virtual ~LvglAllocatedImage();
|
|
virtual const lv_img_dsc_t* image_dsc() const override { return &image_dsc_; }
|
|
|
|
private:
|
|
lv_img_dsc_t image_dsc_;
|
|
}; |