1 /*****************************************************************************\ 2 Snes9x - Portable Super Nintendo Entertainment System (TM) emulator. 3 This file is licensed under the Snes9x License. 4 For further information, consult the LICENSE file in the root directory. 5 \*****************************************************************************/ 6 7 #ifndef IS9XDISPLAYOUTPUT_H 8 #define IS9XDISPLAYOUTPUT_H 9 #include "../port.h" 10 #include "render.h" 11 #include "wsnes9x.h" 12 #include <vector> 13 14 /* IS9xDisplayOutput 15 Interface for display driver. 16 */ 17 class IS9xDisplayOutput 18 { 19 private: 20 21 public: 22 virtual bool Initialize(HWND hWnd)=0; 23 virtual void DeInitialize()=0; 24 virtual void Render(SSurface Src)=0; 25 virtual bool ChangeRenderSize(unsigned int newWidth, unsigned int newHeight)=0; 26 virtual bool ApplyDisplayChanges(void)=0; 27 virtual bool SetFullscreen(bool fullscreen)=0; 28 virtual void SetSnes9xColorFormat()=0; 29 virtual void EnumModes(std::vector<dMode> *modeVector)=0; 30 }; 31 32 33 #endif 34