|
|
@@ -1,187 +0,0 @@ |
|
|
|
/* Copyright (C) 2011 TigerVNC Team. All Rights Reserved. |
|
|
|
* |
|
|
|
* This is free software; you can redistribute it and/or modify |
|
|
|
* it under the terms of the GNU General Public License as published by |
|
|
|
* the Free Software Foundation; either version 2 of the License, or |
|
|
|
* (at your option) any later version. |
|
|
|
* |
|
|
|
* This software is distributed in the hope that it will be useful, |
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
|
|
* GNU General Public License for more details. |
|
|
|
* |
|
|
|
* You should have received a copy of the GNU General Public License |
|
|
|
* along with this software; if not, write to the Free Software |
|
|
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
|
|
|
* USA. |
|
|
|
*/ |
|
|
|
|
|
|
|
#ifndef OS_W32TIGER_H |
|
|
|
#define OS_W32TIGER_H |
|
|
|
|
|
|
|
#ifdef WIN32 |
|
|
|
|
|
|
|
#include <windows.h> |
|
|
|
#include <wininet.h> |
|
|
|
#include <shlobj.h> |
|
|
|
#include <shlguid.h> |
|
|
|
#include <wininet.h> |
|
|
|
|
|
|
|
|
|
|
|
/* Windows has different names for these */ |
|
|
|
#define strcasecmp _stricmp |
|
|
|
#define strncasecmp _strnicmp |
|
|
|
|
|
|
|
|
|
|
|
/* MSLLHOOKSTRUCT structure*/ |
|
|
|
#ifndef LLMHF_INJECTED |
|
|
|
#define LLMHF_INJECTED 0x00000001 |
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
/* IActiveDesktop. As of 2011-10-12, MinGW does not define |
|
|
|
IActiveDesktop in any way (see tracker 2877129), while MinGW64 is |
|
|
|
broken: has the headers but not the lib symbols. */ |
|
|
|
#ifndef HAVE_ACTIVE_DESKTOP_H |
|
|
|
extern const GUID CLSID_ActiveDesktop; |
|
|
|
extern const GUID IID_IActiveDesktop; |
|
|
|
|
|
|
|
/* IActiveDesktop::AddUrl */ |
|
|
|
#define ADDURL_SILENT 0x0001 |
|
|
|
|
|
|
|
/* IActiveDesktop::AddDesktopItemWithUI */ |
|
|
|
#define DTI_ADDUI_DEFAULT 0x00000000 |
|
|
|
#define DTI_ADDUI_DISPSUBWIZARD 0x00000001 |
|
|
|
#define DTI_ADDUI_POSITIONITEM 0x00000002 |
|
|
|
|
|
|
|
/* IActiveDesktop::ModifyDesktopItem */ |
|
|
|
#define COMP_ELEM_TYPE 0x00000001 |
|
|
|
#define COMP_ELEM_CHECKED 0x00000002 |
|
|
|
#define COMP_ELEM_DIRTY 0x00000004 |
|
|
|
#define COMP_ELEM_NOSCROLL 0x00000008 |
|
|
|
#define COMP_ELEM_POS_LEFT 0x00000010 |
|
|
|
#define COMP_ELEM_POS_TOP 0x00000020 |
|
|
|
#define COMP_ELEM_SIZE_WIDTH 0x00000040 |
|
|
|
#define COMP_ELEM_SIZE_HEIGHT 0x00000080 |
|
|
|
#define COMP_ELEM_POS_ZINDEX 0x00000100 |
|
|
|
#define COMP_ELEM_SOURCE 0x00000200 |
|
|
|
#define COMP_ELEM_FRIENDLYNAME 0x00000400 |
|
|
|
#define COMP_ELEM_SUBSCRIBEDURL 0x00000800 |
|
|
|
#define COMP_ELEM_ORIGINAL_CSI 0x00001000 |
|
|
|
#define COMP_ELEM_RESTORED_CSI 0x00002000 |
|
|
|
#define COMP_ELEM_CURITEMSTATE 0x00004000 |
|
|
|
#define COMP_ELEM_ALL 0x00007FFF /* OR-ed all COMP_ELEM_ */ |
|
|
|
|
|
|
|
/* IActiveDesktop::GetWallpaper */ |
|
|
|
#define AD_GETWP_BMP 0x00000000 |
|
|
|
#define AD_GETWP_IMAGE 0x00000001 |
|
|
|
#define AD_GETWP_LAST_APPLIED 0x00000002 |
|
|
|
|
|
|
|
/* IActiveDesktop::ApplyChanges */ |
|
|
|
#define AD_APPLY_SAVE 0x00000001 |
|
|
|
#define AD_APPLY_HTMLGEN 0x00000002 |
|
|
|
#define AD_APPLY_REFRESH 0x00000004 |
|
|
|
#define AD_APPLY_ALL 0x00000007 /* OR-ed three AD_APPLY_ above */ |
|
|
|
#define AD_APPLY_FORCE 0x00000008 |
|
|
|
#define AD_APPLY_BUFFERED_REFRESH 0x00000010 |
|
|
|
#define AD_APPLY_DYNAMICREFRESH 0x00000020 |
|
|
|
|
|
|
|
/* Structures for IActiveDesktop */ |
|
|
|
typedef struct { |
|
|
|
DWORD dwSize; |
|
|
|
int iLeft; |
|
|
|
int iTop; |
|
|
|
DWORD dwWidth; |
|
|
|
DWORD dwHeight; |
|
|
|
DWORD dwItemState; |
|
|
|
} COMPSTATEINFO, *LPCOMPSTATEINFO; |
|
|
|
typedef const COMPSTATEINFO *LPCCOMPSTATEINFO; |
|
|
|
|
|
|
|
typedef struct { |
|
|
|
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 { |
|
|
|
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 { |
|
|
|
DWORD dwSize; |
|
|
|
BOOL fEnableComponents; |
|
|
|
BOOL fActiveDesktop; |
|
|
|
} COMPONENTSOPT, *LPCOMPONENTSOPT; |
|
|
|
typedef const COMPONENTSOPT *LPCCOMPONENTSOPT; |
|
|
|
|
|
|
|
typedef struct { |
|
|
|
DWORD dwSize; |
|
|
|
DWORD dwStyle; |
|
|
|
} WALLPAPEROPT, *LPWALLPAPEROPT; |
|
|
|
typedef const WALLPAPEROPT *LPCWALLPAPEROPT; |
|
|
|
|
|
|
|
/* WALLPAPEROPT styles */ |
|
|
|
#define WPSTYLE_CENTER 0x0 |
|
|
|
#define WPSTYLE_TILE 0x1 |
|
|
|
#define WPSTYLE_STRETCH 0x2 |
|
|
|
#define WPSTYLE_MAX 0x3 |
|
|
|
|
|
|
|
/* Those two are defined in Windows 7 and newer, we don't need them now */ |
|
|
|
#if 0 |
|
|
|
#define WPSTYLE_KEEPASPECT 0x3 |
|
|
|
#define WPSTYLE_CROPTOFIT 0x4 |
|
|
|
#endif |
|
|
|
|
|
|
|
#define INTERFACE IActiveDesktop |
|
|
|
DECLARE_INTERFACE_(IActiveDesktop, IUnknown) |
|
|
|
{ |
|
|
|
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; |
|
|
|
STDMETHOD_(ULONG,AddRef)(THIS) PURE; |
|
|
|
STDMETHOD_(ULONG,Release)(THIS) PURE; |
|
|
|
STDMETHOD(AddDesktopItem)(THIS_ LPCOMPONENT,DWORD) PURE; |
|
|
|
STDMETHOD(AddDesktopItemWithUI)(THIS_ HWND,LPCOMPONENT,DWORD) PURE; |
|
|
|
STDMETHOD(AddUrl)(THIS_ HWND,LPCWSTR,LPCOMPONENT,DWORD) PURE; |
|
|
|
STDMETHOD(ApplyChanges)(THIS_ DWORD) PURE; |
|
|
|
STDMETHOD(GenerateDesktopItemHtml)(THIS_ LPCWSTR,LPCOMPONENT,DWORD) PURE; |
|
|
|
STDMETHOD(GetDesktopItem)(THIS_ int,LPCOMPONENT,DWORD) PURE; |
|
|
|
STDMETHOD(GetDesktopItemByID)(THIS_ DWORD,LPCOMPONENT,DWORD) PURE; |
|
|
|
STDMETHOD(GetDesktopItemBySource)(THIS_ LPCWSTR,LPCOMPONENT,DWORD) PURE; |
|
|
|
STDMETHOD(GetDesktopItemCount)(THIS_ LPINT,DWORD) PURE; |
|
|
|
STDMETHOD(GetDesktopItemOptions)(THIS_ LPCOMPONENTSOPT,DWORD) PURE; |
|
|
|
STDMETHOD(GetPattern)(THIS_ LPWSTR,UINT,DWORD) PURE; |
|
|
|
STDMETHOD(GetWallpaper)(THIS_ LPWSTR,UINT,DWORD) PURE; |
|
|
|
STDMETHOD(GetWallpaperOptions)(THIS_ LPWALLPAPEROPT,DWORD) PURE; |
|
|
|
STDMETHOD(ModifyDesktopItem)(THIS_ LPCCOMPONENT,DWORD) PURE; |
|
|
|
STDMETHOD(RemoveDesktopItem)(THIS_ LPCCOMPONENT,DWORD) PURE; |
|
|
|
STDMETHOD(SetDesktopItemOptions)(THIS_ LPCCOMPONENTSOPT,DWORD) PURE; |
|
|
|
STDMETHOD(SetPattern)(THIS_ LPCWSTR,DWORD) PURE; |
|
|
|
STDMETHOD(SetWallpaper)(THIS_ LPCWSTR,DWORD) PURE; |
|
|
|
STDMETHOD(SetWallpaperOptions)(THIS_ LPCWALLPAPEROPT,DWORD) PURE; |
|
|
|
}; |
|
|
|
#undef INTERFACE |
|
|
|
#endif /* HAVE_ACTIVE_DESKTOP_H */ |
|
|
|
|
|
|
|
#endif /* WIN32 */ |
|
|
|
#endif /* OS_W32TIGER_H */ |