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
12extern "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