Changeset 4608 for trunk/include
- Timestamp:
- Nov 17, 2000, 3:32:50 PM (25 years ago)
- Location:
- trunk/include/win
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/win/animate.h
r2874 r4608 1 /* $Id: animate.h,v 1. 3 2000-02-23 17:03:00 cbratschiExp $ */1 /* $Id: animate.h,v 1.4 2000-11-17 14:32:48 sandervl Exp $ */ 2 2 3 3 /* … … 11 11 #define __WINE_ANIMATE_H 12 12 13 #define CINTERFACE 13 #ifdef __cplusplus 14 extern "C" { 15 #endif 14 16 15 #include "windef.h" 16 #include "vfw.h" 17 VOID ANIMATE_Register (VOID); 18 VOID ANIMATE_Unregister (VOID); 17 19 18 typedef struct tagANIMATE_INFO 19 { 20 COMCTL32_HEADER header; 21 22 /* pointer to msvideo functions. it's easier to put them here. 23 * to be correct, they should be defined on a per process basis, but 24 * this would required a per process storage. We're using a per object 25 * storage instead, which is not efficient on memory usage, but 26 * will lead to less bugs in the future 27 */ 28 HIC (WINAPI* fnICOpen)(DWORD, DWORD, UINT); 29 LRESULT (WINAPI* fnICClose)(HIC); 30 LRESULT (WINAPI* fnICSendMessage)(HIC, UINT, DWORD, DWORD); 31 DWORD (WINAPIV* fnICDecompress)(HIC,DWORD,LPBITMAPINFOHEADER,LPVOID,LPBITMAPINFOHEADER,LPVOID); 32 33 /* reference to input stream (file or resource) */ 34 HGLOBAL hRes; 35 HMMIO hMMio; /* handle to mmio stream */ 36 HWND hWnd; 37 /* information on the loaded AVI file */ 38 MainAVIHeader mah; 39 AVIStreamHeader ash; 40 LPBITMAPINFOHEADER inbih; 41 LPDWORD lpIndex; 42 /* data for the decompressor */ 43 HIC hic; 44 LPBITMAPINFOHEADER outbih; 45 LPVOID indata; 46 LPVOID outdata; 47 /* data for the background mechanism */ 48 CRITICAL_SECTION cs; 49 HANDLE hThread; 50 UINT delay; 51 BOOL stopThread; 52 UINT uTimer; 53 /* data for playing the file */ 54 int nFromFrame; 55 int nToFrame; 56 int nLoop; 57 int currFrame; 58 } ANIMATE_INFO; 59 60 61 extern VOID ANIMATE_Register (VOID); 62 extern VOID ANIMATE_Unregister (VOID); 20 #ifdef __cplusplus 21 } 22 #endif 63 23 64 24 #endif /* __WINE_ANIMATE_H */ -
trunk/include/win/comboex.h
r2874 r4608 1 /* $Id: comboex.h,v 1. 2 2000-02-23 17:03:00 cbratschiExp $ */1 /* $Id: comboex.h,v 1.3 2000-11-17 14:32:48 sandervl Exp $ */ 2 2 3 3 /* … … 10 10 #define __WINE_COMBOEX_H 11 11 12 typedef struct tagCOMBOEX_INFO 13 { 14 COMCTL32_HEADER header; 15 HIMAGELIST himl; 16 HWND hwndCombo; 17 DWORD dwExtStyle; 12 #ifdef __cplusplus 13 extern "C" { 14 #endif 18 15 19 } COMBOEX_INFO; 16 VOID COMBOEX_Register (VOID); 17 VOID COMBOEX_Unregister (VOID); 20 18 21 22 extern VOID COMBOEX_Register (VOID); 23 extern VOID COMBOEX_Unregister (VOID); 19 #ifdef __cplusplus 20 } 21 #endif 24 22 25 23 #endif /* __WINE_COMBOEX_H */ -
trunk/include/win/commctrl.h
r4133 r4608 1 /* $Id: commctrl.h,v 1.3 5 2000-08-31 12:46:02sandervl Exp $ */1 /* $Id: commctrl.h,v 1.36 2000-11-17 14:32:48 sandervl Exp $ */ 2 2 /* 3 3 * Common controls definitions … … 11 11 #include "winuser.h" 12 12 #include "imagelist.h" 13 #include "winnls.h" 13 14 //#include "prsht.h" 14 15 … … 3349 3350 #define WC_COMBOBOXEXA "ComboBoxEx32" 3350 3351 #define WC_COMBOBOXEXW L"ComboBoxEx32" 3351 #define WC_COMBOBOXEX WINELIB_NAME_AW(WC_COMBOBOXEX) 3352 #define WC_COMBOBOXEX WINELIB_NAME_AW(WC_COMBOBOXEX) 3353 3354 #define CBEIF_TEXT 0x00000001 3355 #define CBEIF_IMAGE 0x00000002 3356 #define CBEIF_SELECTEDIMAGE 0x00000004 3357 #define CBEIF_OVERLAY 0x00000008 3358 #define CBEIF_INDENT 0x00000010 3359 #define CBEIF_LPARAM 0x00000020 3360 #define CBEIF_DI_SETITEM 0x10000000 3352 3361 3353 3362 #define CBEM_INSERTITEMA (WM_USER+1) 3354 3363 #define CBEM_INSERTITEMW (WM_USER+11) 3355 #define CBEM_INSERTITEM WINELIB_NAME_AW(CBEM_INSERTITEM)3356 #define CBEM_SETIMAGELIST (WM_USER+2)3357 #define CBEM_GETIMAGELIST (WM_USER+3)3364 #define CBEM_INSERTITEM WINELIB_NAME_AW(CBEM_INSERTITEM) 3365 #define CBEM_SETIMAGELIST (WM_USER+2) 3366 #define CBEM_GETIMAGELIST (WM_USER+3) 3358 3367 #define CBEM_GETITEMA (WM_USER+4) 3359 3368 #define CBEM_GETITEMW (WM_USER+13) 3360 #define CBEM_GETITEM WINELIB_NAME_AW(CBEM_GETITEM)3369 #define CBEM_GETITEM WINELIB_NAME_AW(CBEM_GETITEM) 3361 3370 #define CBEM_SETITEMA (WM_USER+5) 3362 3371 #define CBEM_SETITEMW (WM_USER+12) 3363 #define CBEM_SETITEM WINELIB_NAME_AW(CBEM_SETITEM) 3364 #define CBEM_GETCOMBOCONTROL (WM_USER+6) 3365 #define CBEM_GETEDITCONTROL (WM_USER+7) 3366 #define CBEM_SETEXSTYLE (WM_USER+8) 3367 #define CBEM_GETEXSTYLE (WM_USER+9) 3368 #define CBEM_GETEXTENDEDSTYLE (WM_USER+9) 3369 #define CBEM_SETEXTENDEDSTYLE (WM_USER+14) 3370 #define CBEM_HASEDITCHANGED (WM_USER+10) 3371 #define CBEM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT 3372 #define CBEM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT 3372 #define CBEM_SETITEM WINELIB_NAME_AW(CBEM_SETITEM) 3373 #define CBEM_DELETEITEM CB_DELETESTRING 3374 #define CBEM_GETCOMBOCONTROL (WM_USER+6) 3375 #define CBEM_GETEDITCONTROL (WM_USER+7) 3376 #define CBEM_SETEXSTYLE (WM_USER+8) 3377 #define CBEM_GETEXSTYLE (WM_USER+9) 3378 #define CBEM_GETEXTENDEDSTYLE (WM_USER+9) 3379 #define CBEM_SETEXTENDEDSTYLE (WM_USER+14) 3380 #define CBEM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT 3381 #define CBEM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT 3382 #define CBEM_HASEDITCHANGED (WM_USER+10) 3383 #define CBEM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT 3384 #define CBEM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT 3385 3386 #define CBEIF_TEXT 0x00000001 3387 #define CBEIF_IMAGE 0x00000002 3388 #define CBEIF_SELECTEDIMAGE 0x00000004 3389 #define CBEIF_OVERLAY 0x00000008 3390 #define CBEIF_INDENT 0x00000010 3391 #define CBEIF_LPARAM 0x00000020 3392 #define CBEIF_DI_SETITEM 0x10000000 3373 3393 3374 3394 #define CBEN_FIRST (0U-800U) 3375 3395 #define CBEN_LAST (0U-830U) 3376 3396 3377 #define CBEN_GETDISPINFOA (CBEN_FIRST - 0) 3378 #define CBEN_GETDISPINFOW (CBEN_FIRST - 7) 3379 #define CBEN_GETDISPINFO WINELIB_NAME_AW(CBEN_GETDISPINFO) 3380 #define CBEN_INSERTITEM (CBEN_FIRST - 1) 3381 #define CBEN_DELETEITEM (CBEN_FIRST - 2) 3382 #define CBEN_BEGINEDIT (CBEN_FIRST - 4) 3383 #define CBEN_ENDEDITA (CBEN_FIRST - 5) 3384 #define CBEN_ENDEDITW (CBEN_FIRST - 6) 3385 #define CBEN_ENDEDIT WINELIB_NAME_AW(CBEN_ENDEDIT) 3386 #define CBEN_DRAGBEGINA (CBEN_FIRST - 8) 3387 #define CBEN_DRAGBEGINW (CBEN_FIRST - 9) 3388 #define CBEN_DRAGBEGIN WINELIB_NAME_AW(CBEN_DRAGBEGIN) 3389 3390 #define CBENF_KILLFOCUS 1 3391 #define CBENF_RETURN 2 3392 #define CBENF_ESCAPE 3 3393 #define CBENF_DROPDOWN 4 3394 3395 #define CBEMAXSTRLEN 260 3396 3397 typedef struct { 3398 NMHDR hdr; 3399 int iItemid; 3400 WCHAR szText[CBEMAXSTRLEN]; 3401 }NMCBEDRAGBEGINW, *LPNMCBEDRAGBEGINW, *PNMCBEDRAGBEGINW; 3402 3403 3404 typedef struct { 3405 NMHDR hdr; 3406 int iItemid; 3407 char szText[CBEMAXSTRLEN]; 3408 }NMCBEDRAGBEGINA, *LPNMCBEDRAGBEGINA, *PNMCBEDRAGBEGINA; 3409 3410 #define NMCBEDRAGBEGIN WINELIB_NAME_AW(NMCBEDRAGBEGIN) 3411 #define LPNMCBEDRAGBEGIN WINELIB_NAME_AW(LPNMCBEDRAGBEGIN) 3412 #define PNMCBEDRAGBEGIN WINELIB_NAME_AW(PNMCBEDRAGBEGIN) 3413 3414 typedef struct { 3415 NMHDR hdr; 3416 BOOL fChanged; 3417 int iNewSelection; 3418 WCHAR szText[CBEMAXSTRLEN]; 3419 int iWhy; 3420 } NMCBEENDEDITW, *LPNMCBEENDEDITW, *PNMCBEENDEDITW; 3421 3422 typedef struct { 3423 NMHDR hdr; 3424 BOOL fChanged; 3425 int iNewSelection; 3426 char szText[CBEMAXSTRLEN]; 3427 int iWhy; 3428 } NMCBEENDEDITA, *LPNMCBEENDEDITA,*PNMCBEENDEDITA; 3429 3430 #define NMCBEENDEDIT WINELIB_NAME_AW(NMCBEENDEDIT) 3431 #define LPNMCBEENDEDIT WINELIB_NAME_AW(LPNMCBEENDEDIT) 3432 #define PNMCBEENDEDIT WINELIB_NAME_AW(PNMCBEENDEDIT) 3397 #define CBEN_GETDISPINFOA (CBEN_FIRST - 0) 3398 #define CBEN_GETDISPINFOW (CBEN_FIRST - 7) 3399 #define CBEN_GETDISPINFO WINELIB_NAME_AW(CBEN_GETDISPINFO) 3400 #define CBEN_INSERTITEM (CBEN_FIRST - 1) 3401 #define CBEN_DELETEITEM (CBEN_FIRST - 2) 3402 #define CBEN_BEGINEDIT (CBEN_FIRST - 4) 3403 #define CBEN_ENDEDITA (CBEN_FIRST - 5) 3404 #define CBEN_ENDEDITW (CBEN_FIRST - 6) 3405 #define CBEN_ENDEDIT WINELIB_NAME_AW(CBEN_ENDEDIT) 3406 #define CBEN_DRAGBEGINA (CBEN_FIRST - 8) 3407 #define CBEN_DRAGBEGINW (CBEN_FIRST - 9) 3408 #define CBEN_DRAGBEGIN WINELIB_NAME_AW(CBEN_DRAGBEGIN) 3409 3410 typedef struct tagCOMBOBOXEXITEMA 3411 { 3412 UINT mask; 3413 int iItem; 3414 LPSTR pszText; 3415 int cchTextMax; 3416 int iImage; 3417 int iSelectedImage; 3418 int iOverlay; 3419 int iIndent; 3420 LPARAM lParam; 3421 } COMBOBOXEXITEMA, *PCOMBOBOXEXITEMA; 3422 typedef COMBOBOXEXITEMA CONST *PCCOMBOEXITEMA; 3423 3424 3425 typedef struct tagCOMBOBOXEXITEMW 3426 { 3427 UINT mask; 3428 int iItem; 3429 LPWSTR pszText; 3430 int cchTextMax; 3431 int iImage; 3432 int iSelectedImage; 3433 int iOverlay; 3434 int iIndent; 3435 LPARAM lParam; 3436 } COMBOBOXEXITEMW, *PCOMBOBOXEXITEMW; 3437 3438 #define COMBOBOXEXITEM WINELIB_NAME_AW(COMBOBOXEXITEM) 3433 3439 3434 3440 -
trunk/include/win/datetime.h
r2894 r4608 1 /* $Id: datetime.h,v 1. 3 2000-02-25 16:58:33 cbratschiExp $ */1 /* $Id: datetime.h,v 1.4 2000-11-17 14:32:49 sandervl Exp $ */ 2 2 3 3 /* … … 11 11 #define __WINE_DATETIME_H 12 12 13 typedef struct tagDATETIME_INFO14 {15 COMCTL32_HEADER header;16 HWND hMonthCal;17 HWND hUpdown;18 SYSTEMTIME date;19 BOOL dateValid;20 HWND hwndCheckbut;21 RECT rect;22 RECT checkbox;23 RECT daytxt;24 RECT daynumtxt;25 RECT rmonthtxt;26 RECT yeartxt;27 RECT calbutton;28 int select;29 HFONT hFont;30 } DATETIME_INFO, *LPDATETIME_INFO;31 13 32 extern VOID DATETIME_Register (VOID); 33 extern VOID DATETIME_Unregister (VOID); 14 #ifdef __cplusplus 15 extern "C" { 16 #endif 34 17 35 #define DTHT_NONE 0 36 #define DTHT_MCPOPUP 1 37 #define DTHT_YEAR 2 38 #define DTHT_DAYNUM 3 39 #define DTHT_MONTH 4 40 #define DTHT_DAY 5 41 #define DTHT_CHECKBOX 6 42 #define DTHT_GOTFOCUS 128 18 VOID DATETIME_Register (VOID); 19 VOID DATETIME_Unregister (VOID); 20 21 #ifdef __cplusplus 22 } 23 #endif 43 24 44 25 #endif /* __WINE_DATETIME_H */ -
trunk/include/win/flatsb.h
r94 r4608 1 /* $Id: flatsb.h,v 1. 2 1999-06-10 16:21:51 achimhaExp $ */1 /* $Id: flatsb.h,v 1.3 2000-11-17 14:32:50 sandervl Exp $ */ 2 2 /* 3 3 * Flat scroll bar class extra info … … 10 10 #define __WINE_FLATSB_H 11 11 12 typedef struct tagFLATSB_INFO 13 {14 DWORD dwDummy; /* just to keep the compiler happy ;-) */ 12 #ifdef __cplusplus 13 extern "C" { 14 #endif 15 15 16 } FLATSB_INFO, *LPFLATSB_INFO; 16 VOID FLATSB_Register (VOID); 17 VOID FLATSB_Unregister (VOID); 17 18 18 19 extern VOID FLATSB_Register (VOID); 20 extern VOID FLATSB_Unregister (VOID); 19 #ifdef __cplusplus 20 } 21 #endif 21 22 22 23 #endif /* __WINE_FLATSB_H */ -
trunk/include/win/mmsystem.h
r3354 r4608 1 /* $Id: mmsystem.h,v 1. 8 2000-04-09 11:09:09sandervl Exp $ */1 /* $Id: mmsystem.h,v 1.9 2000-11-17 14:32:50 sandervl Exp $ */ 2 2 /* 3 3 * MMSYSTEM - Multimedia Wine Extension ... :-) … … 189 189 typedef void (* CALLBACK LPDRVCALLBACK16) (HDRVR16 h, UINT16 uMessage, DWORD dwUser, DWORD dw1, DWORD dw2); 190 190 typedef void (* CALLBACK LPDRVCALLBACK) (HDRVR h, UINT uMessage, DWORD dwUser, DWORD dw1, DWORD dw2); 191 192 #define DRV_LOAD 0x0001 193 #define DRV_ENABLE 0x0002 194 #define DRV_OPEN 0x0003 195 #define DRV_CLOSE 0x0004 196 #define DRV_DISABLE 0x0005 197 #define DRV_FREE 0x0006 198 #define DRV_CONFIGURE 0x0007 199 #define DRV_QUERYCONFIGURE 0x0008 200 #define DRV_INSTALL 0x0009 201 #define DRV_REMOVE 0x000A 202 #define DRV_EXITSESSION 0x000B 203 #define DRV_EXITAPPLICATION 0x000C 204 #define DRV_POWER 0x000F 205 206 #define DRV_RESERVED 0x0800 207 #define DRV_USER 0x4000 208 209 #define DRVCNF_CANCEL 0x0000 210 #define DRVCNF_OK 0x0001 211 #define DRVCNF_RESTART 0x0002 212 213 #define DRVEA_NORMALEXIT 0x0001 214 #define DRVEA_ABNORMALEXIT 0x0002 215 216 #define DRV_SUCCESS 0x0001 217 #define DRV_FAILURE 0x0000 218 219 #define GND_FIRSTINSTANCEONLY 0x00000001 220 221 #define GND_FORWARD 0x00000000 222 #define GND_REVERSE 0x00000002 223 224 typedef struct { 225 DWORD dwDCISize; 226 LPCWSTR lpszDCISectionName; 227 LPCWSTR lpszDCIAliasName; 228 } DRVCONFIGINFO, *LPDRVCONFIGINFO; 229 230 231 LRESULT WINAPI DefDriverProc(DWORD dwDriverIdentifier, HDRVR hdrvr, 232 UINT Msg, LPARAM lParam1, LPARAM lParam2); 233 HDRVR WINAPI OpenDriverA(LPCSTR szDriverName, LPCSTR szSectionName, 234 LPARAM lParam2); 235 HDRVR WINAPI OpenDriverW(LPCWSTR szDriverName, LPCWSTR szSectionName, 236 LPARAM lParam2); 237 #define OpenDriver WINELIB_NAME_AW(OpenDriver) 238 LRESULT WINAPI CloseDriver(HDRVR hDriver, LPARAM lParam1, LPARAM lParam2); 239 LRESULT WINAPI SendDriverMessage(HDRVR hDriver, UINT message, 240 LPARAM lParam1, LPARAM lParam2); 241 HMODULE WINAPI GetDriverModuleHandle(HDRVR hDriver); 242 243 DWORD WINAPI GetDriverFlags(HDRVR hDriver); 244 #ifdef __WINE__ 245 /* this call (GetDriverFlags) is not documented, nor the flags returned. 246 * here are Wine only definitions 247 */ 248 #define WINE_GDF_EXIST 0x80000000 249 #define WINE_GDF_16BIT 0x10000000 250 #endif 191 251 192 252 #define MM_MICROSOFT 1 /* Microsoft Corp. */ -
trunk/include/win/monthcal.h
r3143 r4608 1 /* $Id: monthcal.h,v 1. 4 2000-03-17 17:10:51 cbratschiExp $ */1 /* $Id: monthcal.h,v 1.5 2000-11-17 14:32:50 sandervl Exp $ */ 2 2 3 3 /* … … 11 11 #define __WINE_MONTHCAL_H 12 12 13 #define MC_SEL_LBUTUP 1 /* Left button released */ 14 #define MC_SEL_LBUTDOWN 2 /* Left button pressed in calendar */ 15 #define MC_PREVPRESSED 4 /* Prev month button pressed */ 16 #define MC_NEXTPRESSED 8 /* Next month button pressed */ 17 #define MC_NEXTMONTHDELAY 350 /* when continuously pressing `next */ 18 /* month', wait 500 ms before going */ 19 /* to the next month */ 20 #define MC_NEXTMONTHTIMER 1 /* Timer ID's */ 21 #define MC_PREVMONTHTIMER 2 13 #ifdef __cplusplus 14 extern "C" { 15 #endif 22 16 23 typedef struct tagMONTHCAL_INFO 24 { 25 COMCTL32_HEADER header; 17 VOID MONTHCAL_Register (VOID); 18 VOID MONTHCAL_Unregister (VOID); 26 19 27 COLORREF bk; 28 COLORREF txt; 29 COLORREF titlebk; 30 COLORREF titletxt; 31 COLORREF monthbk; 32 COLORREF trailingtxt; 33 HFONT hFont; 34 HFONT hBoldFont; 35 int textHeight; 36 int textWidth; 37 int height_increment; 38 int width_increment; 39 int left_offset; 40 int top_offset; 41 int firstDayplace; /* place of the first day of the current month */ 42 int delta; /* scroll rate; # of months that the */ 43 /* control moves when user clicks a scroll button */ 44 int visible; /* # of months visible */ 45 int firstDay; /* Start month calendar with firstDay's day */ 46 int monthRange; 47 MONTHDAYSTATE *monthdayState; 48 SYSTEMTIME todaysDate; 49 DWORD currentMonth; 50 DWORD currentYear; 51 int status; /* See MC_SEL flags */ 52 int curSelDay; /* current selected day */ 53 int firstSelDay; /* first selected day */ 54 int maxSelCount; 55 SYSTEMTIME minSel; 56 SYSTEMTIME maxSel; 57 DWORD rangeValid; 58 SYSTEMTIME minDate; 59 SYSTEMTIME maxDate; 60 61 RECT rcClient; /* rect for whole client area */ 62 RECT rcDraw; /* rect for drawable portion of client area */ 63 RECT title; /* rect for the header above the calendar */ 64 RECT titlebtnnext; /* the `next month' button in the header */ 65 RECT titlebtnprev; /* the `prev month' button in the header */ 66 RECT titlemonth; /* the `month name' txt in the header */ 67 RECT titleyear; /* the `year number' txt in the header */ 68 RECT prevmonth; /* day numbers of the previous month */ 69 RECT nextmonth; /* day numbers of the next month */ 70 RECT days; /* week numbers at left side */ 71 RECT weeknums; /* week numbers at left side */ 72 RECT today; /* `today: xx/xx/xx' text rect */ 73 } MONTHCAL_INFO, *LPMONTHCAL_INFO; 74 75 extern void MONTHCAL_CopyTime (const SYSTEMTIME *from, SYSTEMTIME *to); 76 extern int MONTHCAL_CalculateDayOfWeek (DWORD day, DWORD month, DWORD year); 77 78 extern VOID MONTHCAL_Register (VOID); 79 extern VOID MONTHCAL_Unregister (VOID); 20 #ifdef __cplusplus 21 } 22 #endif 80 23 81 24 #endif /* __WINE_MONTHCAL_H */ -
trunk/include/win/vfw.h
r811 r4608 1 /* $Id: vfw.h,v 1.2 1999-09-04 09:07:07 sandervl Exp $ */2 3 1 #ifndef __WINE_VFW_H 4 2 #define __WINE_VFW_H … … 7 5 #include "mmsystem.h" 8 6 #include "wingdi.h" 9 #include "wine/obj_base.h"10 7 #include "unknwn.h" 8 9 #ifndef __cplusplus 10 #ifndef inline 11 #define inline 12 #endif 13 #endif 11 14 12 15 #define VFWAPI WINAPI 13 16 #define VFWAPIV WINAPIV 14 17 15 DWORD VFWAPI VideoForWindowsVersion(void); 18 #ifdef __cplusplus 19 extern "C" { 20 #endif /* __cplusplus */ 21 22 typedef HANDLE HDRAWDIB; 23 24 HWND VFWAPIV MCIWndCreateA(HWND hwndParent, HINSTANCE hInstance, DWORD dwStyle, LPCSTR szFile); 25 HWND VFWAPIV MCIWndCreateW(HWND hwndParent, HINSTANCE hInstance, DWORD dwStyle, LPCWSTR szFile); 26 #define MCIWndCreate WINELIB_NAME_AW(MCIWndCreate) 27 DWORD VFWAPI VideoForWindowsVersion(void); 28 LONG VFWAPI InitVFW(void); 29 LONG VFWAPI TermVFW(void); 16 30 17 31 #ifndef mmioFOURCC … … 35 49 typedef struct IGetFrame IGetFrame,*PGETFRAME; 36 50 37 /* Installable Compressor M? */ 38 51 /* Installable Compressor Manager */ 52 53 DECLARE_HANDLE(HIC); 54 55 #ifdef __WINE__ 39 56 /* HIC struct (same layout as Win95 one) */ 40 57 typedef struct tagWINE_HIC { … … 44 61 DWORD handler; /* 0C: */ 45 62 HDRVR hdrv; /* 10: */ 46 DWORD private vfw; /* 14:(handled by SendDriverMessage)*/63 DWORD private; /* 14:(handled by SendDriverMessage)*/ 47 64 FARPROC driverproc; /* 18:(handled by SendDriverMessage)*/ 48 65 DWORD x1; /* 1c: name? */ … … 50 67 DWORD x3; /* 22: */ 51 68 /* 26: */ 52 } WINE_HIC, *PWINE_HIC; 69 } WINE_HIC; 70 #endif 53 71 54 72 /* error return codes */ … … 151 169 /* structs */ 152 170 171 /* NOTE: Only the 16 bit structs are packed. Structs that are packed anyway 172 * have not been changed. If a structure is later extended, you may need to create 173 * two versions of it. 174 */ 175 153 176 typedef struct { 154 177 DWORD dwSize; /* 00: size */ … … 189 212 190 213 #define ICCompressGetFormat(hic, lpbiInput, lpbiOutput) \ 191 ICSendMessage( \214 ICSendMessage( \ 192 215 hic,ICM_COMPRESS_GET_FORMAT,(DWORD)(LPVOID)(lpbiInput), \ 193 216 (DWORD)(LPVOID)(lpbiOutput) \ … … 202 225 ) 203 226 204 #define ICCompressGetSize(hic, lpbiInput, lpbiOutput) \227 #define ICCompressGetSize(hic, lpbiInput, lpbiOutput) \ 205 228 ICSendMessage( \ 206 229 hic, ICM_COMPRESS_GET_SIZE, (DWORD)(LPVOID)(lpbiInput), \ … … 213 236 (DWORD)(LPVOID)(lpbiOutput) \ 214 237 ) 215 216 238 217 239 #define ICCompressEnd(hic) ICSendMessage(hic, ICM_COMPRESS_END, 0, 0) … … 234 256 DWORD dwOverheadPerFrame; 235 257 DWORD dwReserved2; 236 LONG (CALLBACK *GetData)(LPARAM lInput,LONG lFrame,LPVOID lpBits,LONG len); 237 LONG (CALLBACK *PutData)(LPARAM lOutput,LONG lFrame,LPVOID lpBits,LONG len); 258 #ifdef __WIN32OS2__ 259 LONG (* CALLBACK GetData)(LPARAM lInput,LONG lFrame,LPVOID lpBits,LONG len); 260 LONG (* CALLBACK PutData)(LPARAM lOutput,LONG lFrame,LPVOID lpBits,LONG len); 261 #else 262 LONG CALLBACK (*GetData)(LPARAM lInput,LONG lFrame,LPVOID lpBits,LONG len); 263 LONG CALLBACK (*PutData)(LPARAM lOutput,LONG lFrame,LPVOID lpBits,LONG len); 264 #endif 238 265 } ICCOMPRESSFRAMES; 266 267 typedef struct { 268 DWORD dwFlags; 269 LPARAM lParam; 270 /* messages for Status callback */ 271 #define ICSTATUS_START 0 272 #define ICSTATUS_STATUS 1 273 #define ICSTATUS_END 2 274 #define ICSTATUS_ERROR 3 275 #define ICSTATUS_YIELD 4 276 /* FIXME: some X11 libs define Status as int... */ 277 /* LONG CALLBACK (*zStatus)(LPARAM lParam, UINT message, LONG l); */ 278 #ifdef __WIN32OS2__ 279 LONG (* CALLBACK zStatus)(LPARAM lParam, UINT message, LONG l); 280 #else 281 LONG CALLBACK (*zStatus)(LPARAM lParam, UINT message, LONG l); 282 #endif 283 } ICSETSTATUSPROC; 239 284 240 285 /* Values for wMode of ICOpen() */ … … 300 345 #define ICDECOMPRESS_HURRYUP 0x80000000 /* don't draw just buffer (hurry up!) */ 301 346 #define ICDECOMPRESS_UPDATE 0x40000000 /* don't draw just update screen */ 302 #define ICDECOMPRESS_PREROL 0x20000000 /* this frame is before real start */347 #define ICDECOMPRESS_PREROLL 0x20000000 /* this frame is before real start */ 303 348 #define ICDECOMPRESS_NULLFRAME 0x10000000 /* repeat last frame */ 304 349 #define ICDECOMPRESS_NOTKEYFRAME 0x08000000 /* this frame is not a key frame */ … … 321 366 322 367 /* changed for ICM_DECOMPRESSEX */ 323 INT xDst; /* destination rectangle */324 INT yDst;325 INT dxDst;326 INT dyDst;327 328 INT xSrc; /* source rectangle */329 INT ySrc;330 INT dxSrc;331 INT dySrc;368 INT xDst; /* destination rectangle */ 369 INT yDst; 370 INT dxDst; 371 INT dyDst; 372 373 INT xSrc; /* source rectangle */ 374 INT ySrc; 375 INT dxSrc; 376 INT dySrc; 332 377 } ICDECOMPRESSEX; 333 378 334 379 DWORD VFWAPIV ICDecompress(HIC hic,DWORD dwFlags,LPBITMAPINFOHEADER lpbiFormat,LPVOID lpData,LPBITMAPINFOHEADER lpbi,LPVOID lpBits); 335 336 380 337 381 #define ICDecompressBegin(hic, lpbiInput, lpbiOutput) \ … … 370 414 #define ICDecompressEnd(hic) ICSendMessage(hic, ICM_DECOMPRESS_END, 0, 0) 371 415 416 LRESULT VFWAPI ICSendMessage(HIC hic, UINT msg, DWORD dw1, DWORD dw2); 417 418 inline static LRESULT VFWAPI ICDecompressEx(HIC hic, DWORD dwFlags, 419 LPBITMAPINFOHEADER lpbiSrc, LPVOID lpSrc, 420 int xSrc, int ySrc, int dxSrc, int dySrc, 421 LPBITMAPINFOHEADER lpbiDst, LPVOID lpDst, 422 int xDst, int yDst, int dxDst, int dyDst) 423 { 424 ICDECOMPRESSEX ic; 425 426 ic.dwFlags = dwFlags; 427 ic.lpbiSrc = lpbiSrc; 428 ic.lpSrc = lpSrc; 429 ic.xSrc = xSrc; 430 ic.ySrc = ySrc; 431 ic.dxSrc = dxSrc; 432 ic.dySrc = dySrc; 433 ic.lpbiDst = lpbiDst; 434 ic.lpDst = lpDst; 435 ic.xDst = xDst; 436 ic.yDst = yDst; 437 ic.dxDst = dxDst; 438 ic.dyDst = dyDst; 439 return ICSendMessage(hic, ICM_DECOMPRESSEX, (DWORD)&ic, sizeof(ic)); 440 } 441 442 inline static LRESULT VFWAPI ICDecompressExBegin(HIC hic, DWORD dwFlags, 443 LPBITMAPINFOHEADER lpbiSrc, 444 LPVOID lpSrc, 445 int xSrc, int ySrc, int dxSrc, int dySrc, 446 LPBITMAPINFOHEADER lpbiDst, 447 LPVOID lpDst, 448 int xDst, 449 int yDst, 450 int dxDst, 451 int dyDst) 452 { 453 ICDECOMPRESSEX ic; 454 455 ic.dwFlags = dwFlags; 456 ic.lpbiSrc = lpbiSrc; 457 ic.lpSrc = lpSrc; 458 ic.xSrc = xSrc; 459 ic.ySrc = ySrc; 460 ic.dxSrc = dxSrc; 461 ic.dySrc = dySrc; 462 ic.lpbiDst = lpbiDst; 463 ic.lpDst = lpDst; 464 ic.xDst = xDst; 465 ic.yDst = yDst; 466 ic.dxDst = dxDst; 467 ic.dyDst = dyDst; 468 return ICSendMessage(hic, ICM_DECOMPRESSEX_BEGIN, (DWORD)&ic, sizeof(ic)); 469 } 470 inline static LRESULT VFWAPI ICDecompressExQuery(HIC hic, DWORD dwFlags, 471 LPBITMAPINFOHEADER lpbiSrc, 472 LPVOID lpSrc, 473 int xSrc, int ySrc, int dxSrc, int dySrc, 474 LPBITMAPINFOHEADER lpbiDst, 475 LPVOID lpDst, 476 int xDst, 477 int yDst, 478 int dxDst, 479 int dyDst) 480 { 481 ICDECOMPRESSEX ic; 482 483 ic.dwFlags = dwFlags; 484 ic.lpbiSrc = lpbiSrc; 485 ic.lpSrc = lpSrc; 486 ic.xSrc = xSrc; 487 ic.ySrc = ySrc; 488 ic.dxSrc = dxSrc; 489 ic.dySrc = dySrc; 490 ic.lpbiDst = lpbiDst; 491 ic.lpDst = lpDst; 492 ic.xDst = xDst; 493 ic.yDst = yDst; 494 ic.dxDst = dxDst; 495 ic.dyDst = dyDst; 496 return ICSendMessage(hic, ICM_DECOMPRESSEX_QUERY, (DWORD)&ic, sizeof(ic)); 497 } 498 499 #define ICDecompressExEnd(hic) \ 500 ICSendMessage(hic, ICM_DECOMPRESSEX_END, 0, 0) 372 501 373 502 #define ICDRAW_QUERY 0x00000001L /* test for support */ 374 503 #define ICDRAW_FULLSCREEN 0x00000002L /* draw to full screen */ 375 504 #define ICDRAW_HDC 0x00000004L /* draw to a HDC/HWND */ 505 #define ICDRAW_ANIMATE 0x00000008L /* expect palette animation */ 506 #define ICDRAW_CONTINUE 0x00000010L /* draw is a continuation of previous draw */ 507 #define ICDRAW_MEMORYDC 0x00000020L /* DC is offscreen, by the way */ 508 #define ICDRAW_UPDATING 0x00000040L /* We're updating, as opposed to playing */ 509 #define ICDRAW_RENDER 0x00000080L /* used to render data not draw it */ 510 #define ICDRAW_BUFFER 0x00000100L /* buffer data offscreen, we will need to update it */ 511 512 #define ICDecompressOpen(fccType, fccHandler, lpbiIn, lpbiOut) \ 513 ICLocate(fccType, fccHandler, lpbiIn, lpbiOut, ICMODE_DECOMPRESS) 514 515 #define ICDrawOpen(fccType, fccHandler, lpbiIn) \ 516 ICLocate(fccType, fccHandler, lpbiIn, NULL, ICMODE_DRAW) 517 518 HANDLE VFWAPI ICImageCompress(HIC hic, UINT uiFlags, LPBITMAPINFO lpbiIn, 519 LPVOID lpBits, LPBITMAPINFO lpbiOut, LONG lQuality, 520 LONG* plSize); 521 522 HANDLE VFWAPI ICImageDecompress(HIC hic, UINT uiFlags, LPBITMAPINFO lpbiIn, 523 LPVOID lpBits, LPBITMAPINFO lpbiOut); 376 524 377 525 BOOL VFWAPI ICInfo(DWORD fccType, DWORD fccHandler, ICINFO * lpicinfo); 526 BOOL VFWAPI ICInstall(DWORD fccType, DWORD fccHandler, LPARAM lParam, LPSTR szDesc, UINT wFlags); 527 BOOL VFWAPI ICRemove(DWORD fccType, DWORD fccHandler, UINT wFlags); 378 528 LRESULT VFWAPI ICGetInfo(HIC hic,ICINFO *picinfo, DWORD cb); 379 529 HIC VFWAPI ICOpen(DWORD fccType, DWORD fccHandler, UINT wMode); 380 530 HIC VFWAPI ICOpenFunction(DWORD fccType, DWORD fccHandler, UINT wMode, FARPROC lpfnHandler); 381 531 382 LRESULT VFWAPI ICClose(HIC hic); 383 LRESULT VFWAPI ICSendMessage(HIC hic, UINT msg, DWORD dw1, DWORD dw2); 384 HIC VFWAPI ICLocate(DWORD fccType, DWORD fccHandler, LPBITMAPINFOHEADER lpbiIn, LPBITMAPINFOHEADER lpbiOut, WORD wFlags); 532 LRESULT VFWAPI ICClose(HIC hic); 533 HIC VFWAPI ICLocate(DWORD fccType, DWORD fccHandler, LPBITMAPINFOHEADER lpbiIn, LPBITMAPINFOHEADER lpbiOut, WORD wFlags); 534 HIC VFWAPI ICGetDisplayFormat(HIC hic, LPBITMAPINFOHEADER lpbiIn, LPBITMAPINFOHEADER lpbiOut, int BitDepth, int dx, int dy); 535 536 /* Values for wFlags of ICInstall() */ 537 #define ICINSTALL_UNICODE 0x8000 538 #define ICINSTALL_FUNCTION 0x0001 539 #define ICINSTALL_DRIVER 0x0002 540 #define ICINSTALL_HDRV 0x0004 541 #define ICINSTALL_DRIVERW 0x8002 542 543 #define ICGetState(hic, pv, cb) \ 544 ICSendMessage(hic, ICM_GETSTATE, (DWORD)(LPVOID)(pv), (DWORD)(cb)) 545 #define ICSetState(hic, pv, cb) \ 546 ICSendMessage(hic, ICM_SETSTATE, (DWORD)(LPVOID)(pv), (DWORD)(cb)) 547 #define ICGetStateSize(hic) \ 548 ICGetState(hic, NULL, 0) 549 550 inline static DWORD ICGetDefaultQuality(HIC hic) 551 { 552 DWORD dwICValue; 553 ICSendMessage(hic, ICM_GETDEFAULTQUALITY, (DWORD)(LPVOID)&dwICValue, sizeof(DWORD)); 554 return dwICValue; 555 } 556 557 inline static DWORD ICGetDefaultKeyFrameRate(HIC hic) 558 { 559 DWORD dwICValue; 560 ICSendMessage(hic, ICM_GETDEFAULTKEYFRAMERATE, (DWORD)(LPVOID)&dwICValue, sizeof(DWORD)); 561 return dwICValue; 562 } 563 564 #define ICDrawWindow(hic, prc) \ 565 ICSendMessage(hic, ICM_DRAW_WINDOW, (DWORD)(LPVOID)(prc), sizeof(RECT)) 566 567 /* As passed to ICM_DRAW_SUGGESTFORMAT */ 568 typedef struct { 569 DWORD dwFlags; 570 LPBITMAPINFOHEADER lpbiIn; 571 LPBITMAPINFOHEADER lpbiSuggest; 572 INT dxSrc; 573 INT dySrc; 574 INT dxDst; 575 INT dyDst; 576 HIC hicDecompressor; 577 } ICDRAWSUGGEST; 578 579 typedef struct { 580 DWORD dwFlags; 581 int iStart; 582 int iLen; 583 LPPALETTEENTRY lppe; 584 } ICPALETTE; 385 585 386 586 DWORD VFWAPIV ICDrawBegin( … … 403 603 ); 404 604 405 /* as passed to ICM_DRAW_BEGIN (FIXME: correct only for Win32?)*/605 /* as passed to ICM_DRAW_BEGIN */ 406 606 typedef struct { 407 607 DWORD dwFlags; … … 438 638 DWORD VFWAPIV ICDraw(HIC hic,DWORD dwFlags,LPVOID lpFormat,LPVOID lpData,DWORD cbData,LONG lTime); 439 639 640 inline static LRESULT VFWAPI ICDrawSuggestFormat(HIC hic, LPBITMAPINFOHEADER lpbiIn, 641 LPBITMAPINFOHEADER lpbiOut, 642 int dxSrc, int dySrc, 643 int dxDst, int dyDst, 644 HIC hicDecomp) 645 { 646 ICDRAWSUGGEST ic; 647 648 ic.lpbiIn = lpbiIn; 649 ic.lpbiSuggest = lpbiOut; 650 ic.dxSrc = dxSrc; 651 ic.dySrc = dySrc; 652 ic.dxDst = dxDst; 653 ic.dyDst = dyDst; 654 ic.hicDecompressor = hicDecomp; 655 return ICSendMessage(hic, ICM_DRAW_SUGGESTFORMAT, (DWORD)&ic, sizeof(ic)); 656 } 657 658 #define ICDrawQuery(hic, lpbiInput) \ 659 ICSendMessage(hic, ICM_DRAW_QUERY, (DWORD)(LPVOID)(lpbiInput), 0L) 660 661 #define ICDrawChangePalette(hic, lpbiInput) \ 662 ICSendMessage(hic, ICM_DRAW_CHANGEPALETTE, (DWORD)(LPVOID)(lpbiInput), 0L) 663 664 #define ICGetBuffersWanted(hic, lpdwBuffers) \ 665 ICSendMessage(hic, ICM_GETBUFFERSWANTED, (DWORD)(LPVOID)(lpdwBuffers), 0) 666 667 #define ICDrawEnd(hic) \ 668 ICSendMessage(hic, ICM_DRAW_END, 0, 0) 669 670 #define ICDrawStart(hic) \ 671 ICSendMessage(hic, ICM_DRAW_START, 0, 0) 672 673 #define ICDrawStartPlay(hic, lFrom, lTo) \ 674 ICSendMessage(hic, ICM_DRAW_START_PLAY, (DWORD)(lFrom), (DWORD)(lTo)) 675 676 #define ICDrawStop(hic) \ 677 ICSendMessage(hic, ICM_DRAW_STOP, 0, 0) 678 679 #define ICDrawStopPlay(hic) \ 680 ICSendMessage(hic, ICM_DRAW_STOP_PLAY, 0, 0) 681 682 #define ICDrawGetTime(hic, lplTime) \ 683 ICSendMessage(hic, ICM_DRAW_GETTIME, (DWORD)(LPVOID)(lplTime), 0) 684 685 #define ICDrawSetTime(hic, lTime) \ 686 ICSendMessage(hic, ICM_DRAW_SETTIME, (DWORD)lTime, 0) 687 688 #define ICDrawRealize(hic, hdc, fBackground) \ 689 ICSendMessage(hic, ICM_DRAW_REALIZE, (DWORD)(UINT)(HDC)(hdc), (DWORD)(BOOL)(fBackground)) 690 691 #define ICDrawFlush(hic) \ 692 ICSendMessage(hic, ICM_DRAW_FLUSH, 0, 0) 693 694 #define ICDrawRenderBuffer(hic) \ 695 ICSendMessage(hic, ICM_DRAW_RENDERBUFFER, 0, 0) 696 697 inline static LRESULT VFWAPI ICSetStatusProc(HIC hic, DWORD dwFlags, LRESULT lParam, 698 #ifdef __WIN32OS2__ 699 LONG (* CALLBACK fpfnStatus)(LPARAM, UINT, LONG)) 700 #else 701 LONG (CALLBACK *fpfnStatus)(LPARAM, UINT, LONG)) 702 #endif 703 { 704 ICSETSTATUSPROC ic; 705 706 ic.dwFlags = dwFlags; 707 ic.lParam = lParam; 708 /* FIXME: see comment in ICSETSTATUSPROC definition */ 709 ic.zStatus = fpfnStatus; 710 711 return ICSendMessage(hic, ICM_SET_STATUS_PROC, (DWORD)&ic, sizeof(ic)); 712 } 713 714 typedef struct { 715 LONG cbSize; 716 DWORD dwFlags; 717 HIC hic; 718 DWORD fccType; 719 DWORD fccHandler; 720 LPBITMAPINFO lpbiIn; 721 LPBITMAPINFO lpbiOut; 722 LPVOID lpBitsOut; 723 LPVOID lpBitsPrev; 724 LONG lFrame; 725 LONG lKey; 726 LONG lDataRate; 727 LONG lQ; 728 LONG lKeyCount; 729 LPVOID lpState; 730 LONG cbState; 731 } COMPVARS, *PCOMPVARS; 732 733 #define ICMF_COMPVARS_VALID 0x00000001 734 735 BOOL VFWAPI ICCompressorChoose(HWND hwnd, UINT uiFlags, LPVOID pvIn, LPVOID lpData, 736 PCOMPVARS pc, LPSTR lpszTitle); 737 738 #define ICMF_CHOOSE_KEYFRAME 0x0001 739 #define ICMF_CHOOSE_DATARATE 0x0002 740 #define ICMF_CHOOSE_PREVIEW 0x0004 741 #define ICMF_CHOOSE_ALLCOMPRESSORS 0x0008 742 743 BOOL VFWAPI ICSeqCompressFrameStart(PCOMPVARS pc, LPBITMAPINFO lpbiIn); 744 void VFWAPI ICSeqCompressFrameEnd(PCOMPVARS pc); 745 746 LPVOID VFWAPI ICSeqCompressFrame(PCOMPVARS pc, UINT uiFlags, LPVOID lpBits, 747 BOOL *pfKey, LONG *plSize); 748 void VFWAPI ICCompressorFree(PCOMPVARS pc); 749 440 750 /********************* AVIFILE function declarations *************************/ 751 #define formtypeAVI mmioFOURCC('A', 'V', 'I', ' ') 752 #define listtypeAVIHEADER mmioFOURCC('h', 'd', 'r', 'l') 753 #define ckidAVIMAINHDR mmioFOURCC('a', 'v', 'i', 'h') 754 #define listtypeSTREAMHEADER mmioFOURCC('s', 't', 'r', 'l') 755 #define ckidSTREAMHEADER mmioFOURCC('s', 't', 'r', 'h') 756 #define ckidSTREAMFORMAT mmioFOURCC('s', 't', 'r', 'f') 757 #define ckidSTREAMHANDLERDATA mmioFOURCC('s', 't', 'r', 'd') 758 #define ckidSTREAMNAME mmioFOURCC('s', 't', 'r', 'n') 759 760 #define listtypeAVIMOVIE mmioFOURCC('m', 'o', 'v', 'i') 761 #define listtypeAVIRECORD mmioFOURCC('r', 'e', 'c', ' ') 762 763 #define ckidAVINEWINDEX mmioFOURCC('i', 'd', 'x', '1') 441 764 442 765 #define streamtypeVIDEO mmioFOURCC('v', 'i', 'd', 's') … … 497 820 DWORD dwQuality; 498 821 DWORD dwSampleSize; 499 RECT16 rcFrame;/* word.word - word.word in file */822 struct { SHORT left, top, right, bottom; } rcFrame; /* word.word - word.word in file */ 500 823 } AVIStreamHeader; 501 824 502 825 /* AVIINDEXENTRY.dwFlags */ 503 826 #define AVIIF_LIST 0x00000001 /* chunk is a 'LIST' */ 827 #define AVIIF_TWOCC 0x00000002 504 828 #define AVIIF_KEYFRAME 0x00000010 /* this frame is a key frame. */ 505 829 … … 673 997 #undef ICOM_INTERFACE 674 998 675 #ifdef ICOM_CINTERFACE676 999 /*** IUnknown methods ***/ 677 1000 #define IAVIStream_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) … … 690 1013 #define IAVIStream_WriteData(p,a,b,c) ICOM_CALL3(WriteData,p,a,b,c) 691 1014 #define IAVIStream_SetInfo(p,a,b) ICOM_CALL2(SetInfo,p,a,b) 692 #endif693 1015 694 1016 HRESULT WINAPI AVIMakeCompressedStream(PAVISTREAM*ppsCompressed,PAVISTREAM ppsSource,AVICOMPRESSOPTIONS *lpOptions,CLSID*pclsidHandler); … … 709 1031 HRESULT WINAPI AVIStreamWrite(PAVISTREAM iface,LONG start,LONG samples,LPVOID buffer,LONG buffersize,DWORD flags,LONG *sampwritten,LONG *byteswritten); 710 1032 HRESULT WINAPI AVIStreamWriteData(PAVISTREAM iface,DWORD fcc,LPVOID lp,LONG size); 711 1033 HRESULT WINAPI AVIStreamOpenFromFileA(PAVISTREAM *ppavi, LPCSTR szFile, 1034 DWORD fccType, LONG lParam, 1035 UINT mode, CLSID *pclsidHandler); 1036 HRESULT WINAPI AVIStreamOpenFromFileW(PAVISTREAM *ppavi, LPCWSTR szFile, 1037 DWORD fccType, LONG lParam, 1038 UINT mode, CLSID *pclsidHandler); 1039 #define AVIStreamOpenFromFile WINELIB_NAME_AW(AVIStreamOpenFromFile) 1040 1041 #define AVIStreamFormatSize(pavi, lPos, plSize) \ 1042 AVIStreamReadFormat(pavi, lPos, NULL, plSize) 712 1043 713 1044 /***************************************************************************** … … 730 1061 #undef ICOM_INTERFACE 731 1062 732 #ifdef ICOM_CINTERFACE733 1063 /*** IUnknown methods ***/ 734 1064 #define IAVIFile_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) … … 743 1073 #define IAVIFile_EndRecord(p) ICOM_CALL (EndRecord,p) 744 1074 #define IAVIFile_DeleteStream(p,a,b) ICOM_CALL2(DeleteStream,p,a,b) 745 #endif746 1075 747 1076 HRESULT WINAPI AVIFileCreateStreamA(PAVIFILE pfile,PAVISTREAM* ppavi,AVISTREAMINFOA* psi); … … 775 1104 #undef ICOM_INTERFACE 776 1105 777 #ifdef ICOM_CINTERFACE778 1106 /*** IUnknown methods ***/ 779 1107 #define IGetFrame_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b) … … 785 1113 #define IGetFrame_End(p) ICOM_CALL (End,p) 786 1114 #define IGetFrame_SetFormat(p,a,b,c,d,e,f) ICOM_CALL6(SetFormat,p,a,b,c,d,e,f) 787 #endif788 1115 789 1116 #define AVIERR_OK 0 … … 810 1137 #define AVIERR_ERROR MAKE_AVIERR(199) 811 1138 812 813 /* DrawDibTime */ 814 typedef struct { 815 LONG timeCount; 816 LONG timeDraw; 817 LONG timeDecompress; 818 LONG timeDither; 819 LONG timeStretch; 820 LONG timeBlt; 821 LONG timeSetDIBits; 822 } DRAWDIBTIME, *LPDRAWDIBTIME; 823 824 /* ICCompressorChoose; ICCompressorFree */ 825 typedef struct { 826 LONG cbSize; // set to sizeof(COMPVARS) before 827 // calling ICCompressorChoose 828 DWORD dwFlags; // see below... 829 HIC hic; // HIC of chosen compressor 830 DWORD fccType; // basically ICTYPE_VIDEO 831 DWORD fccHandler; // handler of chosen compressor or 832 // "" or "DIB " 833 LPBITMAPINFO lpbiIn; // input format 834 LPBITMAPINFO lpbiOut; // output format - will compress to this 835 LPVOID lpBitsOut; 836 LPVOID lpBitsPrev; 837 LONG lFrame; 838 LONG lKey; // key frames how often? 839 LONG lDataRate; // desired data rate KB/Sec 840 LONG lQ; // desired quality 841 LONG lKeyCount; 842 LPVOID lpState; // state of compressor 843 LONG cbState; // size of the state 844 } COMPVARS, *PCOMPVARS; 1139 /******************************************** 1140 * DrawDib declarations 1141 */ 1142 1143 HDRAWDIB VFWAPI DrawDibOpen( void ); 1144 UINT VFWAPI DrawDibRealize(HDRAWDIB hdd, HDC hdc, BOOL fBackground); 1145 1146 BOOL VFWAPI DrawDibBegin(HDRAWDIB hdd, HDC hdc, INT dxDst, INT dyDst, 1147 LPBITMAPINFOHEADER lpbi, INT dxSrc, INT dySrc, UINT wFlags); 1148 1149 BOOL VFWAPI DrawDibDraw(HDRAWDIB hdd, HDC hdc, INT xDst, INT yDst, INT dxDst, INT dyDst, 1150 LPBITMAPINFOHEADER lpbi, LPVOID lpBits, 1151 INT xSrc, INT ySrc, INT dxSrc, INT dySrc, UINT wFlags); 1152 1153 /* DrawDibDraw flags */ 1154 1155 #define DDF_UPDATE 0x0002 1156 #define DDF_SAME_HDC 0x0004 1157 #define DDF_SAME_DRAW 0x0008 1158 #define DDF_DONTDRAW 0x0010 1159 #define DDF_ANIMATE 0x0020 1160 #define DDF_BUFFER 0x0040 1161 #define DDF_JUSTDRAWIT 0x0080 1162 #define DDF_FULLSCREEN 0x0100 1163 #define DDF_BACKGROUNDPAL 0x0200 1164 #define DDF_NOTKEYFRAME 0x0400 1165 #define DDF_HURRYUP 0x0800 1166 #define DDF_HALFTONE 0x1000 1167 1168 #define DDF_PREROLL DDF_DONTDRAW 1169 #define DDF_SAME_DIB DDF_SAME_DRAW 1170 #define DDF_SAME_SIZE DDF_SAME_DRAW 1171 1172 BOOL VFWAPI DrawDibSetPalette(HDRAWDIB hdd, HPALETTE hpal); 1173 HPALETTE VFWAPI DrawDibGetPalette(HDRAWDIB hdd); 1174 BOOL VFWAPI DrawDibChangePalette(HDRAWDIB hdd, int iStart, int iLen, LPPALETTEENTRY lppe); 1175 LPVOID VFWAPI DrawDibGetBuffer(HDRAWDIB hdd, LPBITMAPINFOHEADER lpbi, DWORD dwSize, DWORD dwFlags); 1176 1177 BOOL VFWAPI DrawDibStart(HDRAWDIB hdd, DWORD rate); 1178 BOOL VFWAPI DrawDibStop(HDRAWDIB hdd); 1179 #define DrawDibUpdate(hdd, hdc, x, y) \ 1180 DrawDibDraw(hdd, hdc, x, y, 0, 0, NULL, NULL, 0, 0, 0, 0, DDF_UPDATE) 1181 1182 BOOL VFWAPI DrawDibEnd(HDRAWDIB hdd); 1183 BOOL VFWAPI DrawDibClose(HDRAWDIB hdd); 1184 1185 /* display profiling */ 1186 #define PD_CAN_DRAW_DIB 0x0001 1187 #define PD_CAN_STRETCHDIB 0x0002 1188 #define PD_STRETCHDIB_1_1_OK 0x0004 1189 #define PD_STRETCHDIB_1_2_OK 0x0008 1190 #define PD_STRETCHDIB_1_N_OK 0x0010 1191 1192 DWORD VFWAPI DrawDibProfileDisplay(LPBITMAPINFOHEADER lpbi); 1193 1194 #ifdef __cplusplus 1195 } 1196 #endif /* __cplusplus */ 845 1197 846 1198 #endif /* __WINE_VFW_H */
Note:
See TracChangeset
for help on using the changeset viewer.