| /* | 
 |  * Copyright (C) 2002 Gyorgy 'Nog' Jeney   | 
 |  * | 
 |  * This library is free software; you can redistribute it and/or | 
 |  * modify it under the terms of the GNU Lesser General Public | 
 |  * License as published by the Free Software Foundation; either | 
 |  * version 2.1 of the License, or (at your option) any later version. | 
 |  * | 
 |  * This library is distributed in the hope that it will be useful, | 
 |  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
 |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | 
 |  * Lesser General Public License for more details. | 
 |  * | 
 |  * You should have received a copy of the GNU Lesser General Public | 
 |  * License along with this library; if not, write to the Free Software | 
 |  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA | 
 |  */ | 
 |  | 
 | #ifndef _INC_CUSTCNTL | 
 | #define _INC_CUSTCNTL | 
 |  | 
 | #ifdef __cplusplus | 
 | extern "C" { | 
 | #endif | 
 |  | 
 | /* Size defs */ | 
 | #define CCHCCCLASS 32 | 
 | #define CCHCCDESC 32 | 
 | #define CCHCCTEXT 256 | 
 |  | 
 | /* Custom Control Style Structure */ | 
 | typedef struct tagCCSYLEA { | 
 |   DWORD flStyle; | 
 |   DWORD flExtStyle; | 
 |   char szText[CCHCCTEXT]; | 
 |   LANGID lgid; | 
 |   WORD wReserved1; | 
 | } CCSTYLEA, *LPCCSTYLEA; | 
 |  | 
 | typedef struct tagCCSYLEW { | 
 |   DWORD flStyle; | 
 |   DWORD flExtStyle; | 
 |   WCHAR szText[CCHCCTEXT]; | 
 |   LANGID lgid; | 
 |   WORD wReserved1; | 
 | } CCSTYLEW, *LPCCSTYLEW; | 
 |  | 
 | #define CCSTYLE   WINELIB_NAME_AW(CCSTYLE) | 
 | #define LPCCSTYLE WINELIB_NAME_AW(LPCCSTYLE) | 
 |  | 
 | typedef BOOL (CALLBACK *LPFNCCSTYLEA)(HWND, LPCCSTYLEA); | 
 | typedef BOOL (CALLBACK *LPFNCCSTYLEW)(HWND, LPCCSTYLEW); | 
 |  | 
 | #define LPFNCCSTYLE WINELIB_NAME_AW(LPFNCCSTYLE) | 
 |  | 
 | typedef int (CALLBACK *LPFNCCSIZETOTEXTA)(DWORD, DWORD, HFONT, LPSTR); | 
 | typedef int (CALLBACK *LPFNCCSIZETOTEXTW)(DWORD, DWORD, HFONT, LPWSTR); | 
 |  | 
 | #define LPFNCCSIZETOTEXT WINELIB_NAME_AW(LPFNCCSIZETOTEXT) | 
 |  | 
 | /* Custom Control style flags structure */ | 
 | typedef struct tagCCSTYLEFLAGA { | 
 |   DWORD flStyle; | 
 |   DWORD flStyleMask; | 
 |   LPSTR pszStyle; | 
 | } CCSTYLEFLAGA, *LPCCSTYLEFLAGA; | 
 |  | 
 | typedef struct tagCCSTYLEFLAGW { | 
 |   DWORD flStyle; | 
 |   DWORD flStyleMask; | 
 |   LPWSTR pszStyle; | 
 | } CCSTYLEFLAGW, *LPCCSTYLEFLAGW; | 
 |  | 
 | #define CCSTYLEFLAG WINELIB_NAME_AW(CCSTYLEFLAG) | 
 |  | 
 | /* Custom Control Flags */ | 
 | #define CCF_NOTEXT 0x00000001 | 
 |  | 
 | /* CustomControl info structure */ | 
 | typedef struct tagCCINFOA { | 
 |   char szClass[CCHCCCLASS]; | 
 |   DWORD flOptions; | 
 |   char szDesc[CCHCCDESC]; | 
 |   UINT cxDefault; | 
 |   UINT cyDefault; | 
 |   DWORD flStyleDefault; | 
 |   DWORD flExtStyleDefault; | 
 |   DWORD flCtrlTypeMask; | 
 |   char szTextDefault[CCHCCTEXT]; | 
 |   int cStyleFlags; | 
 |   LPCCSTYLEFLAGA aStyleFlags; | 
 |   LPFNCCSTYLEA lpfnStyle; | 
 |   LPFNCCSIZETOTEXTA lpfnSizeToText; | 
 |   DWORD dwReserved1; | 
 |   DWORD dwReserved2; | 
 | } CCINFOA, *LPCCINFOA; | 
 |  | 
 | typedef struct tagCCINFOW { | 
 |   WCHAR szClass[CCHCCCLASS]; | 
 |   DWORD flOptions; | 
 |   WCHAR szDesc[CCHCCDESC]; | 
 |   UINT cxDefault; | 
 |   UINT cyDefault; | 
 |   DWORD flStyleDefault; | 
 |   DWORD flExtStyleDefault; | 
 |   DWORD flCtrlTypeMask; | 
 |   int cStyleFlags; | 
 |   LPCCSTYLEFLAGW aStyleFlags; | 
 |   WCHAR szTextDefault[CCHCCTEXT]; | 
 |   LPFNCCSTYLEW lpfnStyle; | 
 |   LPFNCCSIZETOTEXTW lpfnSizeToText; | 
 |   DWORD dwReserved1; | 
 |   DWORD dwReserved2; | 
 | } CCINFOW, *LPCCINFOW; | 
 |  | 
 | DECL_WINELIB_TYPE_AW(CCINFO) | 
 | DECL_WINELIB_TYPE_AW(LPCCINFO) | 
 |  | 
 | typedef UINT (CALLBACK *LPFNCCINFOA)(LPCCINFOA); | 
 | typedef UINT (CALLBACK *LPFNCCINFOW)(LPCCINFOW); | 
 |  | 
 | DECL_WINELIB_TYPE_AW(LPFNCCINFO) | 
 |  | 
 | #ifdef __cplusplus | 
 | } | 
 | #endif | 
 |  | 
 | #endif /* _INC_CUSTCNTL */ |