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