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/_cpl.d)
9  */
10 module nulib.system.win32.cpl;
11 
12 
13 version (ANSI) {} else version = Unicode;
14 
15 import nulib.system.win32.windef, nulib.system.win32.winuser;
16 
17 enum : uint {
18     WM_CPL_LAUNCH = WM_USER + 1000,
19     WM_CPL_LAUNCHED
20 }
21 
22 enum : uint {
23     CPL_DYNAMIC_RES,
24     CPL_INIT,
25     CPL_GETCOUNT,
26     CPL_INQUIRE,
27     CPL_SELECT,
28     CPL_DBLCLK,
29     CPL_STOP,
30     CPL_EXIT,
31     CPL_NEWINQUIRE,
32     CPL_STARTWPARMSA,
33     CPL_STARTWPARMSW, // = 10
34     CPL_SETUP = 200
35 }
36 
37 extern (Windows) alias LONG function(HWND, UINT, LONG, LONG) APPLET_PROC;
38 
39 align(1)
40 struct CPLINFO {
41 align(1):
42     int  idIcon;
43     int  idName;
44     int  idInfo;
45     LONG_PTR  lData;
46 }
47 alias LPCPLINFO = CPLINFO*;
48 
49 align(1)
50 struct NEWCPLINFOA {
51 align(1):
52     DWORD     dwSize = NEWCPLINFOA.sizeof;
53     DWORD     dwFlags;
54     DWORD     dwHelpContext;
55     LONG_PTR  lData;
56     HICON     hIcon;
57     CHAR[32]  szName = 0;
58     CHAR[64]  szInfo = 0;
59     CHAR[128] szHelpFile = 0;
60 }
61 alias LPNEWCPLINFOA = NEWCPLINFOA*;
62 
63 align(1)
64 struct NEWCPLINFOW {
65 align(1):
66     DWORD      dwSize = NEWCPLINFOW.sizeof;
67     DWORD      dwFlags;
68     DWORD      dwHelpContext;
69     LONG_PTR   lData;
70     HICON      hIcon;
71     WCHAR[32]  szName = 0;
72     WCHAR[64]  szInfo = 0;
73     WCHAR[128] szHelpFile = 0;
74 }
75 alias LPNEWCPLINFOW = NEWCPLINFOW*;
76 
77 version (Unicode) {
78     alias CPL_STARTWPARMS = CPL_STARTWPARMSW;
79     alias NEWCPLINFO = NEWCPLINFOW;
80 } else {
81     alias CPL_STARTWPARMS = CPL_STARTWPARMSA;
82     alias NEWCPLINFO = NEWCPLINFOA;
83 }
84 
85 alias LPNEWCPLINFO = NEWCPLINFO*;