1 /**
2  * This file has no copyright assigned and is placed in the Public Domain.
3  * This file is part of the mingw-w64 runtime package.
4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5  */
6 #ifndef _INC_CUSTCNTL
7 #define _INC_CUSTCNTL
8 
9 #include <_mingw_unicode.h>
10 
11 #ifdef __cplusplus
12 extern "C" {
13 #endif
14 
15 #define CCHCCCLASS 32
16 #define CCHCCDESC 32
17 #define CCHCCTEXT 256
18 
19   typedef struct tagCCSTYLEA {
20     DWORD flStyle;
21     DWORD flExtStyle;
22     CHAR szText[CCHCCTEXT];
23     LANGID lgid;
24     WORD wReserved1;
25   } CCSTYLEA,*LPCCSTYLEA;
26 
27   typedef struct tagCCSTYLEW {
28     DWORD flStyle;
29     DWORD flExtStyle;
30     WCHAR szText[CCHCCTEXT];
31     LANGID lgid;
32     WORD wReserved1;
33   } CCSTYLEW,*LPCCSTYLEW;
34 
35 #define CCSTYLE __MINGW_NAME_AW(CCSTYLE)
36 #define LPCCSTYLE __MINGW_NAME_AW(LPCCSTYLE)
37 #define LPFNCCSTYLE __MINGW_NAME_AW(LPFNCCSTYLE)
38 #define LPFNCCSIZETOTEXT __MINGW_NAME_AW(LPFNCCSIZETOTEXT)
39 #define CCSTYLEFLAG __MINGW_NAME_AW(CCSTYLEFLAG)
40 #define LPCCSTYLEFLAG __MINGW_NAME_AW(LPCCSTYLEFLAG)
41 #define CCINFO __MINGW_NAME_AW(CCINFO)
42 #define LPCCINFO __MINGW_NAME_AW(LPCCINFO)
43 #define LPFNCCINFO __MINGW_NAME_AW(LPFNCCINFO)
44 
45   typedef WINBOOL (CALLBACK *LPFNCCSTYLEA)(HWND hwndParent,LPCCSTYLEA pccs);
46   typedef WINBOOL (CALLBACK *LPFNCCSTYLEW)(HWND hwndParent,LPCCSTYLEW pccs);
47   typedef INT (CALLBACK *LPFNCCSIZETOTEXTA)(DWORD flStyle,DWORD flExtStyle,HFONT hfont,LPSTR pszText);
48   typedef INT (CALLBACK *LPFNCCSIZETOTEXTW)(DWORD flStyle,DWORD flExtStyle,HFONT hfont,LPWSTR pszText);
49 
50   typedef struct tagCCSTYLEFLAGA {
51     DWORD flStyle;
52     DWORD flStyleMask;
53     LPSTR pszStyle;
54   } CCSTYLEFLAGA,*LPCCSTYLEFLAGA;
55 
56   typedef struct tagCCSTYLEFLAGW {
57     DWORD flStyle;
58     DWORD flStyleMask;
59     LPWSTR pszStyle;
60   } CCSTYLEFLAGW,*LPCCSTYLEFLAGW;
61 
62 #define CCF_NOTEXT 0x00000001
63 
64   typedef struct tagCCINFOA {
65     CHAR szClass[CCHCCCLASS];
66     DWORD flOptions;
67     CHAR szDesc[CCHCCDESC];
68     UINT cxDefault;
69     UINT cyDefault;
70     DWORD flStyleDefault;
71     DWORD flExtStyleDefault;
72     DWORD flCtrlTypeMask;
73     CHAR szTextDefault[CCHCCTEXT];
74     INT cStyleFlags;
75     LPCCSTYLEFLAGA aStyleFlags;
76     LPFNCCSTYLEA lpfnStyle;
77     LPFNCCSIZETOTEXTA lpfnSizeToText;
78     DWORD dwReserved1;
79     DWORD dwReserved2;
80   } CCINFOA,*LPCCINFOA;
81 
82   typedef struct tagCCINFOW {
83     WCHAR szClass[CCHCCCLASS];
84     DWORD flOptions;
85     WCHAR szDesc[CCHCCDESC];
86     UINT cxDefault;
87     UINT cyDefault;
88     DWORD flStyleDefault;
89     DWORD flExtStyleDefault;
90     DWORD flCtrlTypeMask;
91     INT cStyleFlags;
92     LPCCSTYLEFLAGW aStyleFlags;
93     WCHAR szTextDefault[CCHCCTEXT];
94     LPFNCCSTYLEW lpfnStyle;
95     LPFNCCSIZETOTEXTW lpfnSizeToText;
96     DWORD dwReserved1;
97     DWORD dwReserved2;
98   } CCINFOW,*LPCCINFOW;
99 
100   typedef UINT (CALLBACK *LPFNCCINFOA)(LPCCINFOA acci);
101   typedef UINT (CALLBACK *LPFNCCINFOW)(LPCCINFOW acci);
102 
103 #ifdef __cplusplus
104 }
105 #endif
106 #endif
107