Files
immich-frame/src/display_manager.h

34 lines
1.1 KiB
C
Raw Normal View History

#pragma once
#include <Arduino.h>
#include <M5GFX.h>
#include <qrcode.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 showSetupScreen();
void showImage(const ProcessedImage& img);
void showMessage(const char* title, const char* body);
void showMetadata(const AssetInfo& info, uint8_t metaFlags, MetaPosition pos,
const String& dateFmt = "%Y-%m-%d", const String& timeFmt = "%H:%M:%S");
void showMetadataInRegion(const AssetInfo& info, uint8_t metaFlags, MetaPosition pos,
uint16_t regionX, uint16_t regionY, uint16_t regionW, uint16_t regionH,
const String& dateFmt = "%Y-%m-%d", const String& timeFmt = "%H:%M:%S");
void showSleepIndicator(MetaPosition metaPos);
void refresh();
private:
PowerManager* _power = nullptr;
M5GFX* _display = nullptr;
void triggerRefresh();
uint16_t paletteToColor565(uint8_t index);
};