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