Files
libsst/Include/ZRenderer/ZWindowRenderTargetBase.hpp
2026-04-03 00:22:39 -05:00

88 lines
1.8 KiB
C++

/*
ZWindowRenderTargetBase.hpp
Author: James Russell <jcrussell@762studios.com>
Created: 04/03/2011
Purpose:
Base class for a window render target.
License:
TODO
*/
#pragma once
#ifndef _ZWINDOWRENDERTARGETBASE_HPP
#define _ZWINDOWRENDERTARGETBASE_HPP
#include <ZRenderer/ZWindowRenderTarget.hpp>
class ZWindowRenderTargetBase : public ZWindowRenderTarget
{
protected:
//The Window Handle
SST_Window WindowHandle;
//The Screen Index
size_t ScreenIndex;
//Our current clear flags
ZRenderTargetClearFlags ClearFlags;
//Whether or not we should auto-swap buffers
bool bAutoSwapBuffers;
/*
Parameterized Constructor.
@param _window - the libsst-wm window handle to this render target
@param _screenIndex - the libsst-wm index of this screen
*/
ZWindowRenderTargetBase(SST_Window _window, size_t _screenIndex);
public:
//Virtual Destructor
virtual ~ZWindowRenderTargetBase() { }
/*************************/
/* ZRenderTarget Methods */
/*************************/
//Subclass Implementation
virtual const ZRenderTargetClearFlags& GetClearFlags();
//Subclass Implementation
virtual size_t GetHeight();
//Subclass Implementation
virtual ZRenderTargetType GetType();
//Subclass Implementation
virtual size_t GetWidth();
//Subclass Implementation
virtual bool SetClearFlags(const ZRenderTargetClearFlags& _flags);
/***********************************/
/* ZWindowRenderTargetBase Methods */
/***********************************/
//Subclass Implementation
virtual bool GetAutoSwapBuffers();
//Subclass Implementation
virtual size_t GetScreenIndex();
//Subclass Implementation
virtual SST_Window GetWindowHandle();
//Subclass Implementation
virtual bool SetAutoSwapBuffers(bool _value);
//Not Implemented
virtual bool SwapBuffers() = 0;
};
#endif