Change the AddBitmap function. Implement flat toolbar. Change
[wine] / dlls / msacm32 / filter.c
1 /*
2  *      MSACM32 library
3  *
4  *      Copyright 1998  Patrik Stridvall
5  */
6
7 #include "winbase.h"
8 #include "winerror.h"
9 #include "mmsystem.h"
10 #include "msacm.h"
11 #include "msacmdrv.h"
12 #include "debug.h"
13
14 /***********************************************************************
15  *           acmFilterChooseA (MSACM32.13)
16  */
17 MMRESULT WINAPI acmFilterChooseA(
18   PACMFILTERCHOOSEA pafltrc)
19 {
20   FIXME(msacm, "(%p): stub\n", pafltrc);
21   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
22   return MMSYSERR_ERROR;
23 }
24
25 /***********************************************************************
26  *           acmFilterChooseW (MSACM32.14)
27  */
28 MMRESULT WINAPI acmFilterChooseW(
29   PACMFILTERCHOOSEW pafltrc)
30 {
31   FIXME(msacm, "(%p): stub\n", pafltrc);
32   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
33   return MMSYSERR_ERROR;
34 }
35
36 /***********************************************************************
37  *           acmFilterDetailsA (MSACM32.15)
38  */
39 MMRESULT WINAPI acmFilterDetailsA(
40   HACMDRIVER had, PACMFILTERDETAILSA pafd, DWORD fdwDetails)
41 {
42   if(fdwDetails & ~(ACM_FILTERDETAILSF_FILTER))
43     return MMSYSERR_INVALFLAG;
44
45   /* FIXME
46    *   How does the driver know if the ANSI or
47    *   the UNICODE variant of PACMFILTERDETAILS is used?
48    *   It might check cbStruct or does it only accept ANSI.
49    */
50   return (MMRESULT) acmDriverMessage(
51     had, ACMDM_FILTER_DETAILS,
52     (LPARAM) pafd,  (LPARAM) fdwDetails
53   );
54 }
55
56 /***********************************************************************
57  *           acmFilterDetailsW (MSACM32.16)
58  */
59 MMRESULT WINAPI acmFilterDetailsW(
60   HACMDRIVER had, PACMFILTERDETAILSW pafd, DWORD fdwDetails)
61 {
62   FIXME(msacm, "(0x%08x, %p, %ld): stub\n", had, pafd, fdwDetails);
63   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
64   return MMSYSERR_ERROR;
65 }
66
67 /***********************************************************************
68  *           acmFilterEnumA (MSACM32.17)
69  */
70 MMRESULT WINAPI acmFilterEnumA(
71   HACMDRIVER had, PACMFILTERDETAILSA pafd, 
72   ACMFILTERENUMCBA fnCallback, DWORD dwInstance, DWORD fdwEnum)
73 {
74   FIXME(msacm, "(0x%08x, %p, %p, %ld, %ld): stub\n",
75     had, pafd, fnCallback, dwInstance, fdwEnum
76   );
77   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
78   return MMSYSERR_ERROR;
79 }
80
81 /***********************************************************************
82  *           acmFilterEnumW (MSACM32.18)
83  */
84 MMRESULT WINAPI acmFilterEnumW(
85   HACMDRIVER had, PACMFILTERDETAILSW pafd, 
86   ACMFILTERENUMCBW fnCallback, DWORD dwInstance, DWORD fdwEnum)
87 {
88   FIXME(msacm, "(0x%08x, %p, %p, %ld, %ld): stub\n",
89     had, pafd, fnCallback, dwInstance, fdwEnum
90   );
91   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
92   return MMSYSERR_ERROR;
93 }
94
95 /***********************************************************************
96  *           acmFilterTagDetailsA (MSACM32.19)
97  */
98 MMRESULT WINAPI acmFilterTagDetailsA(
99   HACMDRIVER had, PACMFILTERTAGDETAILSA paftd, DWORD fdwDetails)
100 {
101   if(fdwDetails & 
102      ~(ACM_FILTERTAGDETAILSF_FILTERTAG|
103        ACM_FILTERTAGDETAILSF_LARGESTSIZE))
104     return MMSYSERR_INVALFLAG;
105
106   /* FIXME
107    *   How does the driver know if the ANSI or
108    *   the UNICODE variant of PACMFILTERTAGDETAILS is used?
109    *   It might check cbStruct or does it only accept ANSI.
110    */
111   return (MMRESULT) acmDriverMessage(
112     had, ACMDM_FILTERTAG_DETAILS,
113     (LPARAM) paftd,  (LPARAM) fdwDetails
114   );
115 }
116
117 /***********************************************************************
118  *           acmFilterTagDetailsW (MSACM32.20)
119  */
120 MMRESULT WINAPI acmFilterTagDetailsW(
121   HACMDRIVER had, PACMFILTERTAGDETAILSW paftd, DWORD fdwDetails)
122 {
123   FIXME(msacm, "(0x%08x, %p, %ld): stub\n", had, paftd, fdwDetails);
124   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
125   return MMSYSERR_ERROR;
126 }
127
128 /***********************************************************************
129  *           acmFilterTagEnumA (MSACM32.21)
130  */
131 MMRESULT WINAPI acmFilterTagEnumA(
132   HACMDRIVER had, PACMFILTERTAGDETAILSA  paftd,
133   ACMFILTERTAGENUMCBA fnCallback, DWORD dwInstance, DWORD fdwEnum)
134 {
135   FIXME(msacm, "(0x%08x, %p, %p, %ld, %ld): stub\n",
136     had, paftd, fnCallback, dwInstance, fdwEnum
137   );
138   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
139   return MMSYSERR_ERROR;
140 }
141
142 /***********************************************************************
143  *           acmFilterTagEnumW (MSACM32.22)
144  */
145 MMRESULT WINAPI acmFilterTagEnumW(
146   HACMDRIVER had, PACMFILTERTAGDETAILSW paftd,
147   ACMFILTERTAGENUMCBW fnCallback, DWORD dwInstance, DWORD fdwEnum)
148 {
149   FIXME(msacm, "(0x%08x, %p, %p, %ld, %ld): stub\n",
150     had, paftd, fnCallback, dwInstance, fdwEnum
151   );
152   SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
153   return MMSYSERR_ERROR;
154 }