Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
GrayGUI::cXDesktopMgr Class Reference

#include <cXDesktopMgr.h>

Inheritance diagram for GrayGUI::cXDesktopMgr:
GrayLib::cScriptableObj Gray3D::cDXRenderBatch Gray::cSingletonStatic< cXDesktopMgr > IScriptableObj Gray3D::cDXBase

Public Types

enum  P_TYPE_ { P_QTY }
 
enum  M_TYPE_ { M_QTY }
 

Public Member Functions

 cXDesktopMgr (void)
 
 ~cXDesktopMgr ()
 
virtual const char * get_NameCPtr () const
 Render type must have a name. More...
 
 STDMETHOD_ (cString, get_Name)() const
 
virtual HRESULT OneTimeSceneInit ()
 
void PartialCleanup ()
 
virtual void FinalCleanup ()
 
virtual HRESULT InitDeviceObjects (IDirect3DDevice9 *pDev)
 
virtual HRESULT DeleteDeviceObjects ()
 
virtual HRESULT OnResetDeviceX ()
 
virtual HRESULT OnLostDeviceX ()
 
virtual void FrameMoveAll (TIMESECF_t fElapsedTime)
 
virtual HRESULT RenderAll (CCamera *pCamera)
 
void OnSize (UINT uType, int cx, int cy)
 
bool OnMouseWheel (MBUTTON_TYPE uButton, int x, int y, short nWheelChange)
 
bool OnMouse_GUI (WINMSG_t msg, int x, int y)
 
bool OnMouse_Arrow (WINMSG_t msg, int x, int y)
 
void OnCancelMode ()
 
bool OnKeyboardEvent (WINMSG_t msg, VK_TYPE vKey)
 
STDMETHOD() s_PropGet (const cScriptableProp *pProp, OUT cVariant &vValRet) override
 
STDMETHOD() s_PropPut (const cScriptableProp *pProp, const cVariant &vVal) override
 
STDMETHOD() s_Invoke (const cScriptableMethod *pMethod, const cVariant &vArgs, OUT cVariant &vValRet) override
 
STDMETHOD() SetObjStateLoaded () override
 
void ButtonDrag_OnMouse (cXWindow *pDrag, cXWindow *pDragDummy, int x, int y, bool bTest)
 
void SetMouseCapture (cXWindow *pWindow, MOUSEMODE_TYPE mode)
 
cXWindowPtr GetConsumingControl (int x, int y, cXWindow *pIgnore) const
 
cXDTBasePtr get_DesktopActive (void) const noexcept
 
void put_DesktopActiveX (X_WNDCLASS_TYPE eXWClass)
 
void SetScissorDesktop ()
 
HRESULT SetViewportDesktop ()
 
cXWindowPtr get_KeyFocus (void) const
 
bool put_KeyFocus (cXWindow *pControl)
 
cXDialogPtr get_DialogActive (void) const
 
void put_DialogActive (cXDialog *pDialog)
 
void put_DropListRoot (cXComboBox *pDropList)
 
cXDialogPtr get_DialogModal (void) const
 
cXDialogPtr put_DialogModal (cXDialog *pDialog)
 
HRESULT DialogPlacementInit ()
 
cXDialogPlacementPtr DialogPlacementAlloc (X_WNDCLASS_TYPE eXWClass)
 
void DialogPlacementRelease (cXDialogPlacementObj *pDP)
 
void DialogPlacementExit ()
 
bool Menu_Close ()
 
cXMenuPtr Menu_Open (cXWindow *pParent, bool bContext=false)
 
bool IsChildTypeOpen (X_WNDCLASS_TYPE xClassType, DLGID_t id=k_DLGID_ANY) const
 
 CSCRIPT_CLASS_DEF1 (XDesktopMgr, cXObject)
 
void s_Update (P_TYPE_ iProp)
 
- Public Member Functions inherited from GrayLib::cScriptableObj
virtual ~cScriptableObj ()
 
 STDMETHOD_ (cScriptableInterfaceDefPtr, get_ScriptInterfaceDef)() const
 
STDMETHOD() s_PropGet (const cScriptableProp *pProp, OUT cVariant &vValRet) override
 
STDMETHOD() s_PropPut (const cScriptableProp *pProp, const cVariant &vVal) override
 
STDMETHOD() s_Invoke (const cScriptableMethod *pMethod, const cVariant &vArgs, OUT cVariant &vValRet) override
 
const cScriptablePropFindPropStr (const ATOMCHAR_t *pszPropName) const
 
const cScriptableMethodFindMethodStr (const ATOMCHAR_t *pszPropName) const
 
HRESULT s_InvokeKey (const ATOMCHAR_t *pszMethodKey, const cVariant &vArgs, OUT cVariant &vValRet)
 
 STDMETHOD_ (cVariant, s_Exec)(const ATOMCHAR_t *pszMethodKey
 
STDMETHOD() s_GetEnum (ITERATE_t i, OUT cStringA &rsPropName, OUT cVariant &rvValRet) override
 
STDMETHOD() s_GetByName (const ATOMCHAR_t *pszPropName, OUT cVariant &rvValRet) override
 
STDMETHOD() s_Put (const ATOMCHAR_t *pszPropName, const cVariant &vValSet) override
 
void s_LoadPropsCommandLine (cAppArgs &args)
 
HRESULT s_LoadPropsBase (IScriptableEnumerator &rProps)
 
HRESULT s_LoadPropVar (const ATOMCHAR_t *pszPropName, const cVariant &vVal)
 
HRESULT s_WritePropNULL (IScriptableSetter &s, const cScriptableProp *pProp)
 
HRESULT s_WriteProp (IScriptableSetter &s, const cScriptableProp *pProp)
 
HRESULT s_WritePropsClass (IScriptableSetter &s, const cScriptableInterfaceDef *pClass)
 
HRESULT s_WritePropsArray (IScriptableSetter &s, const cScriptableProp *pProps, IScriptableObj *pDefaultSkip=nullptr)
 
STDMETHOD() s_WriteProps (IScriptableSetter &s)
 
 STDMETHOD_ (cVariant, s_Get)(const ATOMCHAR_t *pszPropName)
 
cVariant s_Get (const cScriptableProp &rProp)
 
 STDMETHOD_ (cString, s_GetStr)(const ATOMCHAR_t *pszPropName)
 
 STDMETHOD_ (float, s_GetFloat)(const ATOMCHAR_t *pszPropName)
 
STDMETHOD() GetTypeInfoCount (UINT *pctinfo)
 
- Public Member Functions inherited from Gray3D::cDXRenderBatch
 cDXRenderBatch (void)
 
virtual ~cDXRenderBatch (void)
 
virtual void PreRenderAll ()
 
virtual void UpdateD3DOffset (const cVector3f &vOffset)
 
bool isStopped () const noexcept
 
void put_Stopped (bool bStop) noexcept
 
- Public Member Functions inherited from Gray3D::cDXBase
 cDXBase (cDXDevice *pDXDev=nullptr) noexcept
 
virtual ~cDXBase ()
 
ID3DDeviceget_D3DDev () const noexcept
 
bool isInitDevice () const noexcept
 
bool isLostDevice () const noexcept
 
virtual HRESULT InitDeviceObjects (cDXDevice *pDXDev)
 
 UNITTEST_FRIEND (cDXBase)
 

Public Attributes

cXDTBasePtr m_pDTActive
 
cXDTBasePtr m_pDTPrev
 
cXDTBasePtr m_pDTDefault
 
cXDialogPtr m_pDialogActive
 
cXDialogPtr m_pDialogModal
 
cXWindowPtr m_pKeyFocus
 
cPoint2i m_pntDlgSpawnLocation
 
cArrayRef< cXDlgChatWindow > m_aDlgChats
 
cXMenuPtr m_pMenuRoot
 
cPoint2i m_MenuPoint
 
cXObjectPtr m_pContextMenuObject
 
cXObjectPtr m_pContextMenuObject2
 
cXComboBoxPtr m_pDropListRoot
 
cXWindowPtr m_pMouseCapture
 
cXDialogPtr m_pButtonDragOver
 
bool m_bGameRunning
 
cArraySortHash< cXDialogPlacementObjm_aPlacement
 
- Public Attributes inherited from GrayLib::cScriptableObj
const cVariantvArgs = cVariant::k_VarNULL)
 
- Public Attributes inherited from Gray3D::cDXBase
cDXDevicem_pDXDev
 What device is this attached to (or should be)? InitDeviceObjects() was called and DeleteDeviceObjects() was not. More...
 
cIUnkPtr< ID3DDevicem_pD3DDev
 

Static Public Attributes

static cScriptableProp sm_Props [P_QTY+1]
 
static cScriptableMethod sm_Methods [M_QTY+1]
 

Additional Inherited Members

- Static Public Member Functions inherited from GrayLib::cScriptableObj
static HRESULT GRAYCALL CopyAllProps (IScriptableSetter *pObjDest, IScriptableEnumerator &rProps, int iStart=0)
 
- Static Public Member Functions inherited from Gray::cSingletonStatic< cXDesktopMgr >
static bool isSingleCreated () noexcept
 
static cXDesktopMgr * get_SingleU () noexcept
 
static cXDesktopMgr * get_Single ()
 
static TYPE2 *__stdcall get_SingleCast ()
 
static cXDesktopMgr & I () noexcept
 
- Protected Member Functions inherited from Gray::cSingletonStatic< cXDesktopMgr >
 cSingletonStatic (cXDesktopMgr *pObject) noexcept
 
virtual ~cSingletonStatic () noexcept
 
- Static Protected Attributes inherited from Gray::cSingletonStatic< cXDesktopMgr >
static cXDesktopMgr * sm_pThe
 pointer to the one and only object of this TYPE. ASSUME automatically init to = nullptr. More...
 

Member Enumeration Documentation

◆ M_TYPE_

Enumerator
M_QTY 

◆ P_TYPE_

Enumerator
P_QTY 

Constructor & Destructor Documentation

◆ cXDesktopMgr()

GrayGUI::cXDesktopMgr::cXDesktopMgr ( void  )

◆ ~cXDesktopMgr()

GrayGUI::cXDesktopMgr::~cXDesktopMgr ( void  )

Member Function Documentation

◆ ButtonDrag_OnMouse()

void GrayGUI::cXDesktopMgr::ButtonDrag_OnMouse ( cXWindow pDrag,
cXWindow pDragDummy,
int  x,
int  y,
bool  bTest 
)

◆ CSCRIPT_CLASS_DEF1()

GrayGUI::cXDesktopMgr::CSCRIPT_CLASS_DEF1 ( XDesktopMgr  ,
cXObject   
)

◆ DeleteDeviceObjects()

HRESULT GrayGUI::cXDesktopMgr::DeleteDeviceObjects ( )
virtual

Reimplemented from Gray3D::cDXBase.

◆ DialogPlacementAlloc()

cXDialogPlacementPtr GrayGUI::cXDesktopMgr::DialogPlacementAlloc ( X_WNDCLASS_TYPE  eXWClass)

◆ DialogPlacementExit()

void GrayGUI::cXDesktopMgr::DialogPlacementExit ( )

◆ DialogPlacementInit()

HRESULT GrayGUI::cXDesktopMgr::DialogPlacementInit ( )

◆ DialogPlacementRelease()

void GrayGUI::cXDesktopMgr::DialogPlacementRelease ( cXDialogPlacementObj pDP)

◆ FinalCleanup()

void GrayGUI::cXDesktopMgr::FinalCleanup ( )
virtual

Reimplemented from Gray3D::cDXRenderBatch.

◆ FrameMoveAll()

void GrayGUI::cXDesktopMgr::FrameMoveAll ( TIMESECF_t  fElapsedTime)
virtual

Reimplemented from Gray3D::cDXRenderBatch.

◆ get_DesktopActive()

cXDTBasePtr GrayGUI::cXDesktopMgr::get_DesktopActive ( void  ) const
inlinenoexcept

◆ get_DialogActive()

cXDialogPtr GrayGUI::cXDesktopMgr::get_DialogActive ( void  ) const
inline

◆ get_DialogModal()

cXDialogPtr GrayGUI::cXDesktopMgr::get_DialogModal ( void  ) const
inline

◆ get_KeyFocus()

cXWindowPtr GrayGUI::cXDesktopMgr::get_KeyFocus ( void  ) const
inline

◆ get_NameCPtr()

virtual const char* GrayGUI::cXDesktopMgr::get_NameCPtr ( ) const
inlinevirtual

Render type must have a name.

Implements Gray3D::cDXRenderBatch.

◆ GetConsumingControl()

cXWindowPtr GrayGUI::cXDesktopMgr::GetConsumingControl ( int  x,
int  y,
cXWindow pIgnore 
) const

◆ InitDeviceObjects()

HRESULT GrayGUI::cXDesktopMgr::InitDeviceObjects ( IDirect3DDevice9 *  pDev)
virtual

◆ IsChildTypeOpen()

bool GrayGUI::cXDesktopMgr::IsChildTypeOpen ( X_WNDCLASS_TYPE  xClassType,
DLGID_t  id = k_DLGID_ANY 
) const

◆ Menu_Close()

bool GrayGUI::cXDesktopMgr::Menu_Close ( )

◆ Menu_Open()

cXMenuPtr GrayGUI::cXDesktopMgr::Menu_Open ( cXWindow pParent,
bool  bContext = false 
)

◆ OnCancelMode()

void GrayGUI::cXDesktopMgr::OnCancelMode ( )

◆ OneTimeSceneInit()

HRESULT GrayGUI::cXDesktopMgr::OneTimeSceneInit ( )
virtual

Reimplemented from Gray3D::cDXRenderBatch.

◆ OnKeyboardEvent()

bool GrayGUI::cXDesktopMgr::OnKeyboardEvent ( WINMSG_t  msg,
VK_TYPE  vKey 
)

All the keys sent via the _WIN32. 2 async key sources is weird true.

  • uMsg = WM_KEYDOWN, etc
    Returns
    true = the GUI eats this key. else let the game have it.

◆ OnLostDeviceX()

HRESULT GrayGUI::cXDesktopMgr::OnLostDeviceX ( void  )
virtual

Reimplemented from Gray3D::cDXBase.

◆ OnMouse_Arrow()

bool GrayGUI::cXDesktopMgr::OnMouse_Arrow ( WINMSG_t  msg,
int  x,
int  y 
)

MOUSEMODE_Arrow or MOUSEMODE_GUIButtonDrag Windows mouse cursor to be distributed to my controls.

  • x,y = App client coordinates (relative to app window UL).
    Returns
    true = i handled this. no-one else needs to.

◆ OnMouse_GUI()

bool GrayGUI::cXDesktopMgr::OnMouse_GUI ( WINMSG_t  msg,
int  x,
int  y 
)

◆ OnMouseWheel()

bool GrayGUI::cXDesktopMgr::OnMouseWheel ( MBUTTON_TYPE  uButton,
int  x,
int  y,
short  nWheelChange 
)

◆ OnResetDeviceX()

HRESULT GrayGUI::cXDesktopMgr::OnResetDeviceX ( void  )
virtual

Reimplemented from Gray3D::cDXBase.

◆ OnSize()

void GrayGUI::cXDesktopMgr::OnSize ( UINT  uType,
int  cx,
int  cy 
)

◆ PartialCleanup()

void GrayGUI::cXDesktopMgr::PartialCleanup ( )

◆ put_DesktopActiveX()

void GrayGUI::cXDesktopMgr::put_DesktopActiveX ( X_WNDCLASS_TYPE  eXWClass)

◆ put_DialogActive()

void GrayGUI::cXDesktopMgr::put_DialogActive ( cXDialog pDialog)

◆ put_DialogModal()

cXDialogPtr GrayGUI::cXDesktopMgr::put_DialogModal ( cXDialog pDialog)

◆ put_DropListRoot()

void GrayGUI::cXDesktopMgr::put_DropListRoot ( cXComboBox pDropList)

◆ put_KeyFocus()

bool GrayGUI::cXDesktopMgr::put_KeyFocus ( cXWindow pControl)

◆ RenderAll()

HRESULT GrayGUI::cXDesktopMgr::RenderAll ( CCamera *  pCamera)
virtual

Reimplemented from Gray3D::cDXRenderBatch.

◆ s_Invoke()

HRESULT GrayGUI::cXDesktopMgr::s_Invoke ( const cScriptableMethod pMethod,
const cVariant vArgs,
OUT cVariant vValRet 
)
override

◆ s_PropGet()

HRESULT _stdcall GrayGUI::cXDesktopMgr::s_PropGet ( const cScriptableProp pProp,
OUT cVariant vValRet 
)
override

◆ s_PropPut()

HRESULT _stdcall GrayGUI::cXDesktopMgr::s_PropPut ( const cScriptableProp pProp,
const cVariant vVal 
)
override

◆ s_Update()

void GrayGUI::cXDesktopMgr::s_Update ( P_TYPE_  iProp)

◆ SetMouseCapture()

void GrayGUI::cXDesktopMgr::SetMouseCapture ( cXWindow pWindow,
MOUSEMODE_TYPE  mode 
)

◆ SetObjStateLoaded()

HRESULT GrayGUI::cXDesktopMgr::SetObjStateLoaded ( )
override

◆ SetScissorDesktop()

void GrayGUI::cXDesktopMgr::SetScissorDesktop ( )

◆ SetViewportDesktop()

HRESULT GrayGUI::cXDesktopMgr::SetViewportDesktop ( )

◆ STDMETHOD_()

GrayGUI::cXDesktopMgr::STDMETHOD_ ( cString  ,
get_Name   
) const
inline

Member Data Documentation

◆ m_aDlgChats

cArrayRef<cXDlgChatWindow> GrayGUI::cXDesktopMgr::m_aDlgChats

◆ m_aPlacement

cArraySortHash<cXDialogPlacementObj> GrayGUI::cXDesktopMgr::m_aPlacement

◆ m_bGameRunning

bool GrayGUI::cXDesktopMgr::m_bGameRunning

◆ m_MenuPoint

cPoint2i GrayGUI::cXDesktopMgr::m_MenuPoint

◆ m_pButtonDragOver

cXDialogPtr GrayGUI::cXDesktopMgr::m_pButtonDragOver

◆ m_pContextMenuObject

cXObjectPtr GrayGUI::cXDesktopMgr::m_pContextMenuObject

◆ m_pContextMenuObject2

cXObjectPtr GrayGUI::cXDesktopMgr::m_pContextMenuObject2

◆ m_pDialogActive

cXDialogPtr GrayGUI::cXDesktopMgr::m_pDialogActive

◆ m_pDialogModal

cXDialogPtr GrayGUI::cXDesktopMgr::m_pDialogModal

◆ m_pDropListRoot

cXComboBoxPtr GrayGUI::cXDesktopMgr::m_pDropListRoot

◆ m_pDTActive

cXDTBasePtr GrayGUI::cXDesktopMgr::m_pDTActive

◆ m_pDTDefault

cXDTBasePtr GrayGUI::cXDesktopMgr::m_pDTDefault

◆ m_pDTPrev

cXDTBasePtr GrayGUI::cXDesktopMgr::m_pDTPrev

◆ m_pKeyFocus

cXWindowPtr GrayGUI::cXDesktopMgr::m_pKeyFocus

◆ m_pMenuRoot

cXMenuPtr GrayGUI::cXDesktopMgr::m_pMenuRoot

◆ m_pMouseCapture

cXWindowPtr GrayGUI::cXDesktopMgr::m_pMouseCapture

◆ m_pntDlgSpawnLocation

cPoint2i GrayGUI::cXDesktopMgr::m_pntDlgSpawnLocation

◆ sm_Methods

cScriptableMethod GrayGUI::cXDesktopMgr::sm_Methods
static
Initial value:
=
{
#define cXDesktopMgrMethod(a,b,c)
}
#define CSCRIPT_PROP_END
Definition: cScriptableInterface.h:264

◆ sm_Props

cScriptableProp GrayGUI::cXDesktopMgr::sm_Props
static
Initial value:
=
{
#define cXDesktopMgrProp(a,b,c,d,e)
}

The documentation for this class was generated from the following files: