[PATCH] include: update thumbcache.idl file
Biswapriyo Nath
nathbappai at gmail.com
Wed Jan 22 06:52:55 CST 2020
-------------- next part --------------
From 9e445c4e40171b74b74206248e53cca8fbcf55f6 Mon Sep 17 00:00:00 2001
From: Biswapriyo Nath <nathbappai at gmail.com>
Date: Thu, 22 Jan 2019 07:00:00 +0530
Subject: [PATCH] include: update thumbcache.idl file
Signed-off-by: Biswapriyo Nath <nathbappai at gmail.com>
---
include/thumbcache.idl | 137 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 137 insertions(+)
diff --git a/include/thumbcache.idl b/include/thumbcache.idl
index f79d879..38cf23d 100644
--- a/include/thumbcache.idl
+++ b/include/thumbcache.idl
@@ -18,6 +18,7 @@
import "oaidl.idl";
import "shtypes.idl";
+import "shobjidl.idl";
typedef [v1_enum] enum WTS_FLAGS
{
@@ -40,9 +41,145 @@ typedef [v1_enum] enum WTS_FLAGS
WTS_SCALEUP = 0x00010000,
} WTS_FLAGS;
+cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(WTS_FLAGS)")
+
+typedef [v1_enum] enum WTS_CACHEFLAGS
+{
+ WTS_DEFAULT = 0x00000000,
+ WTS_LOWQUALITY = 0x00000001,
+ WTS_CACHED = 0x00000002,
+} WTS_CACHEFLAGS;
+
+cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(WTS_CACHEFLAGS)")
+
+typedef [v1_enum] enum WTS_CONTEXTFLAGS
+{
+ WTSCF_DEFAULT = 0x00000000,
+ WTSCF_APPSTYLE = 0x00000001,
+ WTSCF_SQUARE = 0x00000002,
+ WTSCF_WIDE = 0x00000004,
+ WTSCF_FAST = 0x00000008,
+} WTS_CONTEXTFLAGS;
+
+cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(WTS_CONTEXTFLAGS)")
+
typedef [v1_enum] enum WTS_ALPHATYPE
{
WTSAT_UNKNOWN = 0,
WTSAT_RGB = 1,
WTSAT_ARGB = 2
} WTS_ALPHATYPE;
+
+typedef struct WTS_THUMBNAILID
+{
+ BYTE rgbKey[16];
+} WTS_THUMBNAILID;
+
+
+cpp_quote("#define WTS_E_FAILEDEXTRACTION MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xb200)")
+cpp_quote("#define WTS_E_EXTRACTIONTIMEDOUT MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xb201)")
+cpp_quote("#define WTS_E_SURROGATEUNAVAILABLE MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xb202)")
+cpp_quote("#define WTS_E_FASTEXTRACTIONNOTSUPPORTED MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xb203)")
+cpp_quote("#define WTS_E_DATAFILEUNAVAILABLE MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xb204)")
+cpp_quote("#define WTS_E_EXTRACTIONPENDING MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xb205)")
+cpp_quote("#define WTS_E_EXTRACTIONBLOCKED MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xb206)")
+
+[
+ uuid(091162a4-bc96-411f-aae8-c5122cd03363),
+ pointer_default(unique),
+]
+interface ISharedBitmap : IUnknown
+{
+ HRESULT GetSharedBitmap([out] HBITMAP *phbm);
+ HRESULT GetSize([out] SIZE *pSize);
+ HRESULT GetFormat([out] WTS_ALPHATYPE *pat);
+ HRESULT InitializeBitmap([in] HBITMAP hbm, [in] WTS_ALPHATYPE wtsAT);
+ HRESULT Detach([out] HBITMAP *phbm);
+}
+
+[
+ object,
+ uuid(f676c15d-596a-4ce2-8234-33996f445db1),
+]
+interface IThumbnailCache : IUnknown
+{
+ [local]
+ HRESULT GetThumbnail([in] IShellItem *pShellItem,
+ [in] UINT cxyRequestedThumbSize,
+ [in] WTS_FLAGS flags,
+ [out, unique] ISharedBitmap **ppvThumb,
+ [out, unique] WTS_CACHEFLAGS *pOutFlags,
+ [out, unique] WTS_THUMBNAILID *pThumbnailID);
+
+ [call_as(GetThumbnail)]
+ HRESULT RemoteGetThumbnail([in] IShellItem *pShellItem,
+ [in] UINT cxyRequestedThumbSize,
+ [in] WTS_FLAGS flags,
+ [out] ISharedBitmap **ppvThumb,
+ [out] WTS_CACHEFLAGS *pOutFlags,
+ [out] WTS_THUMBNAILID *pThumbnailID);
+
+ [local]
+ HRESULT GetThumbnailByID([in] WTS_THUMBNAILID thumbnailID,
+ [in] UINT cxyRequestedThumbSize,
+ [out, unique] ISharedBitmap **ppvThumb,
+ [out, unique] WTS_CACHEFLAGS *pOutFlags);
+
+ [call_as(GetThumbnailByID)]
+ HRESULT RemoteGetThumbnailByID([in] WTS_THUMBNAILID thumbnailID,
+ [in] UINT cxyRequestedThumbSize,
+ [out] ISharedBitmap **ppvThumb,
+ [out] WTS_CACHEFLAGS *pOutFlags);
+}
+
+[
+ uuid(e357fccd-a995-4576-b01f-234630154e96),
+]
+interface IThumbnailProvider : IUnknown
+{
+ HRESULT GetThumbnail([in] UINT cx,
+ [out] HBITMAP *phbmp,
+ [out] WTS_ALPHATYPE *pdwAlpha);
+}
+
+[
+ uuid(f4376f00-bef5-4d45-80f3-1e023bbf1209),
+]
+interface IThumbnailSettings : IUnknown
+{
+ HRESULT SetContext([in] WTS_CONTEXTFLAGS dwContext);
+}
+
+[
+ uuid(0f03f8fe-2b26-46f0-965a-212aa8d66b76),
+ object,
+ pointer_default(unique)
+]
+interface IThumbnailCachePrimer : IUnknown
+{
+ HRESULT PageInThumbnail([in] IShellItem *psi,
+ [in] WTS_FLAGS wtsFlags,
+ [in] UINT cxyRequestedThumbSize);
+}
+
+[
+ uuid(4c857096-0514-4d4d-abd5-dfaaa3c326d2)
+]
+library ThumbCacheLib
+{
+ [
+ uuid(50ef4544-ac9f-4a8e-b21b-8a26180db13f)
+ ]
+ coclass LocalThumbnailCache
+ {
+ interface IThumbnailCache;
+ }
+
+ [
+ uuid(4db26476-6787-4046-b836-e8412a9e8a27)
+ ]
+ coclass SharedBitmap
+ {
+ interface ISharedBitmap;
+ }
+}
--
2.24.0
More information about the wine-devel
mailing list