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