mirror of
https://github.com/JorjBauer/aiie.git
synced 2024-08-14 19:29:00 +00:00
32 lines
546 B
C++
32 lines
546 B
C++
#ifndef __VMDISPLAY_H
|
|
#define __VMDISPLAY_H
|
|
|
|
class MMU;
|
|
|
|
typedef struct {
|
|
uint8_t top;
|
|
uint16_t left;
|
|
uint8_t bottom;
|
|
uint16_t right;
|
|
} AiieRect;
|
|
|
|
class VMDisplay {
|
|
public:
|
|
VMDisplay(uint8_t *vb) { videoBuffer = vb; }
|
|
virtual ~VMDisplay() { videoBuffer = NULL; };
|
|
|
|
virtual void SetMMU(MMU *m) { mmu = m; }
|
|
|
|
virtual bool needsRedraw() = 0;
|
|
virtual void didRedraw() = 0;
|
|
virtual AiieRect getDirtyRect() = 0;
|
|
|
|
virtual void lockDisplay() = 0;
|
|
virtual void unlockDisplay() = 0;
|
|
|
|
MMU *mmu;
|
|
uint8_t *videoBuffer;
|
|
};
|
|
|
|
#endif
|