2017-02-19 23:55:54 +00:00
|
|
|
#ifndef __VMDISPLAY_H
|
|
|
|
#define __VMDISPLAY_H
|
|
|
|
|
2018-02-07 15:20:26 +00:00
|
|
|
#include <stdint.h>
|
|
|
|
|
2017-02-19 23:55:54 +00:00
|
|
|
class MMU;
|
|
|
|
|
2017-02-26 16:00:41 +00:00
|
|
|
typedef struct {
|
|
|
|
uint8_t top;
|
|
|
|
uint16_t left;
|
|
|
|
uint8_t bottom;
|
|
|
|
uint16_t right;
|
|
|
|
} AiieRect;
|
|
|
|
|
2017-02-19 23:55:54 +00:00
|
|
|
class VMDisplay {
|
|
|
|
public:
|
2018-02-18 01:44:04 +00:00
|
|
|
VMDisplay() { }
|
|
|
|
virtual ~VMDisplay() { };
|
2017-02-19 23:55:54 +00:00
|
|
|
|
|
|
|
virtual void SetMMU(MMU *m) { mmu = m; }
|
|
|
|
|
|
|
|
virtual bool needsRedraw() = 0;
|
|
|
|
virtual void didRedraw() = 0;
|
2017-02-26 16:00:41 +00:00
|
|
|
virtual AiieRect getDirtyRect() = 0;
|
2017-02-19 23:55:54 +00:00
|
|
|
|
2017-08-30 17:28:48 +00:00
|
|
|
virtual void lockDisplay() = 0;
|
|
|
|
virtual void unlockDisplay() = 0;
|
|
|
|
|
2017-02-19 23:55:54 +00:00
|
|
|
MMU *mmu;
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|