mirror of
https://github.com/meshcore-dev/MeshCore.git
synced 2026-04-20 22:13:47 +00:00
39 lines
1 KiB
C++
39 lines
1 KiB
C++
#pragma once
|
|
|
|
#include <helpers/ui/DisplayDriver.h>
|
|
|
|
#define LGFX_USE_V1
|
|
#include <LovyanGFX.hpp>
|
|
|
|
#ifndef UI_ZOOM
|
|
#define UI_ZOOM 1
|
|
#endif
|
|
|
|
class LGFXDisplay : public DisplayDriver {
|
|
protected:
|
|
LGFX_Device* display;
|
|
LGFX_Sprite buffer;
|
|
|
|
bool _isOn = false;
|
|
int _color = TFT_WHITE;
|
|
|
|
public:
|
|
LGFXDisplay(int w, int h, LGFX_Device &disp)
|
|
: DisplayDriver(w/UI_ZOOM, h/UI_ZOOM), display(&disp) {}
|
|
bool begin();
|
|
bool isOn() override { return _isOn; }
|
|
void turnOn() override;
|
|
void turnOff() override;
|
|
void clear() override;
|
|
void startFrame(Color bkg = DARK) override;
|
|
void setTextSize(int sz) override;
|
|
void setColor(Color c) override;
|
|
void setCursor(int x, int y) override;
|
|
void print(const char* str) override;
|
|
void fillRect(int x, int y, int w, int h) override;
|
|
void drawRect(int x, int y, int w, int h) override;
|
|
void drawXbm(int x, int y, const uint8_t* bits, int w, int h) override;
|
|
uint16_t getTextWidth(const char* str) override;
|
|
void endFrame() override;
|
|
virtual bool getTouch(int *x, int *y);
|
|
};
|