2 Skelton for retropc emulator
4 Author : K.Ohta <whatisthis.sowhat _at_ gmail.com>
14 #include "gui/qt_input.h" // Key code table (VK_foo).
18 class DrawThreadClass;
32 class OSD : public OSD_BASE
36 void set_features_machine(void);
37 void set_features_cpu(void);
38 void set_features_vm(void);
39 void set_features_misc(void);
40 void set_features_debug(void);
42 void vm_draw_screen(void);
43 Sint16* create_sound(int *extra_frames);
44 bool get_use_socket(void);
45 bool get_support_variable_timing(void);
46 bool get_notify_key_down(void);
47 bool get_notify_key_down_lr_shift(void);
48 bool get_notify_key_down_lr_control(void);
49 bool get_notify_key_down_lr_menu(void);
50 bool get_use_shift_numpad_key(void);
51 bool get_use_auto_key(void);
52 bool get_dont_keeep_key_pressed(void);
53 bool get_one_board_micro_computer(void);
54 bool get_use_screen_rotate(void);
55 bool get_use_movie_player(void);
56 bool get_use_video_capture(void);
57 void vm_key_down(int code, bool flag);
58 void vm_key_up(int code);
60 void update_buttons(bool press_flag, bool release_flag);
61 int get_screen_width(void);
62 int get_screen_height(void);
63 int get_vm_buttons_code(int num);
65 void set_features(void);
66 void set_device_name(int id, char *name);
67 MOVIE_LOADER *movie_loader;
69 QTcpSocket2 *tcp_socket[SOCKET_MAX];
70 QUdpSocket2 *udp_socket[SOCKET_MAX];
72 #ifdef USE_SOUND_FILES
73 SOUND_LOADER *tail_sound_file;
74 SOUND_LOADER *sound_file_obj[USE_SOUND_FILES];
76 void init_sound_files();
77 void release_sound_files();
80 OSD(USING_FLAGS *p, CSP_Logger *logger);
82 void initialize(int rate, int samples);
90 void force_unlock_vm(void);
91 bool is_vm_locked(void);
94 void set_draw_thread(DrawThreadClass *handler);
95 void initialize_screen();
96 void release_screen();
97 int get_window_mode_width(int mode);
98 int get_window_mode_height(int mode);
99 QString get_vm_config_name(void);
100 double vm_frame_rate(void);
103 void get_video_buffer();
104 void initialize_video();
105 void release_video();
106 bool open_movie_file(const _TCHAR* file_path);
107 void close_movie_file();
108 uint32_t get_cur_movie_frame();
109 int get_movie_sound_rate();
112 void reset_vm_node(void);
115 void initialize_socket();
116 void release_socket();
117 void notify_socket_connected(int ch);
118 void notify_socket_disconnected(int ch);
119 void update_socket();
120 bool initialize_socket_tcp(int ch);
121 bool initialize_socket_udp(int ch);
122 bool connect_socket(int ch, uint32_t ipaddr, int port);
123 void disconnect_socket(int ch);
124 bool listen_socket(int ch);
125 void send_socket_data_tcp(int ch);
126 void send_socket_data_udp(int ch, uint32_t ipaddr, int port);
127 void send_socket_data(int ch);
128 void recv_socket_data(int ch);
129 int get_socket(int ch);
132 #ifdef USE_SOUND_FILES
133 void load_sound_file(int id, const _TCHAR *name, int16_t **data, int *dst_size);
134 void free_sound_file(int id, int16_t **data);
136 void debug_log(int level, int domain_num, char *strbuf);
138 void do_decode_movie(int frames);
139 void do_run_movie_audio_callback(uint8_t *data, long len);
140 void do_notify_socket_connected(int ch);
141 void do_notify_socket_disconnected(int ch);