1 /** 2 * Windows API header module 3 * 4 * Translated from MinGW Windows headers 5 * 6 * Authors: Stewart Gordon 7 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) 8 * Source: $(DRUNTIMESRC core/sys/windows/_custcntl.d) 9 */ 10 module core.sys.windows.custcntl; 11 version (Windows): 12 13 version (ANSI) {} else version = Unicode; 14 15 import core.sys.windows.windef; 16 17 // FIXME: check type 18 enum CCF_NOTEXT = 1; 19 20 enum size_t 21 CCHCCCLASS = 32, 22 CCHCCDESC = 32, 23 CCHCCTEXT = 256; 24 25 struct CCSTYLEA { 26 DWORD flStyle; 27 DWORD flExtStyle; 28 CHAR[CCHCCTEXT] szText = 0; 29 LANGID lgid; 30 WORD wReserved1; 31 } 32 alias CCSTYLEA* LPCCSTYLEA; 33 34 struct CCSTYLEW { 35 DWORD flStyle; 36 DWORD flExtStyle; 37 WCHAR[CCHCCTEXT] szText = 0; 38 LANGID lgid; 39 WORD wReserved1; 40 } 41 alias CCSTYLEW* LPCCSTYLEW; 42 43 struct CCSTYLEFLAGA { 44 DWORD flStyle; 45 DWORD flStyleMask; 46 LPSTR pszStyle; 47 } 48 alias CCSTYLEFLAGA* LPCCSTYLEFLAGA; 49 50 struct CCSTYLEFLAGW { 51 DWORD flStyle; 52 DWORD flStyleMask; 53 LPWSTR pszStyle; 54 } 55 alias CCSTYLEFLAGW* LPCCSTYLEFLAGW; 56 57 struct CCINFOA { 58 CHAR[CCHCCCLASS] szClass = 0; 59 DWORD flOptions; 60 CHAR[CCHCCDESC] szDesc = 0; 61 UINT cxDefault; 62 UINT cyDefault; 63 DWORD flStyleDefault; 64 DWORD flExtStyleDefault; 65 DWORD flCtrlTypeMask; 66 CHAR[CCHCCTEXT] szTextDefault = 0; 67 INT cStyleFlags; 68 LPCCSTYLEFLAGA aStyleFlags; 69 LPFNCCSTYLEA lpfnStyle; 70 LPFNCCSIZETOTEXTA lpfnSizeToText; 71 DWORD dwReserved1; 72 DWORD dwReserved2; 73 } 74 alias CCINFOA* LPCCINFOA; 75 76 struct CCINFOW { 77 WCHAR[CCHCCCLASS] szClass = 0; 78 DWORD flOptions; 79 WCHAR[CCHCCDESC] szDesc = 0; 80 UINT cxDefault; 81 UINT cyDefault; 82 DWORD flStyleDefault; 83 DWORD flExtStyleDefault; 84 DWORD flCtrlTypeMask; 85 WCHAR[CCHCCTEXT] szTextDefault = 0; 86 INT cStyleFlags; 87 LPCCSTYLEFLAGW aStyleFlags; 88 LPFNCCSTYLEW lpfnStyle; 89 LPFNCCSIZETOTEXTW lpfnSizeToText; 90 DWORD dwReserved1; 91 DWORD dwReserved2; 92 } 93 alias CCINFOW* LPCCINFOW; 94 95 extern (Windows) { 96 alias BOOL function(HWND, LPCCSTYLEA) LPFNCCSTYLEA; 97 alias BOOL function(HWND, LPCCSTYLEW) LPFNCCSTYLEW; 98 alias INT function(DWORD, DWORD, HFONT, LPSTR) LPFNCCSIZETOTEXTA; 99 alias INT function(DWORD, DWORD, HFONT, LPWSTR) LPFNCCSIZETOTEXTW; 100 alias UINT function(LPCCINFOA) LPFNCCINFOA; 101 alias UINT function(LPCCINFOW) LPFNCCINFOW; 102 UINT CustomControlInfoA(LPCCINFOA acci); 103 UINT CustomControlInfoW(LPCCINFOW acci); 104 } 105 106 version (Unicode) { 107 alias CCSTYLEW CCSTYLE; 108 alias CCSTYLEFLAGW CCSTYLEFLAG; 109 alias CCINFOW CCINFO; 110 alias LPFNCCSTYLEW LPFNCCSTYLE; 111 alias LPFNCCSIZETOTEXTW LPFNCCSIZETOTEXT; 112 alias LPFNCCINFOW LPFNCCINFO; 113 } else { 114 alias CCSTYLEA CCSTYLE; 115 alias CCSTYLEFLAGA CCSTYLEFLAG; 116 alias CCINFOA CCINFO; 117 alias LPFNCCSTYLEA LPFNCCSTYLE; 118 alias LPFNCCSIZETOTEXTA LPFNCCSIZETOTEXT; 119 alias LPFNCCINFOA LPFNCCINFO; 120 } 121 122 alias CCSTYLE* LPCCSTYLE; 123 alias CCSTYLEFLAG* LPCCSTYLEFLAG; 124 alias CCINFO* LPCCINFO;