Delay committing fullscreen until seeing window size change
[lsnes.git] / include / core / mainloop.hpp
blob3cb4e883d83f6c6170d3177d6a9b16337f1240d8
1 #ifndef _mainloop__hpp__included__
2 #define _mainloop__hpp__included__
4 #include "settings.hpp"
5 #include "rom.hpp"
6 #include "moviefile.hpp"
7 #include "movie.hpp"
9 /**
10 * \brief Emulator main loop.
12 void main_loop(struct loaded_rom& rom, struct moviefile& settings, bool load_has_to_succeed = false)
13 throw(std::bad_alloc, std::runtime_error);
14 std::vector<std::string> get_jukebox_names();
15 void set_jukebox_names(const std::vector<std::string>& newj);
16 void init_main_callbacks();
17 extern std::string msu1_base_path;
19 /**
20 * Signal that fast rewind operation is needed.
22 * Parameter ptr: If NULL, saves a state and calls lua_callback_do_unsafe_rewind() with quicksave, movie and NULL.
23 * If non-NULL, calls lua_callback_do_unsafe_rewind() with movie and this parameter, but without quicksave.
25 void mainloop_signal_need_rewind(void* ptr);
27 void set_stop_at_frame(uint64_t frame = 0);
28 void switch_projects(const std::string& newproj);
29 void close_rom();
30 void load_new_rom(const romload_request& req);
31 void reload_current_rom();
32 void do_break_pause();
33 void convert_break_to_pause();
35 extern settingvar::supervariable<settingvar::model_bool<settingvar::yes_no>> movie_dflt_binary;
36 extern settingvar::supervariable<settingvar::model_bool<settingvar::yes_no>> save_dflt_binary;
38 #endif