From dfacb6ef5c482b12cfa4c5de484d92d6ce809a7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gy=C3=B6rgy=20=27Nog=27=20Jeney?= Date: Sun, 29 Sep 2002 18:04:15 +0000 Subject: [PATCH] Initial implementation of custom control header. --- include/Makefile.in | 1 + include/custcntl.h | 127 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 128 insertions(+) create mode 100644 include/custcntl.h diff --git a/include/Makefile.in b/include/Makefile.in index 348382e2844..0d19a9a6d70 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -14,6 +14,7 @@ INSTALLED_INCLUDES = \ commdlg.h \ compobj.h \ cpl.h \ + custcntl.h \ d3d.h \ d3d8.h \ d3d8caps.h \ diff --git a/include/custcntl.h b/include/custcntl.h new file mode 100644 index 00000000000..5b875b40958 --- /dev/null +++ b/include/custcntl.h @@ -0,0 +1,127 @@ +/* + * Copyright (C) 2002 György '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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 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 Syte 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 sturcture */ +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; + +#define CCINFO WINELIB_NAME_AW(CCINFO) + +typedef UINT (CALLBACK *LPFNCCINFOA)(LPCCINFOA); +typedef UINT (CALLBACK *LPFNCCINFOW)(LPCCINFOW); + +#define LPFNCCINFO WINELIB_NAME_AW(LPFNCCINFO) + +#ifdef __cplusplus +} +#endif + +#endif /* _INC_CUSTCNTL */