aiie/teensy/teensy-display.h

51 lines
1.4 KiB
C
Raw Normal View History

2017-02-20 18:55:16 +00:00
#ifndef __TEENSY_DISPLAY_H
#define __TEENSY_DISPLAY_H
#include <Arduino.h>
#include <ILI9341_t3n.h>
2020-07-06 20:46:14 +00:00
#include "physicaldisplay.h"
2017-02-20 18:55:16 +00:00
class BIOS;
#define TEENSYDISPLAY_SCALE 1
#define TEENSYDISPLAY_WIDTH (320*TEENSYDISPLAY_SCALE)
#define TEENSYDISPLAY_HEIGHT (240*TEENSYDISPLAY_SCALE)
2017-02-20 18:55:16 +00:00
class TeensyDisplay : public PhysicalDisplay {
friend class BIOS;
public:
TeensyDisplay();
virtual ~TeensyDisplay();
virtual void blit();
virtual void blit(AiieRect r);
2017-02-20 18:55:16 +00:00
virtual void redraw();
virtual void clrScr(uint8_t coloridx);
2020-07-06 20:46:14 +00:00
virtual void flush();
2017-02-20 18:55:16 +00:00
virtual void drawCharacter(uint8_t mode, uint16_t x, uint8_t y, char c);
virtual void drawString(uint8_t mode, uint16_t x, uint8_t y, const char *str);
2018-01-07 19:43:17 +00:00
virtual void drawImageOfSizeAt(const uint8_t *img, uint16_t sizex, uint8_t sizey, uint16_t wherex, uint8_t wherey);
2017-02-20 18:55:16 +00:00
2021-01-19 23:40:13 +00:00
void cacheDoubleWidePixel(uint16_t x, uint16_t y, uint16_t color16);
virtual void cacheDoubleWidePixel(uint16_t x, uint16_t y, uint8_t color);
virtual void cache2DoubleWidePixels(uint16_t x, uint16_t y, uint8_t colorA, uint8_t colorB);
virtual void cachePixel(uint16_t x, uint16_t y, uint8_t color);
uint32_t frameCount();
2017-02-20 18:55:16 +00:00
private:
2018-01-07 19:43:17 +00:00
virtual void drawPixel(uint16_t x, uint16_t y, uint16_t color);
virtual void drawPixel(uint16_t x, uint16_t y, uint8_t r, uint8_t g, uint8_t b);
virtual void drawUIPixel(uint16_t x, uint16_t y, uint16_t color);
2017-02-20 18:55:16 +00:00
bool needsRedraw;
bool driveIndicator[2];
bool driveIndicatorDirty;
2017-02-20 18:55:16 +00:00
};
#endif