6 #ifndef _INC_cXWindow_H
7 #define _INC_cXWindow_H
10 #include "../GrayGUI.h"
11 #include "../Style/cXSpriteMap.h"
38 #define cXWindowClassDef(a,b,c,d) X_##a##_##b,
40 #undef cXWindowClassDef
112 return cFourCC(
'U',
'I',
'W',
'i');
144 #define cXWindowProp(a,b,c,d,e) P_##a,
153 #define cXWindowMethod(a,b,c) M_##a,
155 #undef cXWindowMethod
162 virtual void ShowWindow(SHOWWINDOW_t nCmdShow = SW_SHOW);
166 return (m_dwStyle & WS_VISIBLE) != 0;
170 return (m_dwStyle & WS_DISABLED) == 0;
175 m_dwStyle &= ~WS_DISABLED;
177 m_dwStyle |= WS_DISABLED;
183 return(m_dwStyle & WS_MAXIMIZE) != 0;
187 return(m_dwStyle & WS_MINIMIZE) != 0;
197 return (m_dwStyle & dwStyle) != 0;
219 dwStyle |= dwStyleMod;
221 dwStyle &= ~dwStyleMod;
228 return((m_dwExStyle & dwStyle) != 0);
233 m_dwExStyle = dwStyle;
242 m_uWinFlags = uiFlags;
246 return (m_uWinFlags & uiFlags) != 0;
250 m_uWinFlags &= ~uiFlagsRem;
251 m_uWinFlags |= uiFlagsAdd;
362 virtual void OnShowWindow(
bool bShow, UINT nShowWindowCode);
365 virtual bool OnHelp()
const;
372 virtual void onTick(
void);
506 m_pFont->InitDeviceObjects(pDXDev);
508 return __super::InitDeviceObjects(pDXDev);
514 m_pFont->DeleteDeviceObjects();
516 return __super::DeleteDeviceObjects();
524 return __super::OnLostDeviceX();
532 return __super::OnResetDeviceX();
#define UNREFERENCED_PARAMETER(P)
< _WIN32 type thing. get rid of stupid warning.
Definition: SysTypes.h:299
INT32 HRESULT
_WIN32 style error codes. INT32
Definition: SysTypes.h:465
DWORD D3DCOLOR
Stuff normally defined in windows.h or DirectX headers.
Definition: cColorRef.h:24
Definition: cDXDevice.h:20
Definition: cXDesktopMgr.h:47
Definition: cXDialog.h:96
Definition: cXWindow.h:484
cFontPtr m_pFont
Definition: cXWindow.h:491
virtual HRESULT OnResetDeviceX()
Definition: cXWindow.h:526
virtual ~cXWindowText()
Definition: cXWindowText.cpp:19
virtual void put_FontPtr(const cFontBase *pFont) override
Definition: cXWindow.h:497
virtual HRESULT DeleteDeviceObjects()
Definition: cXWindow.h:510
virtual HRESULT InitDeviceObjects(cDXDevice *pDXDev)
Definition: cXWindow.h:502
virtual HRESULT OnLostDeviceX()
Definition: cXWindow.h:518
cXWindowText(X_WNDCLASS_TYPE eXWClass, cXWindow *pParent, DLGID_t dlgid=k_DLGID_Static, UID_t uid=cUID::k_CLEAR)
Definition: cXWindowText.cpp:13
Definition: cXWindow.h:94
virtual bool OnMouseDown(MBUTTON_TYPE uButton, PIXELS_t x, PIXELS_t y)
Definition: cXWindow.cpp:1043
virtual cString get_Text() const
Definition: cXWindow.h:443
static const ATOMCHAR_t * k_XWindowClassNames[X_WNDCLASS_QTY+1]
Definition: cXWindow.h:459
bool IsZoomed(void) const noexcept
Definition: cXWindow.h:179
int get_ChildQty() const noexcept
Definition: cXWindow.h:377
virtual void put_Text(const GChar_t *pszText)
Definition: cXWindow.h:438
cXWindowPtr FindChildByType(X_WNDCLASS_TYPE XClassType, DLGID_t id=k_DLGID_ANY) const
Definition: cXWindow.cpp:764
cXWindowPtr GetDlgItem(DLGID_t id, int iDescendChildren=0) const
Definition: cXWindow.cpp:790
D3DCOLOR get_NormalColor() const
Definition: cXWindow.h:425
virtual void OnScroll(int iPos, cXWindow *pCtrl)
Definition: cXWindow.cpp:1216
void ScaleAll(FLOAT fScale)
Definition: cXWindow.cpp:545
virtual bool OnMouseDblClk(MBUTTON_TYPE uButton, PIXELS_t x, PIXELS_t y)
Definition: cXWindow.cpp:1083
const ATOMCHAR_t * get_XWTypeName() const
Definition: cXWindow.h:120
void ModifyStyle(DWORD dwStyleAdd, DWORD dwStyleRem=0)
Definition: cXWindow.h:209
cColorDX m_NormalColor
foreground color.
Definition: cXWindow.h:461
void MoveWindow(PIXELS_t xParent, PIXELS_t yParent, PIXELS_t width, PIXELS_t height)
Definition: cXWindow.cpp:288
STDMETHOD() s_PropPut(const cScriptableProp *pProp, const cVariant &vVal) override
Definition: cXWindow.cpp:1378
virtual HRESULT OnResetDeviceX()
Definition: cXWindow.cpp:898
bool IsExStyle(DWORD dwStyle) const noexcept
Definition: cXWindow.h:225
STDMETHOD_(XOBJTID_t, get_XObjTypeId)() const
Definition: cXWindow.h:110
CSCRIPT_CLASS_DEF1(XWindow, cXObject)
cDXSpriteElem & get_TextureDC(void)
Definition: cXWindow.h:274
virtual bool OnKeyDown(VK_TYPE vKey)
Definition: cXWindow.cpp:1092
DWORD get_Style(void) const noexcept
Definition: cXWindow.h:199
PIXELS_t get_YPos(void) const noexcept
Definition: cXWindow.h:287
bool IsWindowVisible(void) const noexcept
Definition: cXWindow.h:164
PIXELS_t get_Height(void) const noexcept
Definition: cXWindow.h:297
virtual bool OnKeyUp(VK_TYPE vKey)
Definition: cXWindow.cpp:1100
virtual HRESULT DisposeThis()
utility
Definition: cXWindow.cpp:98
bool IsPointIntersect(PIXELS_t x, PIXELS_t y) const
Definition: cXWindow.cpp:396
void SetXYCenter()
Definition: cXWindow.cpp:280
cRectI m_WindowRect
Current coords relative to my m_pParentWnd.
Definition: cXWindow.h:466
bool IsCursorIntersect() const
Definition: cXWindow.cpp:426
cDXSpriteElem m_TexElem
Background texture if we are using one. defines back color also.
Definition: cXWindow.h:467
int AddChildWindow(cXWindow *pChild, bool bAddBottom=false, SHOWWINDOW_t nShowCmd=SW_SHOWNORMAL)
Definition: cXWindow.cpp:812
const X_WNDCLASS_TYPE m_eXWClass
Definition: cXWindow.h:458
bool ConstrainDocking(void)
Definition: cXWindow.cpp:602
virtual HRESULT OnLostDeviceX()
Definition: cXWindow.cpp:889
virtual bool OnKeyFocus(bool bActive)
Definition: cXWindow.cpp:1141
PIXELS_t get_XPos(void) const noexcept
Definition: cXWindow.h:282
virtual bool OnDrop(cXWindow *pDragged, cXWindow *pConsumer, bool bTest)
Definition: cXWindow.cpp:1116
cXWindow(X_WNDCLASS_TYPE eXWClass, cXWindow *pParent, DLGID_t dlgid=k_DLGID_Static, UID_t uid=cUID::k_CLEAR)
Definition: cXWindow.cpp:38
X_WNDCLASS_TYPE get_XWType() const
Definition: cXWindow.h:116
STDMETHOD() s_Invoke(const cScriptableMethod *pMethod, const cVariant &vArgs, cVariant &vValRet) override
Definition: cXWindow.cpp:1408
DLGID_t get_HelpID() const
Definition: cXWindow.cpp:121
void put_NormalColor(D3DCOLOR color)
Definition: cXWindow.h:429
HRESULT SetViewportWindow(cPoint2i &ptAbsolutePos)
Definition: cXWindow.cpp:384
bool SendCommand(WORD wNotify) const
Definition: cXWindow.cpp:1259
void put_DockFlags(WINDOCKFLAG_MASK dock)
Definition: cXWindow.h:258
P_TYPE_
Definition: cXWindow.h:143
@ P_QTY
Definition: cXWindow.h:147
void put_Flags(WINFLAG_MASK uiFlags)
Definition: cXWindow.h:240
bool IsChildTypeOpen(X_WNDCLASS_TYPE xClassType, DLGID_t id=k_DLGID_ANY) const
Definition: cXWindow.cpp:782
virtual bool OnChar(VK_TYPE vKey)
Definition: cXWindow.cpp:1125
cArrayRef< cXWindow > m_aChildWindows
z ordered array of children. [0]=draw on top. [qty]=draw on bottom
Definition: cXWindow.h:468
void EnableWindow(bool bClickable)
Definition: cXWindow.h:172
PIXELS_t get_Width(void) const noexcept
Definition: cXWindow.h:293
bool IsAppIntersect(PIXELS_t x, PIXELS_t y) const
Definition: cXWindow.cpp:410
WINDOCKFLAG_MASK get_DockFlags(void) const noexcept
Definition: cXWindow.h:254
void EnableWindowRange(DLGID_t idStart, DLGID_t idEnd, bool bEnable)
Definition: cXWindow.cpp:872
virtual bool LoadTextureFromFile(const FILECHAR_t *File, TEXTURELOAD_t uLoadFlags=TEXTURELOAD_NOP)
Definition: cXWindow.cpp:1284
virtual void ModifyFlags(WINFLAG_MASK uiFlagsAdd, WINFLAG_MASK uiFlagsRem=0)
Definition: cXWindow.h:248
void RenderChildren()
Definition: cXWindow.cpp:928
virtual void put_Style(DWORD dwStyle)
Definition: cXWindow.h:204
cXDialogPtr get_DialogParent() const
Definition: cXWindow.cpp:153
cXWindowPtr EnumChild(ITERATE_t index) const
Definition: cXWindow.cpp:759
void put_DlgID(DLGID_t id)
Definition: cXWindow.h:268
static cScriptableProp sm_Props[P_QTY+1]
Definition: cXWindow.h:150
void put_TickTimer(TIMESYSD_t dwTimeInc)
Definition: cXWindow.cpp:984
STDMETHOD_(cString, get_Name)() const override
Definition: cXWindow.h:124
virtual bool OnMouseWheel(MBUTTON_TYPE uButton, PIXELS_t x, PIXELS_t y, short nWheelChange)
Definition: cXWindow.cpp:1133
DLGID_t get_DlgID(void) const noexcept
Definition: cXWindow.h:264
void CvtWindowToApp(cPoint2i *pPoint) const
Definition: cXWindow.cpp:333
virtual bool CanTakeMouseInput() const
Definition: cXWindow.cpp:506
virtual bool OnRender(void)
Definition: cXWindow.cpp:964
STDMETHOD() s_PropGet(const cScriptableProp *pProp, cVariant &vValRet) override
Definition: cXWindow.cpp:1345
bool IsIconic(void) const noexcept
Definition: cXWindow.h:185
virtual void OnSize(UINT uType, PIXELS_t cx, PIXELS_t cy)
Definition: cXWindow.cpp:1160
void put_BackColor(D3DCOLOR color)
Definition: cXWindow.h:421
cXWindowPtr m_pParentWnd
Set when someone calls AddChildWindow(pMe) for me on my parent.
Definition: cXWindow.h:465
bool LoadTextureIcon(SPRITEID_t iIconIndex)
Definition: cXWindow.cpp:1320
virtual cXObjectPtr get_ContainerObject() const override
Definition: cXWindow.h:129
void MoveToFront()
Definition: cXWindow.cpp:590
cXWindowPtr get_ParentWindow(void) const noexcept
Definition: cXWindow.h:396
virtual void OnCancelMode()
Definition: cXWindow.h:360
bool HasFlags(WINFLAG_MASK uiFlags) const noexcept
Definition: cXWindow.h:244
static cScriptableMethod sm_Methods[M_QTY+1]
Definition: cXWindow.h:158
bool IsWindowEnabled(void) const noexcept
Definition: cXWindow.h:168
bool LoadTextureStyleElem(XSTYLE_ELEM_TYPE eStyleElem, TEXTURELOAD_t uLoadFlags=TEXTURELOAD_NOP)
Definition: cXWindow.cpp:1302
void FrameMoveTick(TIMESYS_t timeNow)
Definition: cXWindow.cpp:994
virtual void OnContextMenu(cXMenu *pMenu, cXWindow *pCtrl)
Definition: cXWindow.cpp:1174
COLOR_ELEM_t get_BackAlpha() const noexcept
Definition: cXWindow.h:407
M_TYPE_
Definition: cXWindow.h:152
@ M_QTY
Definition: cXWindow.h:156
virtual DWORD OnNCHitTest(int x, int y) const
Definition: cXWindow.cpp:1108
void ShowWindowBool(bool bShow)
Definition: cXWindow.cpp:232
virtual cString GetToolTip(cXWindow *pCtrl, int x, int y) const
Definition: cXWindow.cpp:745
virtual void put_BackAlpha(COLOR_ELEM_t bAlpha)
Definition: cXWindow.h:412
bool IsMyDescendant(const cXWindow *pChild) const
Definition: cXWindow.cpp:864
virtual HRESULT DeleteDeviceObjects()
Definition: cXWindow.cpp:917
virtual cXWindowPtr GetConsumingControl(int x, int y, cXWindow *pIgnore=nullptr) const
Definition: cXWindow.cpp:450
void GetSizeParent(SIZE &sizeparent) const
Definition: cXWindow.cpp:265
virtual bool OnMouseUp(MBUTTON_TYPE uButton, PIXELS_t x, PIXELS_t y)
Definition: cXWindow.cpp:1073
virtual void SetWidthHeight(PIXELS_t Width, PIXELS_t Height)
Definition: cXWindow.cpp:256
bool SetKeyFocus()
Definition: cXWindow.cpp:1273
bool DetachFromParent()
Definition: cXWindow.cpp:88
virtual void OnShowWindow(bool bShow, UINT nShowWindowCode)
Definition: cXWindow.cpp:1166
void SetScissorWindow(cPoint2i &ptAbsolutePos)
Definition: cXWindow.cpp:371
virtual void put_FontPtr(const cFontBase *pFont)
Definition: cXWindow.h:447
bool IsStyle(DWORD dwStyle) const noexcept
Definition: cXWindow.h:194
void LoadTextureBlank()
Definition: cXWindow.cpp:1278
virtual bool OnMouseMove(MBUTTON_TYPE uButton, PIXELS_t x, PIXELS_t y)
Definition: cXWindow.cpp:1023
virtual void ShowWindow(SHOWWINDOW_t nCmdShow=SW_SHOW)
Definition: cXWindow.cpp:173
virtual void onTick(void)
Definition: cXWindow.cpp:979
virtual bool OnCommand(DLGID_t id, cXWindow *pCtrl, WORD wNotify)
Definition: cXWindow.cpp:1228
bool IsWindowOpen() const noexcept
Definition: cXWindow.h:189
D3DCOLOR get_BackColor() const
Definition: cXWindow.h:417
virtual bool OnHelp() const
Definition: cXWindow.cpp:1197
virtual ~cXWindow()
Definition: cXWindow.cpp:63
void GetWidthHeightForChildren(OUT cRectI &rect, PIXELS_t dx, PIXELS_t dy)
Definition: cXWindow.cpp:431
static const ATOMCHAR_t * GetXWTypeName(X_WNDCLASS_TYPE eXWClass)
Definition: cXWindow.cpp:76
void s_Update(P_TYPE_ eProp)
Definition: cXWindow.cpp:1335
virtual void SetXYPos(PIXELS_t X, PIXELS_t Y)
Definition: cXWindow.cpp:240
const cRectI & get_WindowRect(void) const noexcept
Definition: cXWindow.h:305
void put_ToolTip(const GChar_t *pstrToolTip)
Definition: cXWindow.cpp:738
virtual HRESULT InitDeviceObjects(cDXDevice *pDXDev)
Definition: cXWindow.cpp:908
void ModifyStyleBool(DWORD dwStyleMod, bool bFlag)
Definition: cXWindow.h:214
virtual void Render()
Definition: cXWindow.cpp:949
void CvtAppToWindow(cPoint2i *pPoint) const
Definition: cXWindow.cpp:300
WINFLAG_MASK get_Flags(void) const noexcept
Definition: cXWindow.h:236
void put_ExStyle(DWORD dwStyle)
Definition: cXWindow.h:230
virtual bool InitXWindow()
Definition: cXWindow.cpp:1018
Definition: cColorRef.h:147
TYPE Height() const noexcept
Definition: cRectT.h:415
TYPE Width() const noexcept
Definition: cRectT.h:404
TYPE left
Definition: cRectT.h:35
TYPE top
Definition: cRectT.h:35
const cVariant & vArgs
Definition: cScriptableObj.h:61
Definition: cScriptableInterface.h:97
static const UID_t k_CLEAR
Hard coded UID_t values.
Definition: cUID.h:32
Definition: cVariant.h:26
Definition: cXObject.h:78
Definition: cArrayRef.h:21
TYPE * get_Ptr() const noexcept
Definition: cPtrFacade.h:53
Definition: cTimeSys.h:93
DWORD TEXTURELOAD_t
mask of TEXTURELOAD_TYPE_
Definition: cXTextureFile.h:41
@ TEXTURELOAD_NOP
load default. demand load.
Definition: cXTextureFile.h:23
Definition: GrayGUI.cpp:11
const DLGID_t k_DLGID_ANY
Definition: cXWindow.h:29
const DLGID_t k_DLGID_Static
Definition: cXWindow.h:27
const SHOWWINDOW_t SW_TOGGLE
Definition: cXWindow.h:25
const DLGID_t k_DLGID_User
Definition: cXWindow.h:28
X_WNDCLASS_TYPE
Definition: cXWindow.h:34
@ X_WNDCLASS_QTY
Definition: cXWindow.h:41
@ X_WNDCLASS_INVALID
Definition: cXWindow.h:37
XSTYLE_ELEM_TYPE
Definition: cXStyleSheet.h:17
WINDOCKFLAG_TYPE_
Definition: cXWindow.h:68
@ WINDOCKFLAG_OFF_MASK
cant turn these off!
Definition: cXWindow.h:82
@ WINDOCKFLAG_OFF
temporary turn off docking.
Definition: cXWindow.h:83
@ WINDOCKFLAG_RIGHT
Definition: cXWindow.h:73
@ WINDOCKFLAG_ALLINPARENT
make sure my size is in parent
Definition: cXWindow.h:81
@ WINDOCKFLAG_MAXSIZE
fill my parents client area.
Definition: cXWindow.h:79
@ WINDOCKFLAG_HCENTER
Definition: cXWindow.h:77
@ WINDOCKFLAG_BOTTOM
fixed distance to the bottom
Definition: cXWindow.h:75
@ WINDOCKFLAG_VCENTER
Definition: cXWindow.h:78
@ WINDOCKFLAG_SIDES
Mask.
Definition: cXWindow.h:76
@ WINDOCKFLAG_HEADINPARENT
make sure my position is in parent
Definition: cXWindow.h:80
@ WINDOCKFLAG_NONE
who cares.
Definition: cXWindow.h:71
@ WINDOCKFLAG_TOP
Definition: cXWindow.h:74
@ WINDOCKFLAG_LEFT
Definition: cXWindow.h:72
WINFLAG_TYPE_
Definition: cXWindow.h:46
@ WINFLAG_TAB_HIDDEN
Maximize when restoring. eqiv of WPF_RESTORETOMAXIMIZED.
Definition: cXWindow.h:51
@ WINFLAG_USER_RADAR_ROSE
Put up the tool-tip fast.
Definition: cXWindow.h:60
@ WINFLAG_RESTORETOMAXIMIZED
Definition: cXWindow.h:49
@ WINFLAG_HIDETITLE
pass tool tip to parent.
Definition: cXWindow.h:56
@ WINFLAG_TOOLTIP_FAST
Hide the dialog frame AND WINFLAG_HIDETITLE.
Definition: cXWindow.h:58
@ WINFLAG_MODAL
Top most window.
Definition: cXWindow.h:54
@ WINFLAG_TOOLTIP_PARENT
Definition: cXWindow.h:55
@ WINFLAG_HIDEFRAME
Hide the dialog title bar ~WS_CAPTION.
Definition: cXWindow.h:57
@ WINFLAG_SHOWWINDOW_CALLED
TAB pressed for this dialog so it was hidden.
Definition: cXWindow.h:52
@ WINFLAG_USER_QUICK_VERT
no radar rose
Definition: cXWindow.h:61
@ WINFLAG_USER_RADAR_FACEUP
vertical orientation
Definition: cXWindow.h:62
@ WINFLAG_TOPMOST
We have done ShowWindow() at least once.
Definition: cXWindow.h:53
cRefPtr< cXWindow > cXWindowPtr
Definition: cXToolTipMgr.h:17
DWORD WINFLAG_MASK
Definition: cXWindow.h:44
cRefPtr< cXDialog > cXDialogPtr
Definition: cXDesktopMgr.h:16
DWORD WINDOCKFLAG_MASK
Definition: cXWindow.h:66
cRefPtr< cXWindowText > cXWindowTextPtr
Definition: cXWindow.h:536
FOURCC XOBJTID_t
a unique FOURCC id for a type of XObject, 0=k_XOBJTID_NULL, MAKEFOURCC(a,b,c,d). Equiv to GUID for IU...
Definition: IXObject.h:42
UINT DLGID_t
old window format this was a WORD, EX format this is UINT32.
Definition: cResDialog.h:68
BYTE COLOR_ELEM_t
A single 8 bit color element. alpha, red, green, or blue intensity as 0-255.
Definition: cColorRef.h:34
MBUTTON_TYPE
Definition: cInputBase.h:40
interface const RECTQ_t & rect
Definition: cQuadtree.h:44
int PIXELS_t
Count of pixels in a dimension of some image/surface.
Definition: cSurfaceInfo.h:20
HASHCODE32_t UID_t
Sort of the same as a HASHCODE_t. not the same as UIDINDEX_t.
Definition: cUID.h:18
INT32 TIMESYSD_t
Time delta. signed milli-Seconds Span. cTimeSys::k_DMAX, cTimeSys::k_INF = MAILSLOT_WAIT_FOREVER.
Definition: cTimeSys.h:28
int ITERATE_t
like size_t but signed
Definition: Index.h:28
char FILECHAR_t
a UTF8 char in a file name. like TCHAR
Definition: FileName.h:22
char ATOMCHAR_t
the char form (UNICODE or not) for an atom. (for symbolic names)
Definition: StrConst.h:15
char GChar_t
My version of TCHAR, _TCHAR.
Definition: StrConst.h:26
UINT32 TIMESYS_t
TIMESYS_t = The normal system tick timer. milli-seconds since start of system/app ?
Definition: cTimeSys.h:27
uint16 index
Definition: sample3.cpp:29