Hello, this patch does something analog to what Alexander did to most of the 16-bit functions in gdi. I hope i did it right if not please yell. License: LGPL Changelog: Michael Stefaniuc <mstefani@redhat.com> - moved most of the 16-bit functions in dlls/msvideo to dlls/msvideo16.c bye michael -- Michael Stefaniuc Tel.: +49-711-96437-199 System Administration Fax.: +49-711-96437-111 Red Hat GmbH Email: mstefani@redhat.com Hauptstaetterstr. 58 http://www.redhat.de/ D-70178 Stuttgart
/* * msvideo 16-bit functions * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include "winbase.h" #include "windef.h" #include "vfw.h" #include "vfw16.h" #include "stackframe.h" #include "wine/debug.h" WINE_DEFAULT_DEBUG_CHANNEL(msvideo); /* handle16 --> handle conversions */ #define HDC_32(h16) ((HDC)(ULONG_PTR)(h16)) #define HDRAWDIB_32(h16) ((HDRAWDIB)(ULONG_PTR)(h16)) #define HIC_32(h16) ((HIC)(ULONG_PTR)(h16)) #define HPALETTE_32(h16) ((HPALETTE)(ULONG_PTR)(h16)) /* handle --> handle16 conversions */ #define HDC_16(h32) (LOWORD(h32)) #define HDRAWDIB_16(h32) (LOWORD(h32)) #define HIC_16(h32) (LOWORD(h32)) #define HPALETTE_16(h32) (LOWORD(h32)) /*********************************************************************** * DrawDibOpen [MSVIDEO.102] */ HDRAWDIB16 VFWAPI DrawDibOpen16(void) { return HDRAWDIB_16(DrawDibOpen()); } /*********************************************************************** * DrawDibClose [MSVIDEO.103] */ BOOL16 VFWAPI DrawDibClose16(HDRAWDIB16 hdd) { return DrawDibClose(HDRAWDIB_32(hdd)); } /************************************************************************ * DrawDibBegin [MSVIDEO.104] */ BOOL16 VFWAPI DrawDibBegin16(HDRAWDIB16 hdd, HDC16 hdc, INT16 dxDst, INT16 dyDst, LPBITMAPINFOHEADER lpbi, INT16 dxSrc, INT16 dySrc, UINT16 wFlags) { return DrawDibBegin(HDRAWDIB_32(hdd), HDC_32(hdc), dxDst, dyDst, lpbi, dxSrc, dySrc, wFlags); } /*********************************************************************** * DrawDibEnd [MSVIDEO.105] */ BOOL16 VFWAPI DrawDibEnd16(HDRAWDIB16 hdd) { return DrawDibEnd(HDRAWDIB_32(hdd)); } /********************************************************************** * DrawDibDraw [MSVIDEO.106] */ BOOL16 VFWAPI DrawDibDraw16(HDRAWDIB16 hdd, HDC16 hdc, INT16 xDst, INT16 yDst, INT16 dxDst, INT16 dyDst, LPBITMAPINFOHEADER lpbi, LPVOID lpBits, INT16 xSrc, INT16 ySrc, INT16 dxSrc, INT16 dySrc, UINT16 wFlags) { return DrawDibDraw(HDRAWDIB_32(hdd), HDC_32(hdc), xDst, yDst, dxDst, dyDst, lpbi, lpBits, xSrc, ySrc, dxSrc, dySrc, wFlags); } /*********************************************************************** * DrawDibGetPalette [MSVIDEO.108] */ HPALETTE16 VFWAPI DrawDibGetPalette16(HDRAWDIB16 hdd) { return HPALETTE_16(DrawDibGetPalette(HDRAWDIB_32(hdd))); } /*********************************************************************** * DrawDibSetPalette [MSVIDEO.110] */ BOOL16 VFWAPI DrawDibSetPalette16(HDRAWDIB16 hdd, HPALETTE16 hpal) { return DrawDibSetPalette(HDRAWDIB_32(hdd), HPALETTE_32(hpal)); } /*********************************************************************** * DrawDibRealize [MSVIDEO.112] */ UINT16 VFWAPI DrawDibRealize16(HDRAWDIB16 hdd, HDC16 hdc, BOOL16 fBackground) { return (UINT16) DrawDibRealize(HDRAWDIB_32(hdd), HDC_32(hdc), fBackground); } /************************************************************************* * DrawDibStart [MSVIDEO.118] */ BOOL16 VFWAPI DrawDibStart16(HDRAWDIB16 hdd, DWORD rate) { return DrawDibStart(HDRAWDIB_32(hdd), rate); } /************************************************************************* * DrawDibStop [MSVIDEO.119] */ BOOL16 DrawDibStop16(HDRAWDIB16 hdd) { return DrawDibStop(HDRAWDIB_32(hdd)); } /*********************************************************************** * ICOpen [MSVIDEO.203] */ HIC16 VFWAPI ICOpen16(DWORD fccType, DWORD fccHandler, UINT16 wMode) { return HIC_16(ICOpen(fccType, fccHandler, wMode)); } /*********************************************************************** * ICClose [MSVIDEO.204] */ LRESULT WINAPI ICClose16(HIC16 hic) { return ICClose(HIC_32(hic)); } /*********************************************************************** * _ICMessage [MSVIDEO.207] */ LRESULT VFWAPIV ICMessage16(void) { HIC16 hic; UINT16 msg; UINT16 cb; LPWORD lpData; SEGPTR segData; LRESULT ret; UINT16 i; VA_LIST16 valist; VA_START16(valist); hic = VA_ARG16(valist, HIC16); msg = VA_ARG16(valist, UINT16); cb = VA_ARG16(valist, UINT16); lpData = HeapAlloc(GetProcessHeap(), 0, cb); TRACE("0x%08lx, %u, %u, ...)\n", (DWORD) hic, msg, cb); for (i = 0; i < cb / sizeof(WORD); i++) { lpData[i] = VA_ARG16(valist, WORD); } VA_END16(valist); segData = MapLS(lpData); ret = ICSendMessage16(hic, msg, segData, (DWORD) cb); UnMapLS(segData); HeapFree(GetProcessHeap(), 0, lpData); return ret; } /*********************************************************************** * ICGetInfo [MSVIDEO.212] */ LRESULT VFWAPI ICGetInfo16(HIC16 hic, ICINFO16 * picinfo, DWORD cb) { LRESULT ret; TRACE("(0x%08lx,%p,%ld)\n", (DWORD) hic, picinfo, cb); ret = ICSendMessage16(hic, ICM_GETINFO, (DWORD) picinfo, cb); TRACE(" -> 0x%08lx\n", ret); return ret; } /*********************************************************************** * ICLocate [MSVIDEO.213] */ HIC16 VFWAPI ICLocate16(DWORD fccType, DWORD fccHandler, LPBITMAPINFOHEADER lpbiIn, LPBITMAPINFOHEADER lpbiOut, WORD wFlags) { return HIC_16(ICLocate(fccType, fccHandler, lpbiIn, lpbiOut, wFlags)); } /*********************************************************************** * _ICCompress [MSVIDEO.224] */ DWORD VFWAPIV ICCompress16(HIC16 hic, DWORD dwFlags, LPBITMAPINFOHEADER lpbiOutput, LPVOID lpData, LPBITMAPINFOHEADER lpbiInput, LPVOID lpBits, LPDWORD lpckid, LPDWORD lpdwFlags, LONG lFrameNum, DWORD dwFrameSize, DWORD dwQuality, LPBITMAPINFOHEADER lpbiPrev, LPVOID lpPrev) { DWORD ret; ICCOMPRESS iccmp; SEGPTR seg_iccmp; TRACE("(0x%08lx,%ld,%p,%p,%p,%p,...)\n", (DWORD) hic, dwFlags, lpbiOutput, lpData, lpbiInput, lpBits); iccmp.dwFlags = dwFlags; iccmp.lpbiOutput = lpbiOutput; iccmp.lpOutput = lpData; iccmp.lpbiInput = lpbiInput; iccmp.lpInput = lpBits; iccmp.lpckid = lpckid; iccmp.lpdwFlags = lpdwFlags; iccmp.lFrameNum = lFrameNum; iccmp.dwFrameSize = dwFrameSize; iccmp.dwQuality = dwQuality; iccmp.lpbiPrev = lpbiPrev; iccmp.lpPrev = lpPrev; seg_iccmp = MapLS(&iccmp); ret = ICSendMessage16(hic, ICM_COMPRESS, seg_iccmp, sizeof(ICCOMPRESS)); UnMapLS(seg_iccmp); return ret; } /*********************************************************************** * _ICDecompress [MSVIDEO.230] */ DWORD VFWAPIV ICDecompress16(HIC16 hic, DWORD dwFlags, LPBITMAPINFOHEADER lpbiFormat, LPVOID lpData, LPBITMAPINFOHEADER lpbi, LPVOID lpBits) { ICDECOMPRESS icd; SEGPTR segptr; DWORD ret; TRACE("(0x%08lx,%ld,%p,%p,%p,%p)\n", (DWORD) hic, dwFlags, lpbiFormat, lpData, lpbi, lpBits); icd.dwFlags = dwFlags; icd.lpbiInput = lpbiFormat; icd.lpInput = lpData; icd.lpbiOutput = lpbi; icd.lpOutput = lpBits; icd.ckid = 0; segptr = MapLS(&icd); ret = ICSendMessage16(hic, ICM_DECOMPRESS, segptr, sizeof(ICDECOMPRESS)); UnMapLS(segptr); return ret; } /*********************************************************************** * _ICDrawBegin [MSVIDEO.232] */ DWORD VFWAPIV ICDrawBegin16(HIC16 hic, /* [in] */ DWORD dwFlags, /* [in] flags */ HPALETTE16 hpal, /* [in] palette to draw with */ HWND16 hwnd, /* [in] window to draw to */ HDC16 hdc, /* [in] HDC to draw to */ INT16 xDst, /* [in] destination rectangle */ INT16 yDst, /* [in] */ INT16 dxDst, /* [in] */ INT16 dyDst, /* [in] */ LPBITMAPINFOHEADER lpbi, /* [in] format of frame to draw NOTE: SEGPTR */ INT16 xSrc, /* [in] source rectangle */ INT16 ySrc, /* [in] */ INT16 dxSrc, /* [in] */ INT16 dySrc, /* [in] */ DWORD dwRate, /* [in] frames/second = (dwRate/dwScale) */ DWORD dwScale) /* [in] */ { DWORD ret; ICDRAWBEGIN16 icdb; SEGPTR seg_icdb; TRACE ("(0x%08lx,%ld,0x%08lx,0x%08lx,0x%08lx,%u,%u,%u,%u,%p,%u,%u,%u,%u,%ld,%ld)\n", (DWORD) hic, dwFlags, (DWORD) hpal, (DWORD) hwnd, (DWORD) hdc, xDst, yDst, dxDst, dyDst, lpbi, xSrc, ySrc, dxSrc, dySrc, dwRate, dwScale); icdb.dwFlags = dwFlags; icdb.hpal = hpal; icdb.hwnd = hwnd; icdb.hdc = hdc; icdb.xDst = xDst; icdb.yDst = yDst; icdb.dxDst = dxDst; icdb.dyDst = dyDst; icdb.lpbi = lpbi; /* Keep this as SEGPTR for the mapping code to deal with */ icdb.xSrc = xSrc; icdb.ySrc = ySrc; icdb.dxSrc = dxSrc; icdb.dySrc = dySrc; icdb.dwRate = dwRate; icdb.dwScale = dwScale; seg_icdb = MapLS(&icdb); ret = (DWORD) ICSendMessage16(hic, ICM_DRAW_BEGIN, seg_icdb, sizeof(ICDRAWBEGIN16)); UnMapLS(seg_icdb); return ret; } /*********************************************************************** * _ICDraw [MSVIDEO.234] */ DWORD VFWAPIV ICDraw16(HIC16 hic, DWORD dwFlags, LPVOID lpFormat, /* [???] NOTE: SEGPTR */ LPVOID lpData, /* [???] NOTE: SEGPTR */ DWORD cbData, LONG lTime) { DWORD ret; ICDRAW icd; SEGPTR seg_icd; TRACE("(0x%08lx,0x%08lx,%p,%p,%ld,%ld)\n", (DWORD) hic, dwFlags, lpFormat, lpData, cbData, lTime); icd.dwFlags = dwFlags; icd.lpFormat = lpFormat; icd.lpData = lpData; icd.cbData = cbData; icd.lTime = lTime; seg_icd = MapLS(&icd); ret = ICSendMessage16(hic, ICM_DRAW, seg_icd, sizeof(ICDRAW)); UnMapLS(seg_icd); return ret; } /*********************************************************************** * ICGetDisplayFormat [MSVIDEO.239] */ HIC16 VFWAPI ICGetDisplayFormat16(HIC16 hic, LPBITMAPINFOHEADER lpbiIn, LPBITMAPINFOHEADER lpbiOut, INT16 depth, INT16 dx, INT16 dy) { return HIC_16(ICGetDisplayFormat(HIC_32(hic), lpbiIn, lpbiOut, depth, dx, dy)); }
? dlls/msvideo/msvideo16.c Index: dlls/msvideo/Makefile.in =================================================================== RCS file: /home/wine/wine/dlls/msvideo/Makefile.in,v retrieving revision 1.18 diff -u -u -r1.18 Makefile.in --- dlls/msvideo/Makefile.in 1 Aug 2002 18:36:58 -0000 1.18 +++ dlls/msvideo/Makefile.in 20 Aug 2002 23:00:29 -0000 @@ -12,6 +12,7 @@ C_SRCS = \ mciwnd.c \ msvideo_main.c \ + msvideo16.c \ drawdib.c EXTRA_OBJS = $(MODULE).glue.o Index: dlls/msvideo/drawdib.c =================================================================== RCS file: /home/wine/wine/dlls/msvideo/drawdib.c,v retrieving revision 1.14 diff -u -u -r1.14 drawdib.c --- dlls/msvideo/drawdib.c 14 Aug 2002 21:02:01 -0000 1.14 +++ dlls/msvideo/drawdib.c 20 Aug 2002 23:00:29 -0000 @@ -72,13 +72,6 @@ } /*********************************************************************** - * DrawDibOpen [MSVIDEO.102] - */ -HDRAWDIB16 VFWAPI DrawDibOpen16(void) { - return (HDRAWDIB16)DrawDibOpen(); -} - -/*********************************************************************** * DrawDibClose [MSVFW32.@] */ BOOL VFWAPI DrawDibClose(HDRAWDIB hdd) { @@ -98,13 +91,6 @@ } /*********************************************************************** - * DrawDibClose [MSVIDEO.103] - */ -BOOL16 VFWAPI DrawDibClose16(HDRAWDIB16 hdd) { - return DrawDibClose(hdd); -} - -/*********************************************************************** * DrawDibEnd [MSVFW32.@] */ BOOL VFWAPI DrawDibEnd(HDRAWDIB hdd) { @@ -149,13 +135,6 @@ } /*********************************************************************** - * DrawDibEnd [MSVIDEO.105] - */ -BOOL16 VFWAPI DrawDibEnd16(HDRAWDIB16 hdd) { - return DrawDibEnd(hdd); -} - -/*********************************************************************** * DrawDibBegin [MSVFW32.@] */ BOOL VFWAPI DrawDibBegin(HDRAWDIB hdd, @@ -266,20 +245,6 @@ return ret; } -/************************************************************************ - * DrawDibBegin [MSVIDEO.104] - */ -BOOL16 VFWAPI DrawDibBegin16(HDRAWDIB16 hdd, - HDC16 hdc, - INT16 dxDst, - INT16 dyDst, - LPBITMAPINFOHEADER lpbi, - INT16 dxSrc, - INT16 dySrc, - UINT16 wFlags) { - return DrawDibBegin(hdd,hdc,dxDst,dyDst,lpbi,dxSrc,dySrc,wFlags); -} - /********************************************************************** * DrawDibDraw [MSVFW32.@] */ @@ -351,25 +316,6 @@ return ret; } -/********************************************************************** - * DrawDibDraw [MSVIDEO.106] - */ -BOOL16 VFWAPI DrawDibDraw16(HDRAWDIB16 hdd, - HDC16 hdc, - INT16 xDst, - INT16 yDst, - INT16 dxDst, - INT16 dyDst, - LPBITMAPINFOHEADER lpbi, - LPVOID lpBits, - INT16 xSrc, - INT16 ySrc, - INT16 dxSrc, - INT16 dySrc, - UINT16 wFlags) { - return DrawDibDraw(hdd,hdc,xDst,yDst,dxDst,dyDst,lpbi,lpBits,xSrc,ySrc,dxSrc,dySrc,wFlags); -} - /************************************************************************* * DrawDibStart [MSVFW32.@] */ @@ -379,13 +325,6 @@ } /************************************************************************* - * DrawDibStart [MSVIDEO.118] - */ -BOOL16 VFWAPI DrawDibStart16(HDRAWDIB16 hdd, DWORD rate) { - return DrawDibStart(hdd,rate); -} - -/************************************************************************* * DrawDibStop [MSVFW32.@] */ BOOL VFWAPI DrawDibStop(HDRAWDIB hdd) { @@ -393,13 +332,6 @@ return TRUE; } -/************************************************************************* - * DrawDibStop [MSVIDEO.119] - */ -BOOL16 DrawDibStop16(HDRAWDIB16 hdd) { - return DrawDibStop(hdd); -} - /*********************************************************************** * DrawDibSetPalette [MSVFW32.@] */ @@ -420,13 +352,6 @@ } /*********************************************************************** - * DrawDibSetPalette [MSVIDEO.110] - */ -BOOL16 VFWAPI DrawDibSetPalette16(HDRAWDIB16 hdd, HPALETTE16 hpal) { - return DrawDibSetPalette(hdd,hpal); -} - -/*********************************************************************** * DrawDibGetPalette [MSVFW32.@] */ HPALETTE VFWAPI DrawDibGetPalette(HDRAWDIB hdd) { @@ -442,13 +367,6 @@ } /*********************************************************************** - * DrawDibGetPalette [MSVIDEO.108] - */ -HPALETTE16 VFWAPI DrawDibGetPalette16(HDRAWDIB16 hdd) { - return (HPALETTE16)DrawDibGetPalette(hdd); -} - -/*********************************************************************** * DrawDibRealize [MSVFW32.@] */ UINT VFWAPI DrawDibRealize(HDRAWDIB hdd, HDC hdc, BOOL fBackground) { @@ -478,9 +396,3 @@ return ret; } -/*********************************************************************** - * DrawDibRealize [MSVIDEO.112] - */ -UINT16 VFWAPI DrawDibRealize16(HDRAWDIB16 hdd, HDC16 hdc, BOOL16 fBackground) { - return (UINT16)DrawDibRealize(hdd,hdc,fBackground); -} Index: dlls/msvideo/msvideo_main.c =================================================================== RCS file: /home/wine/wine/dlls/msvideo/msvideo_main.c,v retrieving revision 1.35 diff -u -u -r1.35 msvideo_main.c --- dlls/msvideo/msvideo_main.c 9 Aug 2002 01:02:25 -0000 1.35 +++ dlls/msvideo/msvideo_main.c 20 Aug 2002 23:00:30 -0000 @@ -292,13 +292,6 @@ } /*********************************************************************** - * ICOpen [MSVIDEO.203] - */ -HIC16 VFWAPI ICOpen16(DWORD fccType, DWORD fccHandler, UINT16 wMode) { - return (HIC16)ICOpen(fccType, fccHandler, wMode); -} - -/*********************************************************************** * ICOpenFunction [MSVIDEO.206] */ HIC16 VFWAPI ICOpenFunction16(DWORD fccType, DWORD fccHandler, UINT16 wMode, FARPROC16 lpfnHandler) @@ -319,18 +312,6 @@ } /*********************************************************************** - * ICGetInfo [MSVIDEO.212] - */ -LRESULT VFWAPI ICGetInfo16(HIC16 hic, ICINFO16 *picinfo,DWORD cb) { - LRESULT ret; - - TRACE("(0x%08lx,%p,%ld)\n",(DWORD)hic,picinfo,cb); - ret = ICSendMessage16(hic,ICM_GETINFO,(DWORD)picinfo,cb); - TRACE(" -> 0x%08lx\n",ret); - return ret; -} - -/*********************************************************************** * ICLocate [MSVFW32.@] */ HIC VFWAPI ICLocate( @@ -413,14 +394,6 @@ } /*********************************************************************** - * ICLocate [MSVIDEO.213] - */ -HIC16 VFWAPI ICLocate16(DWORD fccType, DWORD fccHandler, LPBITMAPINFOHEADER lpbiIn, - LPBITMAPINFOHEADER lpbiOut, WORD wFlags) { - return (HIC16)ICLocate(fccType, fccHandler, lpbiIn, lpbiOut, wFlags); -} - -/*********************************************************************** * ICGetDisplayFormat [MSVFW32.@] */ HIC VFWAPI ICGetDisplayFormat( @@ -476,14 +449,6 @@ } /*********************************************************************** - * ICGetDisplayFormat [MSVIDEO.239] - */ -HIC16 VFWAPI ICGetDisplayFormat16(HIC16 hic, LPBITMAPINFOHEADER lpbiIn, - LPBITMAPINFOHEADER lpbiOut, INT16 depth, INT16 dx, INT16 dy) { - return (HIC16)ICGetDisplayFormat(hic,lpbiIn,lpbiOut,depth,dx,dy); -} - -/*********************************************************************** * ICCompress [MSVFW32.@] */ DWORD VFWAPIV @@ -515,40 +480,6 @@ } /*********************************************************************** - * _ICCompress [MSVIDEO.224] - */ -DWORD VFWAPIV ICCompress16(HIC16 hic, DWORD dwFlags, LPBITMAPINFOHEADER lpbiOutput, LPVOID lpData, - LPBITMAPINFOHEADER lpbiInput, LPVOID lpBits, LPDWORD lpckid, - LPDWORD lpdwFlags, LONG lFrameNum, DWORD dwFrameSize, DWORD dwQuality, - LPBITMAPINFOHEADER lpbiPrev, LPVOID lpPrev) { - - DWORD ret; - ICCOMPRESS iccmp; - SEGPTR seg_iccmp; - - TRACE("(0x%08lx,%ld,%p,%p,%p,%p,...)\n",(DWORD)hic,dwFlags,lpbiOutput,lpData,lpbiInput,lpBits); - - iccmp.dwFlags = dwFlags; - - iccmp.lpbiOutput = lpbiOutput; - iccmp.lpOutput = lpData; - iccmp.lpbiInput = lpbiInput; - iccmp.lpInput = lpBits; - - iccmp.lpckid = lpckid; - iccmp.lpdwFlags = lpdwFlags; - iccmp.lFrameNum = lFrameNum; - iccmp.dwFrameSize = dwFrameSize; - iccmp.dwQuality = dwQuality; - iccmp.lpbiPrev = lpbiPrev; - iccmp.lpPrev = lpPrev; - seg_iccmp = MapLS( &iccmp ); - ret = ICSendMessage16(hic,ICM_COMPRESS,seg_iccmp,sizeof(ICCOMPRESS)); - UnMapLS( seg_iccmp ); - return ret; -} - -/*********************************************************************** * ICDecompress [MSVFW32.@] */ DWORD VFWAPIV ICDecompress(HIC hic,DWORD dwFlags,LPBITMAPINFOHEADER lpbiFormat, @@ -577,30 +508,6 @@ return ret; } -/*********************************************************************** - * _ICDecompress [MSVIDEO.230] - */ -DWORD VFWAPIV ICDecompress16(HIC16 hic, DWORD dwFlags, LPBITMAPINFOHEADER lpbiFormat, - LPVOID lpData, LPBITMAPINFOHEADER lpbi, LPVOID lpBits) -{ - ICDECOMPRESS icd; - SEGPTR segptr; - DWORD ret; - - TRACE("(0x%08lx,%ld,%p,%p,%p,%p)\n",(DWORD)hic,dwFlags,lpbiFormat,lpData,lpbi,lpBits); - - icd.dwFlags = dwFlags; - icd.lpbiInput = lpbiFormat; - icd.lpInput = lpData; - icd.lpbiOutput = lpbi; - icd.lpOutput = lpBits; - icd.ckid = 0; - segptr = MapLS( &icd ); - ret = ICSendMessage16(hic,ICM_DECOMPRESS,segptr,sizeof(ICDECOMPRESS)); - UnMapLS( segptr ); - return ret; -} - #define COPY(x,y) (x->y = x##16->y); #define COPYPTR(x,y) (x->y = MapSL((SEGPTR)x##16->y)); @@ -1010,41 +917,6 @@ } /*********************************************************************** - * _ICMessage [MSVIDEO.207] - */ -LRESULT VFWAPIV ICMessage16(void) { - HIC16 hic; - UINT16 msg; - UINT16 cb; - LPWORD lpData; - SEGPTR segData; - LRESULT ret; - UINT16 i; - - VA_LIST16 valist; - - VA_START16(valist); - hic = VA_ARG16(valist, HIC16); - msg = VA_ARG16(valist, UINT16); - cb = VA_ARG16(valist, UINT16); - - lpData = HeapAlloc( GetProcessHeap(), 0, cb ); - - TRACE("0x%08lx, %u, %u, ...)\n",(DWORD)hic,msg,cb); - - for(i=0;i<cb/sizeof(WORD);i++) { - lpData[i] = VA_ARG16(valist, WORD); - } - - VA_END16(valist); - segData = MapLS( lpData ); - ret = ICSendMessage16(hic, msg, segData, (DWORD)cb); - UnMapLS( segData ); - HeapFree( GetProcessHeap(), 0, lpData ); - return ret; -} - -/*********************************************************************** * ICDrawBegin [MSVFW32.@] */ DWORD VFWAPIV ICDrawBegin( @@ -1091,56 +963,6 @@ } /*********************************************************************** - * _ICDrawBegin [MSVIDEO.232] - */ -DWORD VFWAPIV ICDrawBegin16( - HIC16 hic, /* [in] */ - DWORD dwFlags, /* [in] flags */ - HPALETTE16 hpal, /* [in] palette to draw with */ - HWND16 hwnd, /* [in] window to draw to */ - HDC16 hdc, /* [in] HDC to draw to */ - INT16 xDst, /* [in] destination rectangle */ - INT16 yDst, /* [in] */ - INT16 dxDst, /* [in] */ - INT16 dyDst, /* [in] */ - LPBITMAPINFOHEADER lpbi, /* [in] format of frame to draw NOTE: SEGPTR */ - INT16 xSrc, /* [in] source rectangle */ - INT16 ySrc, /* [in] */ - INT16 dxSrc, /* [in] */ - INT16 dySrc, /* [in] */ - DWORD dwRate, /* [in] frames/second = (dwRate/dwScale) */ - DWORD dwScale) /* [in] */ -{ - DWORD ret; - ICDRAWBEGIN16 icdb; - SEGPTR seg_icdb; - - TRACE("(0x%08lx,%ld,0x%08lx,0x%08lx,0x%08lx,%u,%u,%u,%u,%p,%u,%u,%u,%u,%ld,%ld)\n", - (DWORD)hic, dwFlags, (DWORD)hpal, (DWORD)hwnd, (DWORD)hdc, xDst, yDst, dxDst, dyDst, - lpbi, xSrc, ySrc, dxSrc, dySrc, dwRate, dwScale); - - icdb.dwFlags = dwFlags; - icdb.hpal = hpal; - icdb.hwnd = hwnd; - icdb.hdc = hdc; - icdb.xDst = xDst; - icdb.yDst = yDst; - icdb.dxDst = dxDst; - icdb.dyDst = dyDst; - icdb.lpbi = lpbi; /* Keep this as SEGPTR for the mapping code to deal with */ - icdb.xSrc = xSrc; - icdb.ySrc = ySrc; - icdb.dxSrc = dxSrc; - icdb.dySrc = dySrc; - icdb.dwRate = dwRate; - icdb.dwScale = dwScale; - seg_icdb = MapLS( &icdb ); - ret = (DWORD)ICSendMessage16(hic,ICM_DRAW_BEGIN,seg_icdb,sizeof(ICDRAWBEGIN16)); - UnMapLS( seg_icdb ); - return ret; -} - -/*********************************************************************** * ICDraw [MSVFW32.@] */ DWORD VFWAPIV ICDraw(HIC hic, DWORD dwFlags, LPVOID lpFormat, LPVOID lpData, DWORD cbData, LONG lTime) { @@ -1158,33 +980,6 @@ } /*********************************************************************** - * _ICDraw [MSVIDEO.234] - */ -DWORD VFWAPIV ICDraw16( - HIC16 hic, - DWORD dwFlags, - LPVOID lpFormat, /* [???] NOTE: SEGPTR */ - LPVOID lpData, /* [???] NOTE: SEGPTR */ - DWORD cbData, - LONG lTime) -{ - DWORD ret; - ICDRAW icd; - SEGPTR seg_icd; - - TRACE("(0x%08lx,0x%08lx,%p,%p,%ld,%ld)\n",(DWORD)hic,dwFlags,lpFormat,lpData,cbData,lTime); - icd.dwFlags = dwFlags; - icd.lpFormat = lpFormat; - icd.lpData = lpData; - icd.cbData = cbData; - icd.lTime = lTime; - seg_icd = MapLS( &icd ); - ret = ICSendMessage16(hic,ICM_DRAW,seg_icd,sizeof(ICDRAW)); - UnMapLS( seg_icd ); - return ret; -} - -/*********************************************************************** * ICClose [MSVFW32.@] */ LRESULT WINAPI ICClose(HIC hic) { @@ -1201,13 +996,6 @@ GlobalUnlock16(hic); GlobalFree16(hic); return 0; -} - -/*********************************************************************** - * ICClose [MSVIDEO.204] - */ -LRESULT WINAPI ICClose16(HIC16 hic) { - return ICClose(hic); }
Attachment:
pgp00036.pgp
Description: PGP signature