oleaut32: Check pointer in IPicture::get_Type.
[wine] / dlls / ctl3d32 / ctl3d.c
1 /*
2  * 16-bit CTL3D and CTL3DV2 API stubs.
3  *
4  * Copyright (c) 2003 Dmitry Timoshkov
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19  */
20
21 #include "wine/winbase16.h"
22 #include "wine/winuser16.h"
23
24 static BOOL16 CTL3D16_is_auto_subclass = FALSE;
25
26 /***********************************************************************
27  *              Ctl3dAutoSubclass (CTL3D.16)
28  *              Ctl3dAutoSubclass (CTL3DV2.16)
29  */
30 BOOL16 WINAPI Ctl3dAutoSubclass16(HINSTANCE16 hInst)
31 {
32     CTL3D16_is_auto_subclass = TRUE;
33     return TRUE;
34 }
35
36 /***********************************************************************
37  *              Ctl3dAutoSubclassEx (CTL3D.27)
38  *              Ctl3dAutoSubclassEx (CTL3DV2.27)
39  */
40 BOOL16 WINAPI Ctl3dAutoSubclassEx16(HINSTANCE16 hInst, DWORD type)
41 {
42     CTL3D16_is_auto_subclass = TRUE;
43     return TRUE;
44 }
45
46 /***********************************************************************
47  *              Ctl3dColorChange (CTL3D.6)
48  *              Ctl3dColorChange (CTL3DV2.6)
49  */
50 BOOL16 WINAPI Ctl3dColorChange16(void)
51 {
52     return TRUE;
53 }
54
55 /***********************************************************************
56  *              Ctl3dCtlColor (CTL3D.4)
57  *              Ctl3dCtlColor (CTL3DV2.4)
58  */
59 HBRUSH WINAPI Ctl3dCtlColor16(HDC16 hdc, LONG hwnd)
60 {
61     return 0;
62 }
63
64 /***********************************************************************
65  *              Ctl3dCtlColorEx (CTL3D.18)
66  *              Ctl3dCtlColorEx (CTL3DV2.18)
67  */
68 HBRUSH WINAPI Ctl3dCtlColorEx16(UINT16 msg, WPARAM16 wParam, LPARAM lParam)
69 {
70     return 0;
71 }
72
73 /***********************************************************************
74  *              Ctl3dDlgFramePaint (CTL3D.20)
75  *              Ctl3dDlgFramePaint (CTL3DV2.20)
76  */
77 LONG WINAPI Ctl3dDlgFramePaint16(HWND16 hwnd, UINT16 msg, WPARAM16 wParam, LPARAM lParam)
78 {
79     return DefWindowProc16(hwnd, msg, wParam, lParam);
80 }
81
82 /***********************************************************************
83  *              Ctl3dEnabled (CTL3D.5)
84  *              Ctl3dEnabled (CTL3DV2.5)
85  */
86 BOOL16 WINAPI Ctl3dEnabled16(void)
87 {
88     return FALSE;
89 }
90
91 /***********************************************************************
92  *              Ctl3dGetVer (CTL3D.1)
93  *              Ctl3dGetVer (CTL3DV2.1)
94  */
95 WORD WINAPI Ctl3dGetVer16(void)
96 {
97     return MAKEWORD(31,2);
98 }
99
100 /***********************************************************************
101  *              Ctl3dIsAutoSubclass (CTL3D.23)
102  *              Ctl3dIsAutoSubclass (CTL3DV2.23)
103  */
104 BOOL16 WINAPI Ctl3dIsAutoSubclass16(void)
105 {
106     return CTL3D16_is_auto_subclass;
107 }
108
109 /***********************************************************************
110  *              Ctl3dRegister (CTL3D.12)
111  *              Ctl3dRegister (CTL3DV2.12)
112  */
113 BOOL16 WINAPI Ctl3dRegister16(HINSTANCE16 hInst)
114 {
115     return FALSE;
116 }
117
118 /***********************************************************************
119  *              Ctl3dSubclassCtl (CTL3D.3)
120  *              Ctl3dSubclassCtl (CTL3DV2.3)
121  */
122 BOOL16 WINAPI Ctl3dSubclassCtl16(HWND16 hwnd)
123 {
124     return FALSE;
125 }
126
127 /***********************************************************************
128  *              Ctl3dSubclassCtlEx (CTL3D.25)
129  *              Ctl3dSubclassCtlEx (CTL3DV2.25)
130  */
131 BOOL16 WINAPI Ctl3dSubclassCtlEx16(HWND16 hwnd, INT16 type)
132 {
133     return FALSE;
134 }
135
136 /***********************************************************************
137  *              Ctl3dSubclassDlg (CTL3D.2)
138  *              Ctl3dSubclassDlg (CTL3DV2.2)
139  */
140 BOOL16 WINAPI Ctl3dSubclassDlg16(HWND16 hwnd, WORD types)
141 {
142     return FALSE;
143 }
144
145 /***********************************************************************
146  *              Ctl3dSubclassDlgEx (CTL3D.21)
147  *              Ctl3dSubclassDlgEx (CTL3DV2.21)
148  */
149 BOOL16 WINAPI Ctl3dSubclassDlgEx16(HWND16 hwnd, DWORD types)
150 {
151     return FALSE;
152 }
153
154 /***********************************************************************
155  *              Ctl3dUnAutoSubclass (CTL3D.24)
156  *              Ctl3dUnAutoSubclass (CTL3DV2.24)
157  */
158 BOOL16 WINAPI Ctl3dUnAutoSubclass16(void)
159 {
160     CTL3D16_is_auto_subclass = FALSE;
161     return FALSE;
162 }
163
164 /***********************************************************************
165  *              Ctl3dUnregister (CTL3D.13)
166  *              Ctl3dUnregister (CTL3DV2.13)
167  */
168 BOOL16 WINAPI Ctl3dUnregister16(HINSTANCE16 hInst)
169 {
170     CTL3D16_is_auto_subclass = FALSE;
171     return TRUE;
172 }
173
174 /***********************************************************************
175  *              Ctl3dUnsubclassCtl (CTL3D.26)
176  *              Ctl3dUnsubclassCtl (CTL3DV2.26)
177  */
178 BOOL16 WINAPI Ctl3dUnsubclassCtl16(HWND16 hwnd)
179 {
180     return FALSE;
181 }
182
183 /***********************************************************************
184  *              Ctl3dWinIniChange (CTL3D.22)
185  *              Ctl3dWinIniChange (CTL3DV2.22)
186  */
187 void WINAPI Ctl3dWinIniChange16(void)
188 {
189 }
190
191 /***********************************************************************
192  *              ComboWndProc3d (CTL3D.10)
193  *              ComboWndProc3d (CTL3DV2.10)
194  */
195 LRESULT WINAPI ComboWndProc3d16(HWND16 hwnd, UINT16 msg,WPARAM16 wparam, LPARAM lparam)
196 {
197     return 0;
198 }
199
200 /***********************************************************************
201  *              BtnWndProc3d (CTL3D.7)
202  *              BtnWndProc3d (CTL3DV2.7)
203  */
204 LRESULT WINAPI BtnWndProc3d16(HWND16 hwnd, UINT16 msg, WPARAM16 wparam, LPARAM lparam)
205 {
206     return 0;
207 }
208
209 /***********************************************************************
210  *              StaticWndProc3d (CTL3D.11)
211  *              StaticWndProc3d (CTL3DV2.11)
212  */
213 LRESULT WINAPI StaticWndProc3d16(HWND16 hwnd, UINT16 msg, WPARAM16 wparam, LPARAM lparam)
214 {
215     return 0;
216 }
217
218 /***********************************************************************
219  *              EditWndProc3d (CTL3D.8)
220  *              EditWndProc3d (CTL3DV2.8)
221  */
222 LRESULT WINAPI EditWndProc3d16(HWND16 hwnd, UINT16 msg, WPARAM16 wparam, LPARAM lparam)
223 {
224     return 0;
225 }
226
227 /***********************************************************************
228  *              ListWndProc3d (CTL3D.9)
229  *              ListWndProc3d (CTL3DV2.9)
230  */
231 LRESULT WINAPI ListWndProc3d16(HWND16 hwnd, UINT16 msg, WPARAM16 wparam, LPARAM lparam)
232 {
233     return 0;
234 }
235
236 /***********************************************************************
237  *              Ctl3dDlgProc (CTL3D.17)
238  *              Ctl3dDlgProc (CTL3DV2.17)
239  */
240 LRESULT WINAPI Ctl3dDlgProc16(HWND16 hwnd, UINT16 msg, WPARAM16 wparam, LPARAM lparam)
241 {
242     return 0;
243 }