313 lines
9.1 KiB
C
313 lines
9.1 KiB
C
/*
|
|
* DirectUI UI file pre-process header
|
|
*/
|
|
|
|
#ifndef DUI_INC_DIRECTUIPP_H_INCLUDED
|
|
#define DUI_INC_DIRECTUIPP_H_INCLUDED
|
|
|
|
/*
|
|
* NOTE: Various system #defines are replicated here for 2 reasons:
|
|
* 1) Preprocessing a file like winuser.h results in a huge UIPP file
|
|
* 2) The resultant UIPP file cannot be parsed by DUI due to function prototypes
|
|
*/
|
|
|
|
|
|
/*
|
|
* SYSMETRIC: Retrieves system dependent information (integer values)
|
|
*
|
|
* Can use GetSystemMetrics() SM_* values plus DirectUI-specific values
|
|
* as argument
|
|
*/
|
|
|
|
#ifndef DIRECTUIPP_IGNORESYSDEF
|
|
|
|
// GetSystemMetrics()
|
|
|
|
#define SM_CXSCREEN 0
|
|
#define SM_CYSCREEN 1
|
|
#define SM_CXVSCROLL 2
|
|
#define SM_CYHSCROLL 3
|
|
#define SM_CYCAPTION 4
|
|
#define SM_CXBORDER 5
|
|
#define SM_CYBORDER 6
|
|
#define SM_CXDLGFRAME 7
|
|
#define SM_CYDLGFRAME 8
|
|
#define SM_CYVTHUMB 9
|
|
#define SM_CXHTHUMB 10
|
|
#define SM_CXICON 11
|
|
#define SM_CYICON 12
|
|
#define SM_CXCURSOR 13
|
|
#define SM_CYCURSOR 14
|
|
#define SM_CYMENU 15
|
|
#define SM_CXFULLSCREEN 16
|
|
#define SM_CYFULLSCREEN 17
|
|
#define SM_CYKANJIWINDOW 18
|
|
#define SM_MOUSEPRESENT 19
|
|
#define SM_CYVSCROLL 20
|
|
#define SM_CXHSCROLL 21
|
|
#define SM_DEBUG 22
|
|
#define SM_SWAPBUTTON 23
|
|
#define SM_RESERVED1 24
|
|
#define SM_RESERVED2 25
|
|
#define SM_RESERVED3 26
|
|
#define SM_RESERVED4 27
|
|
#define SM_CXMIN 28
|
|
#define SM_CYMIN 29
|
|
#define SM_CXSIZE 30
|
|
#define SM_CYSIZE 31
|
|
#define SM_CXFRAME 32
|
|
#define SM_CYFRAME 33
|
|
#define SM_CXMINTRACK 34
|
|
#define SM_CYMINTRACK 35
|
|
#define SM_CXDOUBLECLK 36
|
|
#define SM_CYDOUBLECLK 37
|
|
#define SM_CXICONSPACING 38
|
|
#define SM_CYICONSPACING 39
|
|
#define SM_MENUDROPALIGNMENT 40
|
|
#define SM_PENWINDOWS 41
|
|
#define SM_DBCSENABLED 42
|
|
#define SM_CMOUSEBUTTONS 43
|
|
#define SM_CXFIXEDFRAME SM_CXDLGFRAME
|
|
#define SM_CYFIXEDFRAME SM_CYDLGFRAME
|
|
#define SM_CXSIZEFRAME SM_CXFRAME
|
|
#define SM_CYSIZEFRAME SM_CYFRAME
|
|
#define SM_SECURE 44
|
|
#define SM_CXEDGE 45
|
|
#define SM_CYEDGE 46
|
|
#define SM_CXMINSPACING 47
|
|
#define SM_CYMINSPACING 48
|
|
#define SM_CXSMICON 49
|
|
#define SM_CYSMICON 50
|
|
#define SM_CYSMCAPTION 51
|
|
#define SM_CXSMSIZE 52
|
|
#define SM_CYSMSIZE 53
|
|
#define SM_CXMENUSIZE 54
|
|
#define SM_CYMENUSIZE 55
|
|
#define SM_ARRANGE 56
|
|
#define SM_CXMINIMIZED 57
|
|
#define SM_CYMINIMIZED 58
|
|
#define SM_CXMAXTRACK 59
|
|
#define SM_CYMAXTRACK 60
|
|
#define SM_CXMAXIMIZED 61
|
|
#define SM_CYMAXIMIZED 62
|
|
#define SM_NETWORK 63
|
|
#define SM_CLEANBOOT 67
|
|
#define SM_CXDRAG 68
|
|
#define SM_CYDRAG 69
|
|
#define SM_SHOWSOUNDS 70
|
|
#define SM_CXMENUCHECK 71
|
|
#define SM_CYMENUCHECK 72
|
|
#define SM_SLOWMACHINE 73
|
|
#define SM_MIDEASTENABLED 74
|
|
#define SM_MOUSEWHEELPRESENT 75
|
|
#define SM_XVIRTUALSCREEN 76
|
|
#define SM_YVIRTUALSCREEN 77
|
|
#define SM_CXVIRTUALSCREEN 78
|
|
#define SM_CYVIRTUALSCREEN 79
|
|
#define SM_CMONITORS 80
|
|
#define SM_SAMEDISPLAYFORMAT 81
|
|
#define SM_CMETRICS 83
|
|
|
|
#endif // DIRECTUIPP_IGNORESYSDEF
|
|
|
|
#define DSM_NCMAX -1
|
|
#define DSM_CAPTIONFONTSIZE -1
|
|
#define DSM_CAPTIONFONTWEIGHT -2
|
|
#define DSM_CAPTIONFONTSTYLE -3
|
|
#define DSM_MENUFONTSIZE -4
|
|
#define DSM_MENUFONTWEIGHT -5
|
|
#define DSM_MENUFONTSTYLE -6
|
|
#define DSM_MESSAGEFONTSIZE -7
|
|
#define DSM_MESSAGEFONTWEIGHT -8
|
|
#define DSM_MESSAGEFONTSTYLE -9
|
|
#define DSM_SMCAPTIONFONTSIZE -10
|
|
#define DSM_SMCAPTIONFONTWEIGHT -11
|
|
#define DSM_SMCAPTIONFONTSTYLE -12
|
|
#define DSM_STATUSFONTSIZE -13
|
|
#define DSM_STATUSFONTWEIGHT -14
|
|
#define DSM_STATUSFONTSTYLE -15
|
|
#define DSM_NCMIN -15
|
|
|
|
#define DSM_ICMAX -16
|
|
#define DSM_ICONFONTSIZE -16
|
|
#define DSM_ICONFONTWEIGHT -17
|
|
#define DSM_ICONFONTSTYLE -18
|
|
#define DSM_ICMIN -18
|
|
|
|
|
|
/*
|
|
* SYSMETRICSTR: Retrieves system dependent information (string values)
|
|
*
|
|
* Can use DirectUI-specific values as argument
|
|
*/
|
|
|
|
#define DSMS_NCMIN 1
|
|
#define DSMS_CAPTIONFONTFACE 1
|
|
#define DSMS_MENUFONTFACE 2
|
|
#define DSMS_MESSAGEFONTFACE 3
|
|
#define DSMS_SMCAPTIONFONTFACE 4
|
|
#define DSMS_STATUSFONTFACE 5
|
|
#define DSMS_NCMAX 5
|
|
|
|
#define DSMS_ICMIN 6
|
|
#define DSMS_ICONFONTFACE 6
|
|
#define DSMS_ICMAX 6
|
|
|
|
|
|
#ifndef DIRECTUIPP_IGNORESYSDEF
|
|
|
|
/*
|
|
* DrawFrameControl
|
|
*/
|
|
|
|
#define DFC_CAPTION 1
|
|
#define DFC_MENU 2
|
|
#define DFC_SCROLL 3
|
|
#define DFC_BUTTON 4
|
|
#define DFC_POPUPMENU 5
|
|
|
|
#define DFCS_CAPTIONCLOSE 0x0000
|
|
#define DFCS_CAPTIONMIN 0x0001
|
|
#define DFCS_CAPTIONMAX 0x0002
|
|
#define DFCS_CAPTIONRESTORE 0x0003
|
|
#define DFCS_CAPTIONHELP 0x0004
|
|
|
|
#define DFCS_MENUARROW 0x0000
|
|
#define DFCS_MENUCHECK 0x0001
|
|
#define DFCS_MENUBULLET 0x0002
|
|
#define DFCS_MENUARROWRIGHT 0x0004
|
|
#define DFCS_SCROLLUP 0x0000
|
|
#define DFCS_SCROLLDOWN 0x0001
|
|
#define DFCS_SCROLLLEFT 0x0002
|
|
#define DFCS_SCROLLRIGHT 0x0003
|
|
#define DFCS_SCROLLCOMBOBOX 0x0005
|
|
#define DFCS_SCROLLSIZEGRIP 0x0008
|
|
#define DFCS_SCROLLSIZEGRIPRIGHT 0x0010
|
|
|
|
#define DFCS_BUTTONCHECK 0x0000
|
|
#define DFCS_BUTTONRADIOIMAGE 0x0001
|
|
#define DFCS_BUTTONRADIOMASK 0x0002
|
|
#define DFCS_BUTTONRADIO 0x0004
|
|
#define DFCS_BUTTON3STATE 0x0008
|
|
#define DFCS_BUTTONPUSH 0x0010
|
|
|
|
#define DFCS_INACTIVE 0x0100
|
|
#define DFCS_PUSHED 0x0200
|
|
#define DFCS_CHECKED 0x0400
|
|
|
|
#define DFCS_TRANSPARENT 0x0800
|
|
#define DFCS_HOT 0x1000
|
|
|
|
#define DFCS_ADJUSTRECT 0x2000
|
|
#define DFCS_FLAT 0x4000
|
|
#define DFCS_MONO 0x8000
|
|
|
|
#endif // DIRECTUIPP_IGNORESYSDEF
|
|
|
|
/*
|
|
* Themes Support (from TmSchema.h)
|
|
*
|
|
* Can't include UxTheme headers directly since they use 'enum'
|
|
* instead of #define. So, the preprocessor won't resolve to numbers.
|
|
*/
|
|
|
|
#ifndef DIRECTUIPP_IGNORESYSDEF
|
|
|
|
// Button parts
|
|
#define BP_PUSHBUTTON 1
|
|
#define BP_RADIOBUTTON 2
|
|
#define BP_GROUPBOX 3
|
|
#define BP_CHECKBOX 4
|
|
#define BP_USERBUTTON 5
|
|
|
|
// PushButton states
|
|
#define PBS_NORMAL 1
|
|
#define PBS_HOT 2
|
|
#define PBS_PRESSED 3
|
|
#define PBS_DISABLED 4
|
|
#define PBS_DEFAULTED 5
|
|
|
|
// RadioButton states
|
|
#define RBS_UNCHECKEDNORMAL 1
|
|
#define RBS_UNCHECKEDHOT 2
|
|
#define RBS_UNCHECKEDPRESSED 3
|
|
#define RBS_UNCHECKEDDISABLED 4
|
|
#define RBS_CHECKEDNORMAL 5
|
|
#define RBS_CHECKEDHOT 6
|
|
#define RBS_CHECKEDPRESSED 7
|
|
#define RBS_CHECKEDDISABLED 8
|
|
|
|
// CheckBox states
|
|
#define CBS_UNCHECKEDNORMAL 1
|
|
#define CBS_UNCHECKEDHOT 2
|
|
#define CBS_UNCHECKEDPRESSED 3
|
|
#define CBS_UNCHECKEDDISABLED 4
|
|
#define CBS_CHECKEDNORMAL 5
|
|
#define CBS_CHECKEDHOT 6
|
|
#define CBS_CHECKEDPRESSED 7
|
|
#define CBS_CHECKEDDISABLED 8
|
|
#define CBS_MIXEDNORMAL 9
|
|
#define CBS_MIXEDHOT 10
|
|
#define CBS_MIXEDPRESSED 11
|
|
#define CBS_MIXEDDISABLED 12
|
|
|
|
// ScrollBar parts
|
|
#define SBP_ARROWBTN 1
|
|
#define SBP_THUMBBTNHORZ 2
|
|
#define SBP_THUMBBTNVERT 3
|
|
#define SBP_LOWERTRACKHORZ 4
|
|
#define SBP_UPPERTRACKHORZ 5
|
|
#define SBP_LOWERTRACKVERT 6
|
|
#define SBP_UPPERTRACKVERT 7
|
|
#define SBP_GRIPPERHORZ 8
|
|
#define SBP_GRIPPERVERT 9
|
|
#define SBP_SIZEBOX 10
|
|
|
|
// ArrowBtn states
|
|
#define ABS_UPNORMAL 1
|
|
#define ABS_UPHOT 2
|
|
#define ABS_UPPRESSED 3
|
|
#define ABS_UPDISABLED 4
|
|
#define ABS_DOWNNORMAL 5
|
|
#define ABS_DOWNHOT 6
|
|
#define ABS_DOWNPRESSED 7
|
|
#define ABS_DOWNDISABLED 8
|
|
#define ABS_LEFTNORMAL 9
|
|
#define ABS_LEFTHOT 10
|
|
#define ABS_LEFTPRESSED 11
|
|
#define ABS_LEFTDISABLED 12
|
|
#define ABS_RIGHTNORMAL 13
|
|
#define ABS_RIGHTHOT 14
|
|
#define ABS_RIGHTPRESSED 15
|
|
#define ABS_RIGHTDISABLED 16
|
|
|
|
// ScrollBar states
|
|
#define SCRBS_NORMAL 1
|
|
#define SCRBS_HOT 2
|
|
#define SCRBS_PRESSED 3
|
|
#define SCRBS_DISABLED 4
|
|
|
|
// SizeBox states
|
|
#define SZB_RIGHTALIGN 1
|
|
#define SZB_LEFTALIGN 2
|
|
|
|
// Toolbar parts
|
|
#define TP_BUTTON 1
|
|
#define TP_DROPDOWNBUTTON 2
|
|
#define TP_SPLITBUTTON 3
|
|
#define TP_SPLITBUTTONDROPDOWN 4
|
|
#define TP_SEPARATOR 5
|
|
#define TP_SEPARATORVERT 6
|
|
|
|
// Toolbar states
|
|
#define TS_NORMAL 1
|
|
#define TS_HOT 2
|
|
#define TS_PRESSED 3
|
|
#define TS_DISABLED 4
|
|
#define TS_CHECKED 5
|
|
#define TS_HOTCHECKED 6
|
|
|
|
#endif // DIRECTUIPP_IGNORESYSDEF
|
|
|
|
#endif // DUI_INC_DIRECTUIPP_H_INCLUDED
|