11 #include "threads/Event.h" 16 CAPTURESTATE_NEEDSRENDER,
17 CAPTURESTATE_NEEDSREADOUT,
20 CAPTURESTATE_NEEDSDELETE
29 virtual void BeginRender() = 0;
30 virtual void EndRender() = 0;
32 virtual void ReadOut() {}
33 virtual void* GetRenderBuffer() {
return m_pixels; }
36 void SetState(ECAPTURESTATE state) { m_state = state; }
39 ECAPTURESTATE GetState() {
return m_state;}
42 void SetUserState(ECAPTURESTATE state) { m_userState = state; }
49 ECAPTURESTATE GetUserState() {
return m_userState; }
54 CEvent& GetEvent() {
return m_event; }
57 void SetFlags(
int flags) { m_flags = flags; }
60 int GetFlags() {
return m_flags; }
63 void SetWidth(
unsigned int width) { m_width = width; }
66 void SetHeight(
unsigned int height) { m_height = height; }
69 unsigned int GetWidth() {
return m_width; }
72 unsigned int GetHeight() {
return m_height; }
78 uint8_t* GetPixels()
const {
return m_pixels; }
83 bool IsAsync() {
return m_asyncSupported; }
86 bool UseOcclusionQuery();
88 ECAPTURESTATE m_state{CAPTURESTATE_FAILED};
89 ECAPTURESTATE m_userState{CAPTURESTATE_FAILED};
93 uint8_t* m_pixels{
nullptr};
94 unsigned int m_width{0};
95 unsigned int m_height{0};
96 unsigned int m_bufferSize{0};
99 bool m_asyncSupported{
false};
100 bool m_asyncChecked{
false};
This is an Event class built from a ConditionVariable.
Definition: Event.h:35
Definition: RenderCapture.h:23