port from perforce

This commit is contained in:
2026-04-18 22:31:51 +02:00
commit 8d0ab5b7cc
8409 changed files with 3972376 additions and 0 deletions

View File

@@ -0,0 +1,44 @@
#pragma once
#include "IEngine.h"
#include "ISwapChain.h"
#include "../RenderTargetBase.h"
class SwapChain
: public RenderTargetBase
, public ISwapChain
{
public:
SwapChain(IEngine& argEngine);
virtual ~SwapChain();
virtual void SetWindowParameters(HWND argWindowHandle, uint32 argWidth = 0, uint32 argHeight = 0, uint32 argRefreshRate = 0, DataFormat::Enumeration argFormat = DataFormat::Unknown, uint32 argMultiSampleCount = 0, uint32 argMultiSampleQuality = 0);
virtual void Resize(int argWidth, int argHeight);
virtual void Present();
virtual bool get_Fullscreen() const { return !m_SwapChainDescription.Windowed; }
virtual void set_Fullscreen(bool argState);
virtual bool get_VSync() const { return m_VSync; }
virtual void set_VSync(bool argState) {m_VSync = argState; }
virtual IRenderTargetBase& get_Base() { return *dynamic_cast<IRenderTargetBase*>(this); }
// IRenderTargetBase
virtual uint32 get_RenderTargetWidth() const { return m_SwapChainDescription.BufferDesc.Width; }
virtual uint32 get_RenderTargetHeight() const { return m_SwapChainDescription.BufferDesc.Height; }
virtual DataFormat::Enumeration get_RenderTargetFormat() const { return (DataFormat::Enumeration)m_SwapChainDescription.BufferDesc.Format; }
protected:
//ICommandUser
virtual string8 get_UserName() const { return "SwapChain"; }
protected:
void RetriveData();
virtual void Uninitialize();
private:
DXGI_SWAP_CHAIN_DESC m_SwapChainDescription;
IDXGISwapChain* m_SwapChain;
bool m_VSync;
};