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