2013-07-06 04:37:13 +00:00
|
|
|
/*
|
2015-10-22 05:13:26 +00:00
|
|
|
* Apple // emulator for *ix
|
|
|
|
*
|
|
|
|
* This software package is subject to the GNU General Public License
|
|
|
|
* version 3 or later (your choice) as published by the Free Software
|
|
|
|
* Foundation.
|
2013-06-11 07:08:15 +00:00
|
|
|
*
|
|
|
|
* Copyright 1994 Alexander Jean-Claude Bottema
|
|
|
|
* Copyright 1995 Stephen Lee
|
|
|
|
* Copyright 1997, 1998 Aaron Culliney
|
|
|
|
* Copyright 1998, 1999, 2000 Michael Deutschmann
|
2015-10-22 05:13:26 +00:00
|
|
|
* Copyright 2013-2015 Aaron Culliney
|
2013-06-11 07:08:15 +00:00
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef A2_VIDEO_H
|
|
|
|
#define A2_VIDEO_H
|
|
|
|
|
2015-03-23 01:53:13 +00:00
|
|
|
typedef struct video_backend_s {
|
|
|
|
void (*init)(void *context);
|
|
|
|
void (*main_loop)(void);
|
|
|
|
void (*reshape)(int width, int height);
|
|
|
|
void (*render)(void);
|
2016-02-06 22:45:59 +00:00
|
|
|
void (*shutdown)(bool emulatorShuttingDown);
|
2015-03-23 01:53:13 +00:00
|
|
|
} video_backend_s;
|
2013-06-11 07:08:15 +00:00
|
|
|
|
2015-04-12 22:35:16 +00:00
|
|
|
/*
|
|
|
|
* The registered video backend (renderer).
|
|
|
|
*/
|
2015-04-18 04:40:56 +00:00
|
|
|
extern video_backend_s *video_backend;
|
2015-04-12 22:35:16 +00:00
|
|
|
|
2015-03-23 01:53:13 +00:00
|
|
|
/*
|
|
|
|
* Color structure
|
|
|
|
*/
|
|
|
|
typedef struct A2Color_s {
|
2014-08-17 22:31:49 +00:00
|
|
|
uint8_t red;
|
|
|
|
uint8_t green;
|
|
|
|
uint8_t blue;
|
2015-03-23 01:53:13 +00:00
|
|
|
} A2Color_s;
|
2014-08-17 22:31:49 +00:00
|
|
|
|
|
|
|
/*
|
|
|
|
* Reference to the internal 8bit-indexed color format
|
|
|
|
*/
|
2016-02-07 05:23:40 +00:00
|
|
|
extern A2Color_s colormap[256];
|
2015-09-11 07:00:04 +00:00
|
|
|
|
2013-06-11 07:08:15 +00:00
|
|
|
#endif /* !A2_VIDEO_H */
|
2015-03-23 01:53:13 +00:00
|
|
|
|