kopia lustrzana https://github.com/lora-aprs/LoRa_APRS_iGate
56 wiersze
1.3 KiB
C++
56 wiersze
1.3 KiB
C++
#ifndef BITMAP_H_
|
|
#define BITMAP_H_
|
|
|
|
#include <Arduino.h>
|
|
#include <memory>
|
|
|
|
class OLEDDisplay;
|
|
|
|
class Bitmap {
|
|
public:
|
|
explicit Bitmap(uint width, uint height);
|
|
explicit Bitmap(OLEDDisplay *display);
|
|
virtual ~Bitmap();
|
|
|
|
uint getWidth() const;
|
|
uint getHeight() const;
|
|
|
|
void setPixel(int x, int y);
|
|
void clearPixel(int x, int y);
|
|
bool getPixel(int x, int y) const;
|
|
void clear();
|
|
|
|
void drawLine(int x0, int y0, int x1, int y1);
|
|
void drawHorizontalLine(int x, int y, int length);
|
|
void drawVerticalLine(int x, int y, int length);
|
|
|
|
void drawRect(int x, int y, int width, int height);
|
|
void fillRect(int x, int y, int width, int height);
|
|
|
|
void drawCircle(int x0, int y0, int radius);
|
|
void fillCircle(int x0, int y0, int radius);
|
|
void drawCircleQuads(int x0, int y0, int radius, int quads);
|
|
|
|
void drawProgressBar(int x, int y, int width, int height, int progress);
|
|
|
|
int drawChar(int x, int y, char c);
|
|
int drawString(int x, int y, String text);
|
|
void drawStringf(int x, int y, char *buffer, String format, ...);
|
|
int drawStringLF(int x, int y, String text);
|
|
void drawStringLFf(int x, int y, char *buffer, String format, ...);
|
|
|
|
// void drawBitmap(int x, int y, const Bitmap & bitmap);
|
|
|
|
private:
|
|
const uint _width;
|
|
const uint _height;
|
|
|
|
uint8_t *_buffer;
|
|
|
|
void allocateBuffer();
|
|
|
|
friend class SSD1306;
|
|
};
|
|
|
|
#endif
|