feat: display manager for e-ink framebuffer output and text messages

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-08-03 10:56:55 -04:00
parent 451d6bdcea
commit 9e6065f03e
2 changed files with 147 additions and 0 deletions

25
src/display_manager.h Normal file
View File

@@ -0,0 +1,25 @@
#pragma once
#include <Arduino.h>
#include <M5GFX.h>
#include "config.h"
#include "image_pipeline.h"
#include "immich_client.h"
#include "settings.h"
class PowerManager;
class DisplayManager {
public:
void begin(PowerManager& power);
void showImage(const ProcessedImage& img);
void showMessage(const char* title, const char* body);
void showMetadata(const AssetInfo& info, uint8_t metaFlags, MetaPosition pos);
private:
PowerManager* _power = nullptr;
M5GFX* _display = nullptr;
void triggerRefresh();
uint16_t paletteToColor565(uint8_t index);
};