From c083b2edcf6998dfc98dc04b6171b7811ad4cc9c Mon Sep 17 00:00:00 2001 From: Nikolay Sivov Date: Sun, 9 Oct 2022 20:15:24 +0300 Subject: [PATCH] include: Add IActiveDesktop definition. Signed-off-by: Nikolay Sivov --- include/shlguid.h | 3 ++ include/shlobj.h | 98 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 101 insertions(+) diff --git a/include/shlguid.h b/include/shlguid.h index 687bbec79e9..c6878c36864 100644 --- a/include/shlguid.h +++ b/include/shlguid.h @@ -238,4 +238,7 @@ DEFINE_GUID(BHID_ThumbnailHandler, 0x7B2E650A, 0x8E20, 0x4F4A, 0xB0,0x9E, 0x65,0 DEFINE_GUID(BHID_AssociationArray, 0xBEA9EF17, 0x82F1, 0x4F60, 0x92,0x84, 0x4F,0x8D,0xB7,0x5C,0x3B,0xE9); DEFINE_GUID(BHID_EnumAssocHandlers,0xB8AB0B9C, 0xC2EC, 0x4F7A, 0x91,0x8D, 0x31,0x49,0x00,0xE6,0x28,0x0A); +DEFINE_GUID(CLSID_ActiveDesktop, 0x75048700, 0xef1f, 0x11d0, 0x98, 0x88, 0x00, 0x60, 0x97, 0xde, 0xac, 0xf9); +DEFINE_GUID(IID_IActiveDesktop, 0xf490eb00, 0x1240, 0x11d1, 0x98, 0x88, 0x00, 0x60, 0x97, 0xde, 0xac, 0xf9); + #endif /* __WINE_SHLGUID_H */ diff --git a/include/shlobj.h b/include/shlobj.h index 8d6eab85eb6..feee6cd9b98 100644 --- a/include/shlobj.h +++ b/include/shlobj.h @@ -754,6 +754,104 @@ DECLARE_INTERFACE_(IProgressDialog,IUnknown) #define IProgressDialog_Timer(p,a,b) (p)->lpVtbl->Timer(p,a,b) #endif +#ifdef _WININET_ + +typedef struct _tagWALLPAPEROPT +{ + DWORD dwSize; + DWORD dwStyle; +} WALLPAPEROPT, *LPWALLPAPEROPT; + +typedef const WALLPAPEROPT *LPCWALLPAPEROPT; + +typedef struct _tagCOMPPOS +{ + DWORD dwSize; + int iLeft; + int iTop; + DWORD dwWidth; + DWORD dwHeight; + int izIndex; + BOOL fCanResize; + BOOL fCanResizeX; + BOOL fCanResizeY; + int iPreferredLeftPercent; + int iPreferredTopPercent; +} COMPPOS, *LPCOMPPOS; + +typedef const COMPPOS *LPCCOMPPOS; + +typedef struct _tagCOMPSTATEINFO +{ + DWORD dwSize; + int iLeft; + int iTop; + DWORD dwWidth; + DWORD dwHeight; + DWORD dwItemState; +} COMPSTATEINFO, *LPCOMPSTATEINFO; + +typedef const COMPSTATEINFO *LPCCOMPSTATEINFO; + +typedef struct _tagCOMPONENT +{ + DWORD dwSize; + DWORD dwID; + int iComponentType; + BOOL fChecked; + BOOL fDirty; + BOOL fNoScroll; + COMPPOS cpPos; + WCHAR wszFriendlyName[MAX_PATH]; + WCHAR wszSource[INTERNET_MAX_URL_LENGTH]; + WCHAR wszSubscribedURL[INTERNET_MAX_URL_LENGTH]; + DWORD dwCurItemState; + COMPSTATEINFO csiOriginal; + COMPSTATEINFO csiRestored; +} COMPONENT, *LPCOMPONENT; + +typedef const COMPONENT *LPCCOMPONENT; + +typedef struct _tagCOMPONENTSOPT +{ + DWORD dwSize; + BOOL fEnableComponents; + BOOL fActiveDesktop; +} COMPONENTSOPT, *LPCOMPONENTSOPT; + +typedef const COMPONENTSOPT *LPCCOMPONENTSOPT; + +#define INTERFACE IActiveDesktop +DECLARE_INTERFACE_(IActiveDesktop, IUnknown) +{ + /*** IUnknown methods ***/ + STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **obj) PURE; + STDMETHOD_(ULONG, AddRef)(THIS) PURE; + STDMETHOD_(ULONG, Release)(THIS) PURE; + /*** IActiveDesktop ***/ + STDMETHOD(ApplyChanges)(THIS_ DWORD flags) PURE; + STDMETHOD(GetWallpaper)(THIS_ PWSTR wallpaper, UINT length, DWORD flags) PURE; + STDMETHOD(SetWallpaper)(THIS_ PCWSTR wallpaper, DWORD reserved) PURE; + STDMETHOD(GetWallpaperOptions)(THIS_ LPWALLPAPEROPT options, DWORD reserved) PURE; + STDMETHOD(SetWallpaperOptions)(THIS_ LPCWALLPAPEROPT options, DWORD reserved) PURE; + STDMETHOD(GetPattern)(THIS_ PWSTR pattern, UINT length, DWORD reserved) PURE; + STDMETHOD(SetPattern)(THIS_ PCWSTR pattern, DWORD reserved) PURE; + STDMETHOD(GetDesktopItemOptions)(THIS_ LPCOMPONENTSOPT options, DWORD reserved) PURE; + STDMETHOD(SetDesktopItemOptions)(THIS_ LPCCOMPONENTSOPT options, DWORD reserved) PURE; + STDMETHOD(AddDesktopItem)(THIS_ LPCCOMPONENT component, DWORD reserved) PURE; + STDMETHOD(AddDesktopItemWithUI)(THIS_ HWND hwnd, LPCOMPONENT component, DWORD reserved) PURE; + STDMETHOD(ModifyDesktopItem)(THIS_ LPCCOMPONENT component, DWORD flags) PURE; + STDMETHOD(RemoveDesktopItem)(THIS_ LPCCOMPONENT component, DWORD reserved) PURE; + STDMETHOD(GetDesktopItemCount)(THIS_ int *count, DWORD reserved) PURE; + STDMETHOD(GetDesktopItem)(THIS_ int index, LPCOMPONENT component, DWORD reserved) PURE; + STDMETHOD(GetDesktopItemByID)(THIS_ ULONG_PTR id, LPCOMPONENT component, DWORD reserved) PURE; + STDMETHOD(GenerateDesktopItemHtml)(THIS_ PCWSTR filename, LPCOMPONENT component, DWORD reserved) PURE; + STDMETHOD(AddUrl)(THIS_ HWND hwnd, PCWSTR source, LPCOMPONENT component, DWORD flags) PURE; + STDMETHOD(GetDesktopItemBySource)(THIS_ PCWSTR source, LPCOMPONENT component, DWORD reserved) PURE; +}; +#undef INTERFACE + +#endif /* _WININET_ */ /**************************************************************************** * SHAddToRecentDocs API