Fixed some problems found while compiling and linking Wine under
[wine] / dlls / uxtheme / draw.c
1 /*
2  * Win32 5.1 Theme drawing
3  *
4  * Copyright (C) 2003 Kevin Koltzau
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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19  */
20
21 #include "config.h"
22
23 #include <stdarg.h>
24
25 #include "windef.h"
26 #include "winbase.h"
27 #include "winuser.h"
28 #include "wingdi.h"
29 #include "uxtheme.h"
30
31 #include "uxthemedll.h"
32
33 #include "wine/debug.h"
34
35 WINE_DEFAULT_DEBUG_CHANNEL(uxtheme);
36
37 /***********************************************************************
38  *      EnableThemeDialogTexture                            (UXTHEME.@)
39  */
40 HRESULT WINAPI EnableThemeDialogTexture(HWND hwnd, DWORD dwFlags)
41 {
42     FIXME("%p 0x%08lx: stub\n", hwnd, dwFlags);
43     return ERROR_CALL_NOT_IMPLEMENTED;
44  }
45
46 /***********************************************************************
47  *      IsThemeDialogTextureEnabled                         (UXTHEME.@)
48  */
49 BOOL WINAPI IsThemeDialogTextureEnabled(void)
50 {
51     FIXME("stub\n");
52     return FALSE;
53 }
54
55 /***********************************************************************
56  *      DrawThemeParentBackground                           (UXTHEME.@)
57  */
58 HRESULT WINAPI DrawThemeParentBackground(HWND hwnd, HDC hdc, RECT *prc)
59 {
60     FIXME("stub\n");
61     return ERROR_CALL_NOT_IMPLEMENTED;
62 }
63
64 /***********************************************************************
65  *      DrawThemeBackground                                 (UXTHEME.@)
66  */
67 HRESULT WINAPI DrawThemeBackground(HTHEME hTheme, HDC hdc, int iPartId,
68                                    int iStateId, const RECT *pRect,
69                                    const RECT *pClipRect)
70 {
71     FIXME("%d %d: stub\n", iPartId, iStateId);
72     if(!hTheme)
73         return E_HANDLE;
74     return ERROR_CALL_NOT_IMPLEMENTED;
75 }
76
77 /***********************************************************************
78  *      DrawThemeBackgroundEx                               (UXTHEME.@)
79  */
80 HRESULT WINAPI DrawThemeBackgroundEx(HTHEME hTheme, HDC hdc, int iPartId,
81                                      int iStateId, const RECT *pRect,
82                                      const DTBGOPTS *pOptions)
83 {
84     FIXME("%d %d: stub\n", iPartId, iStateId);
85     if(!hTheme)
86         return E_HANDLE;
87     return ERROR_CALL_NOT_IMPLEMENTED;
88 }
89
90 /***********************************************************************
91  *      DrawThemeEdge                                       (UXTHEME.@)
92  */
93 HRESULT WINAPI DrawThemeEdge(HTHEME hTheme, HDC hdc, int iPartId,
94                              int iStateId, const RECT *pDestRect, UINT uEdge,
95                              UINT uFlags, RECT *pContentRect)
96 {
97     FIXME("%d %d 0x%08x 0x%08x: stub\n", iPartId, iStateId, uEdge, uFlags);
98     if(!hTheme)
99         return E_HANDLE;
100     return ERROR_CALL_NOT_IMPLEMENTED;
101 }
102
103 /***********************************************************************
104  *      DrawThemeIcon                                       (UXTHEME.@)
105  */
106 HRESULT WINAPI DrawThemeIcon(HTHEME hTheme, HDC hdc, int iPartId, int iStateId,
107                              const RECT *pRect, HIMAGELIST himl, int iImageIndex)
108 {
109     FIXME("%d %d: stub\n", iPartId, iStateId);
110     if(!hTheme)
111         return E_HANDLE;
112     return ERROR_CALL_NOT_IMPLEMENTED;
113 }
114
115 /***********************************************************************
116  *      DrawThemeText                                       (UXTHEME.@)
117  */
118 HRESULT WINAPI DrawThemeText(HTHEME hTheme, HDC hdc, int iPartId, int iStateId,
119                              LPCWSTR pszText, int iCharCount, DWORD dwTextFlags,
120                              DWORD dwTextFlags2, const RECT *pRect)
121 {
122     FIXME("%d %d: stub\n", iPartId, iStateId);
123     if(!hTheme)
124         return E_HANDLE;
125     return ERROR_CALL_NOT_IMPLEMENTED;
126 }
127
128 /***********************************************************************
129  *      GetThemeBackgroundContentRect                       (UXTHEME.@)
130  */
131 HRESULT WINAPI GetThemeBackgroundContentRect(HTHEME hTheme, HDC hdc, int iPartId,
132                                              int iStateId,
133                                              const RECT *pBoundingRect,
134                                              RECT *pContentRect)
135 {
136     FIXME("%d %d: stub\n", iPartId, iStateId);
137     if(!hTheme)
138         return E_HANDLE;
139     return ERROR_CALL_NOT_IMPLEMENTED;
140 }
141
142 /***********************************************************************
143  *      GetThemeBackgroundExtent                            (UXTHEME.@)
144  */
145 HRESULT WINAPI GetThemeBackgroundExtent(HTHEME hTheme, HDC hdc, int iPartId,
146                                         int iStateId, const RECT *pContentRect,
147                                         RECT *pExtentRect)
148 {
149     FIXME("%d %d: stub\n", iPartId, iStateId);
150     if(!hTheme)
151         return E_HANDLE;
152     return ERROR_CALL_NOT_IMPLEMENTED;
153 }
154
155 /***********************************************************************
156  *      GetThemeBackgroundRegion                            (UXTHEME.@)
157  */
158 HRESULT WINAPI GetThemeBackgroundRegion(HTHEME hTheme, HDC hdc, int iPartId,
159                                         int iStateId, const RECT *pRect,
160                                         HRGN *pRegion)
161 {
162     FIXME("%d %d: stub\n", iPartId, iStateId);
163     if(!hTheme)
164         return E_HANDLE;
165     return ERROR_CALL_NOT_IMPLEMENTED;
166 }
167
168 /***********************************************************************
169  *      GetThemePartSize                                    (UXTHEME.@)
170  */
171 HRESULT WINAPI GetThemePartSize(HTHEME hTheme, HDC hdc, int iPartId,
172                                 int iStateId, RECT *prc, THEMESIZE eSize,
173                                 SIZE *psz)
174 {
175     FIXME("%d %d %d: stub\n", iPartId, iStateId, eSize);
176     if(!hTheme)
177         return E_HANDLE;
178     return ERROR_CALL_NOT_IMPLEMENTED;
179 }
180
181
182 /***********************************************************************
183  *      GetThemeTextExtent                                  (UXTHEME.@)
184  */
185 HRESULT WINAPI GetThemeTextExtent(HTHEME hTheme, HDC hdc, int iPartId,
186                                   int iStateId, LPCWSTR pszText, int iCharCount,
187                                   DWORD dwTextFlags, const RECT *pBoundingRect,
188                                   RECT *pExtentRect)
189 {
190     FIXME("%d %d: stub\n", iPartId, iStateId);
191     if(!hTheme)
192         return E_HANDLE;
193     return ERROR_CALL_NOT_IMPLEMENTED;
194 }
195
196 /***********************************************************************
197  *      GetThemeTextMetrics                                 (UXTHEME.@)
198  */
199 HRESULT WINAPI GetThemeTextMetrics(HTHEME hTheme, HDC hdc, int iPartId,
200                                    int iStateId, TEXTMETRICW *ptm)
201 {
202     FIXME("%d %d: stub\n", iPartId, iStateId);
203     if(!hTheme)
204         return E_HANDLE;
205     return ERROR_CALL_NOT_IMPLEMENTED;
206 }
207
208 /***********************************************************************
209  *      IsThemeBackgroundPartiallyTransparent               (UXTHEME.@)
210  */
211 BOOL WINAPI IsThemeBackgroundPartiallyTransparent(HTHEME hTheme, int iPartId,
212                                                   int iStateId)
213 {
214     FIXME("%d %d: stub\n", iPartId, iStateId);
215     return FALSE;
216 }