imm32: Retrieve the graphics driver module from gdi32.
[wine] / dlls / commdlg.dll16 / colordlg.c
1 /*
2  * COMMDLG - Color Dialog
3  *
4  * Copyright 1994 Martin Ayotte
5  * Copyright 1996 Albrecht Kleine
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public
9  * License as published by the Free Software Foundation; either
10  * version 2.1 of the License, or (at your option) any later version.
11  *
12  * This library is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with this library; if not, write to the Free Software
19  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
20  */
21
22 /* BUGS : still seems to not refresh correctly
23    sometimes, especially when 2 instances of the
24    dialog are loaded at the same time */
25
26 #include <ctype.h>
27 #include <stdlib.h>
28 #include <stdarg.h>
29 #include <stdio.h>
30 #include <string.h>
31 #include "windef.h"
32 #include "winbase.h"
33 #include "wingdi.h"
34 #include "winuser.h"
35 #include "commdlg.h"
36 #include "wine/debug.h"
37 #include "cdlg16.h"
38
39 WINE_DEFAULT_DEBUG_CHANNEL(commdlg);
40
41
42 /***********************************************************************
43  *           ColorDlgProc   (COMMDLG.8)
44  */
45 BOOL16 CALLBACK ColorDlgProc16( HWND16 hDlg16, UINT16 message, WPARAM16 wParam, LPARAM lParam )
46 {
47     FIXME( "%04x %04x %04x %08lx: stub\n", hDlg16, message, wParam, lParam );
48     return FALSE;
49 }
50
51 /***********************************************************************
52  *            ChooseColor  (COMMDLG.5)
53  */
54 BOOL16 WINAPI ChooseColor16( LPCHOOSECOLOR16 cc16 )
55 {
56     CHOOSECOLORA cc32;
57     BOOL ret;
58
59     cc32.lStructSize  = sizeof(cc32);
60     cc32.hwndOwner    = HWND_32( cc16->hwndOwner );
61     cc32.rgbResult    = cc16->rgbResult;
62     cc32.lpCustColors = MapSL( cc16->lpCustColors );
63     cc32.Flags        = cc16->Flags & ~(CC_ENABLETEMPLATE | CC_ENABLETEMPLATEHANDLE | CC_ENABLEHOOK);
64     cc32.lCustData    = cc16->lCustData;
65
66     if (cc16->Flags & (CC_ENABLETEMPLATE | CC_ENABLETEMPLATEHANDLE))
67         FIXME( "custom templates no longer supported, using default\n" );
68     if (cc16->Flags & CC_ENABLEHOOK)
69         FIXME( "custom hook %p no longer supported\n", cc16->lpfnHook );
70
71     if ((ret = ChooseColorA( &cc32 )))
72     {
73         cc16->rgbResult = cc32.rgbResult;
74     }
75     return ret;
76 }