- Define HIC in this header rather than in windef.h (this is the
correct thing to do although it is unrelated to the C++ issues).
- WINE_HIC is an internal structure and it won't compile in C++ because
it contains a field called 'private'. Enclosed in a __WINE__ ifdef.
- Reordered the CALLBACK and WINAPI directives so that it compiles with
old g++ versions.
diff --git a/include/vfw.h b/include/vfw.h
index 747a547..4d1b50d 100644
--- a/include/vfw.h
+++ b/include/vfw.h
@@ -34,6 +34,9 @@
/* Installable Compressor M? */
+DECLARE_HANDLE(HIC);
+
+#ifdef __WINE__
/* HIC struct (same layout as Win95 one) */
typedef struct tagWINE_HIC {
DWORD magic; /* 00: 'Smag' */
@@ -48,6 +51,7 @@
DWORD x3; /* 22: */
/* 26: */
} WINE_HIC;
+#endif
/* error return codes */
#define ICERR_OK 0
@@ -231,8 +235,8 @@
DWORD dwScale;
DWORD dwOverheadPerFrame;
DWORD dwReserved2;
- LONG (CALLBACK *GetData)(LPARAM lInput,LONG lFrame,LPVOID lpBits,LONG len);
- LONG (CALLBACK *PutData)(LPARAM lOutput,LONG lFrame,LPVOID lpBits,LONG len);
+ LONG CALLBACK (*GetData)(LPARAM lInput,LONG lFrame,LPVOID lpBits,LONG len);
+ LONG CALLBACK (*PutData)(LPARAM lOutput,LONG lFrame,LPVOID lpBits,LONG len);
} ICCOMPRESSFRAMES;
/* Values for wMode of ICOpen() */