#pragma once #include #include #include "frontends/common2/speed.h" class Emulator { public: Emulator( const std::shared_ptr & window, const std::shared_ptr & renderer, const std::shared_ptr & texture, const bool fixedSpeed ); void execute(const size_t milliseconds); void refreshVideo(); SDL_Rect updateTexture(); void refreshVideo(const SDL_Rect & rect); void processEvents(bool & quit); private: void processKeyDown(const SDL_KeyboardEvent & key, bool & quit); void processKeyUp(const SDL_KeyboardEvent & key); void processText(const SDL_TextInputEvent & text); const std::shared_ptr myWindow; const std::shared_ptr myRenderer; const std::shared_ptr myTexture; int myMultiplier; bool myFullscreen; Speed mySpeed; };