diff options
author | Andreas Baumann <mail@andreasbaumann.cc> | 2020-11-29 19:31:22 +0100 |
---|---|---|
committer | Andreas Baumann <mail@andreasbaumann.cc> | 2020-11-29 19:31:22 +0100 |
commit | c7b0b280339064ab1b673ab7767d0318b2e9b72a (patch) | |
tree | b597ee3f3c36db401eccb5bca5e8d7f8a8db8485 /emu/device.h | |
parent | aca930d803177cb6ea8ebadd77b6ef09ab2b5b49 (diff) | |
download | 6502-c7b0b280339064ab1b673ab7767d0318b2e9b72a.tar.gz 6502-c7b0b280339064ab1b673ab7767d0318b2e9b72a.tar.bz2 |
7-segment display is now drawn
Diffstat (limited to 'emu/device.h')
-rw-r--r-- | emu/device.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/emu/device.h b/emu/device.h index ce2abad..41c430f 100644 --- a/emu/device.h +++ b/emu/device.h @@ -3,22 +3,35 @@ #include <stdint.h> +#ifdef WITH_GUI +#include <SDL.h> +#endif + struct device_t; typedef struct device_vtable_t { uint8_t (*read)( void *obj, uint16_t addr ); void (*write)( void *obj, uint16_t addr, uint8_t data ); +#ifdef WITH_GUI + void (*draw)( void *obj, SDL_Renderer *renderer ); +#endif void (*deinit)( void *obj ); } device_vtable_t; typedef struct device_t { device_vtable_t const *vtable; char *name; +#ifdef WITH_GUI + SDL_Renderer *renderer; +#endif } device_t; void device_init( device_t *device, const char *name ); uint8_t device_read( void *obj, uint16_t addr ); void device_write( void *obj, uint16_t addr, uint8_t data ); +#ifdef WITH_GUI +void device_draw( void *obj, SDL_Renderer *renderer ); +#endif void device_deinit( void *obj ); #endif |