#pragma once #include "Resource.h" struct IRenderTargetBase; struct __declspec(novtable) ISwapChain { virtual ~ISwapChain() {} virtual void SetWindowParameters(HWND argWindowHandle, uint32 argWidth = 0, uint32 argHeight = 0, uint32 argRefreshRate = 0, DataFormat::Enumeration argFormat = DataFormat::Unknown, uint32 argMultiSampleCount = 1, uint32 argMultiSampleQuality = 0) = 0; virtual void Resize(int argWidth, int argHeight) = 0; virtual void Present() = 0; virtual bool get_Fullscreen() const = 0; virtual void set_Fullscreen(bool argState) = 0; virtual bool get_VSync() const = 0; virtual void set_VSync(bool argState) = 0; virtual IRenderTargetBase& get_Base() = 0; };