first commit
Some checks failed
Build Boards / Determine variants to build (push) Has been cancelled
Build Boards / Build ${{ matrix.full_name }} (push) Has been cancelled

This commit is contained in:
0Xiao0
2026-06-15 16:47:28 +08:00
commit 7b5da81892
880 changed files with 37359 additions and 0 deletions

View File

@ -0,0 +1,42 @@
#pragma once
#include "display.h"
#include <memory>
#include <string>
#include <esp_lcd_panel_io.h>
#include <esp_lcd_panel_ops.h>
#include "expression_emote.h"
namespace emote {
class EmoteDisplay : public Display {
public:
EmoteDisplay(esp_lcd_panel_handle_t panel, esp_lcd_panel_io_handle_t panel_io, int width, int height);
virtual ~EmoteDisplay();
virtual void SetEmotion(const char* emotion) override;
virtual void SetStatus(const char* status) override;
virtual void SetChatMessage(const char* role, const char* content) override;
virtual void SetTheme(Theme* theme) override;
virtual void ShowNotification(const char* notification, int duration_ms = 3000) override;
virtual void UpdateStatusBar(bool update_all = false) override;
virtual void SetPowerSaveMode(bool on) override;
virtual void SetPreviewImage(const void* image);
bool StopAnimDialog();
bool InsertAnimDialog(const char* emoji_name, uint32_t duration_ms);
void RefreshAll();
// Get emote handle for internal use
emote_handle_t GetEmoteHandle() const { return emote_handle_; }
private:
virtual bool Lock(int timeout_ms = 0) override;
virtual void Unlock() override;
emote_handle_t emote_handle_ = nullptr;
};
} // namespace emote