]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/missing.h
Interface updates for Phoenix. Add wxNativeFontInfo.
[wxWidgets.git] / include / wx / msw / missing.h
index 6b2d1cd956e62f8f7de3bccc4f2afca6cbb7630b..f42a31ca1fb9648d3c7c4e5ee3e7c9a42519d4e6 100644 (file)
@@ -563,14 +563,6 @@ typedef enum CommandStateChangeConstants {
 #endif
 
 // For Visual C++ 6 and MinGW32. Used by webview_ie.cpp
-
-#if defined (__MINGW32__) || (_MSC_VER < 1300)
-enum
-{
-    OLECMDID_OPTICAL_ZOOM = 63
-};
-#endif
-
 #ifndef INET_E_INVALID_CERTIFICATE
 #define INET_E_INVALID_CERTIFICATE 0x800C0019L
 #endif
@@ -585,6 +577,130 @@ enum
 
 #ifndef DISPID_NEWWINDOW3
 #define DISPID_NEWWINDOW3 273
+#endif
+
+//We need to check if we are using MinGW which doesn't inlcude the urlmon
+//defintions as opposed to MinGW-64 which does
+
+#ifdef __MINGW32__
+#include <_mingw.h>
+#endif
+
+//Definitions from w64 mingw-runtime package, in the public domain
+//Used by webview
+#if defined(__MINGW32__) && !defined(__MINGW64_VERSION_MAJOR)
+
+EXTERN_C const IID CLSID_FileProtocol;
+
+DEFINE_GUID(IID_IInternetProtocolRoot,0x79eac9e3,0xbaf9,0x11ce,0x8c,0x82,0,0xaa,0,0x4b,0xa9,0xb);
+DEFINE_GUID(IID_IInternetProtocol,0x79eac9e4,0xbaf9,0x11ce,0x8c,0x82,0,0xaa,0,0x4b,0xa9,0xb);
+
+typedef enum __MIDL_IBindStatusCallback_0006 
+{
+    BSCF_FIRSTDATANOTIFICATION = 0x1,
+    BSCF_INTERMEDIATEDATANOTIFICATION = 0x2,
+    BSCF_LASTDATANOTIFICATION = 0x4,
+    BSCF_DATAFULLYAVAILABLE = 0x8,
+    BSCF_AVAILABLEDATASIZEUNKNOWN = 0x10
+}   BSCF;
+
+typedef struct _tagPROTOCOLDATA
+{
+    DWORD grfFlags;
+    DWORD dwState;
+    LPVOID pData;
+    ULONG cbData;
+}   PROTOCOLDATA;
+
+typedef struct _tagBINDINFO
+{
+    ULONG cbSize;
+    LPWSTR szExtraInfo;
+    STGMEDIUM stgmedData;
+    DWORD grfBindInfoF;
+    DWORD dwBindVerb;
+    LPWSTR szCustomVerb;
+    DWORD cbstgmedData;
+    DWORD dwOptions;
+    DWORD dwOptionsFlags;
+    DWORD dwCodePage;
+    SECURITY_ATTRIBUTES securityAttributes;
+    IID iid;
+    IUnknown *pUnk;
+    DWORD dwReserved;
+}   BINDINFO;
+
+
+struct IInternetBindInfo : public IUnknown
+{
+public:
+    virtual HRESULT WINAPI GetBindInfo(DWORD *grfBINDF,BINDINFO *pbindinfo) = 0;
+    virtual HRESULT WINAPI GetBindString(ULONG ulStringType,LPOLESTR *ppwzStr,
+                                         ULONG cEl,ULONG *pcElFetched) = 0;
+};
+
+struct IInternetProtocolSink : public IUnknown
+{
+public:
+    virtual HRESULT WINAPI Switch(PROTOCOLDATA *pProtocolData) = 0;
+    virtual HRESULT WINAPI ReportProgress(ULONG ulStatusCode,
+                                          LPCWSTR szStatusText) = 0;
+    virtual HRESULT WINAPI ReportData(DWORD grfBSCF,ULONG ulProgress,
+                                      ULONG ulProgressMax) = 0;
+    virtual HRESULT WINAPI ReportResult(HRESULT hrResult,DWORD dwError,
+                                        LPCWSTR szResult) = 0;
+};
+
+struct IInternetProtocolRoot : public IUnknown
+{
+public:
+    virtual HRESULT WINAPI Start(LPCWSTR szUrl,IInternetProtocolSink *pOIProtSink,
+                                 IInternetBindInfo *pOIBindInfo,DWORD grfPI,
+                                 HANDLE_PTR dwReserved) = 0;
+    virtual HRESULT WINAPI Continue(PROTOCOLDATA *pProtocolData) = 0;
+    virtual HRESULT WINAPI Abort(HRESULT hrReason,DWORD dwOptions) = 0;
+    virtual HRESULT WINAPI Terminate(DWORD dwOptions) = 0;
+    virtual HRESULT WINAPI Suspend(void) = 0;
+    virtual HRESULT WINAPI Resume(void) = 0;
+};
+
+struct IInternetProtocol : public IInternetProtocolRoot
+{
+public:
+    virtual HRESULT WINAPI Read(void *pv,ULONG cb,ULONG *pcbRead) = 0;
+    virtual HRESULT WINAPI Seek(LARGE_INTEGER dlibMove,DWORD dwOrigin,
+                                ULARGE_INTEGER *plibNewPosition) = 0;
+    virtual HRESULT WINAPI LockRequest(DWORD dwOptions) = 0;
+    virtual HRESULT WINAPI UnlockRequest(void) = 0;
+};
+
+struct IInternetSession : public IUnknown
+{
+  public:
+    virtual HRESULT WINAPI RegisterNameSpace(IClassFactory *pCF,REFCLSID rclsid,
+                                             LPCWSTR pwzProtocol,
+                                             ULONG cPatterns,
+                                             const LPCWSTR *ppwzPatterns,
+                                             DWORD dwReserved) = 0;
+    virtual HRESULT WINAPI UnregisterNameSpace(IClassFactory *pCF,
+                                               LPCWSTR pszProtocol) = 0;
+    virtual HRESULT WINAPI RegisterMimeFilter(IClassFactory *pCF,
+                                              REFCLSID rclsid,
+                                              LPCWSTR pwzType) = 0;
+    virtual HRESULT WINAPI UnregisterMimeFilter(IClassFactory *pCF,
+                                                LPCWSTR pwzType) = 0;
+    virtual HRESULT WINAPI CreateBinding(LPBC pBC,LPCWSTR szUrl,
+                                         IUnknown *pUnkOuter,IUnknown **ppUnk,
+                                         IInternetProtocol **ppOInetProt,
+                                         DWORD dwOption) = 0;
+    virtual HRESULT WINAPI SetSessionOption(DWORD dwOption,LPVOID pBuffer,
+                                            DWORD dwBufferLength,
+                                            DWORD dwReserved) = 0;
+    virtual HRESULT WINAPI GetSessionOption(DWORD dwOption,LPVOID pBuffer,
+                                            DWORD *pdwBufferLength,
+                                            DWORD dwReserved) = 0;
+};
+
 #endif
 
  /*