kernel32: Use the Mach host_info(HOST_BASIC_INFO) API to obtain total RAM after tryin...
[wine/multimedia.git] / include / custcntl.h
blobc91ead6748696e0293dccbcc79f6f828c8c70fe1
1 /*
2 * Copyright (C) 2002 Gyorgy 'Nog' Jeney
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #ifndef _INC_CUSTCNTL
20 #define _INC_CUSTCNTL
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
26 /* Size defs */
27 #define CCHCCCLASS 32
28 #define CCHCCDESC 32
29 #define CCHCCTEXT 256
31 /* Custom Control Style Structure */
32 typedef struct tagCCSYLEA {
33 DWORD flStyle;
34 DWORD flExtStyle;
35 char szText[CCHCCTEXT];
36 LANGID lgid;
37 WORD wReserved1;
38 } CCSTYLEA, *LPCCSTYLEA;
40 typedef struct tagCCSYLEW {
41 DWORD flStyle;
42 DWORD flExtStyle;
43 WCHAR szText[CCHCCTEXT];
44 LANGID lgid;
45 WORD wReserved1;
46 } CCSTYLEW, *LPCCSTYLEW;
48 #define CCSTYLE WINELIB_NAME_AW(CCSTYLE)
49 #define LPCCSTYLE WINELIB_NAME_AW(LPCCSTYLE)
51 typedef BOOL (CALLBACK *LPFNCCSTYLEA)(HWND, LPCCSTYLEA);
52 typedef BOOL (CALLBACK *LPFNCCSTYLEW)(HWND, LPCCSTYLEW);
54 #define LPFNCCSTYLE WINELIB_NAME_AW(LPFNCCSTYLE)
56 typedef int (CALLBACK *LPFNCCSIZETOTEXTA)(DWORD, DWORD, HFONT, LPSTR);
57 typedef int (CALLBACK *LPFNCCSIZETOTEXTW)(DWORD, DWORD, HFONT, LPWSTR);
59 #define LPFNCCSIZETOTEXT WINELIB_NAME_AW(LPFNCCSIZETOTEXT)
61 /* Custom Control style flags structure */
62 typedef struct tagCCSTYLEFLAGA {
63 DWORD flStyle;
64 DWORD flStyleMask;
65 LPSTR pszStyle;
66 } CCSTYLEFLAGA, *LPCCSTYLEFLAGA;
68 typedef struct tagCCSTYLEFLAGW {
69 DWORD flStyle;
70 DWORD flStyleMask;
71 LPWSTR pszStyle;
72 } CCSTYLEFLAGW, *LPCCSTYLEFLAGW;
74 #define CCSTYLEFLAG WINELIB_NAME_AW(CCSTYLEFLAG)
76 /* Custom Control Flags */
77 #define CCF_NOTEXT 0x00000001
79 /* CustomControl info structure */
80 typedef struct tagCCINFOA {
81 char szClass[CCHCCCLASS];
82 DWORD flOptions;
83 char szDesc[CCHCCDESC];
84 UINT cxDefault;
85 UINT cyDefault;
86 DWORD flStyleDefault;
87 DWORD flExtStyleDefault;
88 DWORD flCtrlTypeMask;
89 char szTextDefault[CCHCCTEXT];
90 int cStyleFlags;
91 LPCCSTYLEFLAGA aStyleFlags;
92 LPFNCCSTYLEA lpfnStyle;
93 LPFNCCSIZETOTEXTA lpfnSizeToText;
94 DWORD dwReserved1;
95 DWORD dwReserved2;
96 } CCINFOA, *LPCCINFOA;
98 typedef struct tagCCINFOW {
99 WCHAR szClass[CCHCCCLASS];
100 DWORD flOptions;
101 WCHAR szDesc[CCHCCDESC];
102 UINT cxDefault;
103 UINT cyDefault;
104 DWORD flStyleDefault;
105 DWORD flExtStyleDefault;
106 DWORD flCtrlTypeMask;
107 int cStyleFlags;
108 LPCCSTYLEFLAGW aStyleFlags;
109 WCHAR szTextDefault[CCHCCTEXT];
110 LPFNCCSTYLEW lpfnStyle;
111 LPFNCCSIZETOTEXTW lpfnSizeToText;
112 DWORD dwReserved1;
113 DWORD dwReserved2;
114 } CCINFOW, *LPCCINFOW;
116 DECL_WINELIB_TYPE_AW(CCINFO)
117 DECL_WINELIB_TYPE_AW(LPCCINFO)
119 typedef UINT (CALLBACK *LPFNCCINFOA)(LPCCINFOA);
120 typedef UINT (CALLBACK *LPFNCCINFOW)(LPCCINFOW);
122 DECL_WINELIB_TYPE_AW(LPFNCCINFO)
124 #ifdef __cplusplus
126 #endif
128 #endif /* _INC_CUSTCNTL */