Mercurial > repos > blastem
comparison render.h @ 1648:b7ecd0d6a77b mame_interp
Merge from default
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Tue, 25 Dec 2018 11:12:26 -0800 |
parents | c6b2c0f8cc61 |
children | b500e971da75 |
comparison
equal
deleted
inserted
replaced
1509:36732f5c2281 | 1648:b7ecd0d6a77b |
---|---|
38 #define RENDERKEY_F12 SDLK_F12 | 38 #define RENDERKEY_F12 SDLK_F12 |
39 #define RENDERKEY_SELECT SDLK_SELECT | 39 #define RENDERKEY_SELECT SDLK_SELECT |
40 #define RENDERKEY_PLAY SDLK_AUDIOPLAY | 40 #define RENDERKEY_PLAY SDLK_AUDIOPLAY |
41 #define RENDERKEY_SEARCH SDLK_AC_SEARCH | 41 #define RENDERKEY_SEARCH SDLK_AC_SEARCH |
42 #define RENDERKEY_BACK SDLK_AC_BACK | 42 #define RENDERKEY_BACK SDLK_AC_BACK |
43 #define RENDERKEY_NP0 SDLK_KP_0 | |
44 #define RENDERKEY_NP1 SDLK_KP_1 | |
45 #define RENDERKEY_NP2 SDLK_KP_2 | |
46 #define RENDERKEY_NP3 SDLK_KP_3 | |
47 #define RENDERKEY_NP4 SDLK_KP_4 | |
48 #define RENDERKEY_NP5 SDLK_KP_5 | |
49 #define RENDERKEY_NP6 SDLK_KP_6 | |
50 #define RENDERKEY_NP7 SDLK_KP_7 | |
51 #define RENDERKEY_NP8 SDLK_KP_8 | |
52 #define RENDERKEY_NP9 SDLK_KP_9 | |
53 #define RENDERKEY_NP_DIV SDLK_KP_DIVIDE | |
54 #define RENDERKEY_NP_MUL SDLK_KP_MULTIPLY | |
55 #define RENDERKEY_NP_MIN SDLK_KP_MINUS | |
56 #define RENDERKEY_NP_PLUS SDLK_KP_PLUS | |
57 #define RENDERKEY_NP_ENTER SDLK_KP_ENTER | |
58 #define RENDERKEY_NP_STOP SDLK_KP_PERIOD | |
43 #define RENDER_DPAD_UP SDL_HAT_UP | 59 #define RENDER_DPAD_UP SDL_HAT_UP |
44 #define RENDER_DPAD_DOWN SDL_HAT_DOWN | 60 #define RENDER_DPAD_DOWN SDL_HAT_DOWN |
45 #define RENDER_DPAD_LEFT SDL_HAT_LEFT | 61 #define RENDER_DPAD_LEFT SDL_HAT_LEFT |
46 #define RENDER_DPAD_RIGHT SDL_HAT_RIGHT | 62 #define RENDER_DPAD_RIGHT SDL_HAT_RIGHT |
47 #define render_relative_mouse SDL_SetRelativeMouseMode | 63 #define render_relative_mouse SDL_SetRelativeMouseMode |
50 #define MAX_MICE 8 | 66 #define MAX_MICE 8 |
51 #define MAX_MOUSE_BUTTONS 8 | 67 #define MAX_MOUSE_BUTTONS 8 |
52 | 68 |
53 #define FRAMEBUFFER_ODD 0 | 69 #define FRAMEBUFFER_ODD 0 |
54 #define FRAMEBUFFER_EVEN 1 | 70 #define FRAMEBUFFER_EVEN 1 |
71 #define FRAMEBUFFER_USER_START 2 | |
55 | 72 |
56 #include "vdp.h" | 73 #include "vdp.h" |
57 #include "psg.h" | |
58 #include "ym2612.h" | |
59 | 74 |
60 typedef enum { | 75 typedef enum { |
61 VID_NTSC, | 76 VID_NTSC, |
62 VID_PAL, | 77 VID_PAL, |
63 NUM_VID_STD | 78 NUM_VID_STD |
67 #define RENDER_AXIS_BIT 0x20000000 | 82 #define RENDER_AXIS_BIT 0x20000000 |
68 #define RENDER_INVALID_NAME -1 | 83 #define RENDER_INVALID_NAME -1 |
69 #define RENDER_NOT_MAPPED -2 | 84 #define RENDER_NOT_MAPPED -2 |
70 #define RENDER_NOT_PLUGGED_IN -3 | 85 #define RENDER_NOT_PLUGGED_IN -3 |
71 | 86 |
87 typedef struct audio_source audio_source; | |
72 typedef void (*drop_handler)(const char *filename); | 88 typedef void (*drop_handler)(const char *filename); |
73 | 89 |
74 uint32_t render_map_color(uint8_t r, uint8_t g, uint8_t b); | 90 uint32_t render_map_color(uint8_t r, uint8_t g, uint8_t b); |
75 void render_save_screenshot(char *path); | 91 void render_save_screenshot(char *path); |
92 uint8_t render_create_window(char *caption, uint32_t width, uint32_t height); | |
93 void render_destroy_window(uint8_t which); | |
76 uint32_t *render_get_framebuffer(uint8_t which, int *pitch); | 94 uint32_t *render_get_framebuffer(uint8_t which, int *pitch); |
77 void render_framebuffer_updated(uint8_t which, int width); | 95 void render_framebuffer_updated(uint8_t which, int width); |
96 //returns the framebuffer index associated with the Window that has focus | |
97 uint8_t render_get_active_framebuffer(void); | |
78 void render_init(int width, int height, char * title, uint8_t fullscreen); | 98 void render_init(int width, int height, char * title, uint8_t fullscreen); |
79 void render_set_video_standard(vid_std std); | 99 void render_set_video_standard(vid_std std); |
80 void render_toggle_fullscreen(); | 100 void render_toggle_fullscreen(); |
81 void render_update_caption(char *title); | 101 void render_update_caption(char *title); |
82 void render_wait_quit(vdp_context * context); | 102 void render_wait_quit(vdp_context * context); |
83 void render_wait_psg(psg_context * context); | |
84 void render_wait_ym(ym2612_context * context); | |
85 void render_disable_ym(); | |
86 void render_enable_ym(); | |
87 uint32_t render_audio_buffer(); | 103 uint32_t render_audio_buffer(); |
88 uint32_t render_sample_rate(); | 104 uint32_t render_sample_rate(); |
89 void process_events(); | 105 void process_events(); |
90 int render_width(); | 106 int render_width(); |
91 int render_height(); | 107 int render_height(); |
94 void process_events(); | 110 void process_events(); |
95 int32_t render_translate_input_name(int32_t controller, char *name, uint8_t is_axis); | 111 int32_t render_translate_input_name(int32_t controller, char *name, uint8_t is_axis); |
96 int32_t render_dpad_part(int32_t input); | 112 int32_t render_dpad_part(int32_t input); |
97 int32_t render_axis_part(int32_t input); | 113 int32_t render_axis_part(int32_t input); |
98 uint8_t render_direction_part(int32_t input); | 114 uint8_t render_direction_part(int32_t input); |
115 char* render_joystick_type_id(int index); | |
99 void render_errorbox(char *title, char *message); | 116 void render_errorbox(char *title, char *message); |
100 void render_warnbox(char *title, char *message); | 117 void render_warnbox(char *title, char *message); |
101 void render_infobox(char *title, char *message); | 118 void render_infobox(char *title, char *message); |
102 uint32_t render_emulated_width(); | 119 uint32_t render_emulated_width(); |
103 uint32_t render_emulated_height(); | 120 uint32_t render_emulated_height(); |
104 uint32_t render_overscan_top(); | 121 uint32_t render_overscan_top(); |
105 uint32_t render_overscan_left(); | 122 uint32_t render_overscan_left(); |
123 uint32_t render_elapsed_ms(void); | |
124 void render_sleep_ms(uint32_t delay); | |
125 uint8_t render_has_gl(void); | |
126 audio_source *render_audio_source(uint64_t master_clock, uint64_t sample_divider, uint8_t channels); | |
127 void render_audio_adjust_clock(audio_source *src, uint64_t master_clock, uint64_t sample_divider); | |
128 void render_put_mono_sample(audio_source *src, int16_t value); | |
129 void render_put_stereo_sample(audio_source *src, int16_t left, int16_t right); | |
130 void render_pause_source(audio_source *src); | |
131 void render_resume_source(audio_source *src); | |
132 void render_free_source(audio_source *src); | |
133 void render_config_updated(void); | |
106 | 134 |
107 #endif //RENDER_H_ | 135 #endif //RENDER_H_ |
108 | 136 |