TRX/lib/ddraw/DirectDrawClipper.hpp
2021-11-21 22:29:06 +01:00

38 lines
957 B
C++

#pragma once
#include "Unknown.hpp"
#include "ddraw.hpp"
namespace glrage {
namespace ddraw {
class DirectDrawClipper
: public Unknown
, public IDirectDrawClipper
{
public:
DirectDrawClipper();
virtual ~DirectDrawClipper();
/*** IUnknown methods ***/
virtual HRESULT WINAPI QueryInterface(REFIID riid, LPVOID* ppvObj);
virtual ULONG WINAPI AddRef();
virtual ULONG WINAPI Release();
/*** IDirectDrawClipper methods ***/
HRESULT WINAPI GetClipList(LPRECT lpRect,
LPRGNDATA lpClipList,
LPDWORD lpdwSize);
HRESULT WINAPI GetHWnd(HWND* lphWnd);
HRESULT WINAPI Initialize(LPDIRECTDRAW lpDD, DWORD dwFlags);
HRESULT WINAPI IsClipListChanged(BOOL* lpbChanged);
HRESULT WINAPI SetClipList(LPRGNDATA lpClipList, DWORD dwFlags);
HRESULT WINAPI SetHWnd(DWORD dwFlags, HWND hWnd);
private:
HWND m_hWnd = nullptr;
RGNDATA m_clipList;
};
} // namespace ddraw
} // namespace glrage