xref: /aosp_15_r20/external/lzma/CPP/7zip/UI/FileManager/MyWindowsNew.h (revision f6dc9357d832569d4d1f5d24eacdb3935a1ae8e6)
1*f6dc9357SAndroid Build Coastguard Worker // MyWindowsNew.h
2*f6dc9357SAndroid Build Coastguard Worker 
3*f6dc9357SAndroid Build Coastguard Worker #ifndef ZIP7_INC_MY_WINDOWS_NEW_H
4*f6dc9357SAndroid Build Coastguard Worker #define ZIP7_INC_MY_WINDOWS_NEW_H
5*f6dc9357SAndroid Build Coastguard Worker 
6*f6dc9357SAndroid Build Coastguard Worker #if defined(__MINGW32__) || defined(__MINGW64__) || defined(__MINGW32_VERSION)
7*f6dc9357SAndroid Build Coastguard Worker #include <shobjidl.h>
8*f6dc9357SAndroid Build Coastguard Worker 
9*f6dc9357SAndroid Build Coastguard Worker #if defined(__MINGW32_VERSION) && !defined(__ITaskbarList3_INTERFACE_DEFINED__)
10*f6dc9357SAndroid Build Coastguard Worker // for old mingw
11*f6dc9357SAndroid Build Coastguard Worker extern "C" {
12*f6dc9357SAndroid Build Coastguard Worker DEFINE_GUID(IID_ITaskbarList3, 0xEA1AFB91, 0x9E28, 0x4B86, 0x90, 0xE9, 0x9E, 0x9F, 0x8A, 0x5E, 0xEF, 0xAF);
13*f6dc9357SAndroid Build Coastguard Worker DEFINE_GUID(CLSID_TaskbarList, 0x56fdf344, 0xfd6d, 0x11d0, 0x95,0x8a, 0x00,0x60,0x97,0xc9,0xa0,0x90);
14*f6dc9357SAndroid Build Coastguard Worker }
15*f6dc9357SAndroid Build Coastguard Worker #endif
16*f6dc9357SAndroid Build Coastguard Worker 
17*f6dc9357SAndroid Build Coastguard Worker #else // is not __MINGW*
18*f6dc9357SAndroid Build Coastguard Worker 
19*f6dc9357SAndroid Build Coastguard Worker #ifndef Z7_OLD_WIN_SDK
20*f6dc9357SAndroid Build Coastguard Worker #include <ShObjIdl.h>
21*f6dc9357SAndroid Build Coastguard Worker #else
22*f6dc9357SAndroid Build Coastguard Worker 
23*f6dc9357SAndroid Build Coastguard Worker #ifndef HIMAGELIST
24*f6dc9357SAndroid Build Coastguard Worker struct _IMAGELIST;
25*f6dc9357SAndroid Build Coastguard Worker typedef struct _IMAGELIST* HIMAGELIST;
26*f6dc9357SAndroid Build Coastguard Worker #endif
27*f6dc9357SAndroid Build Coastguard Worker 
28*f6dc9357SAndroid Build Coastguard Worker #ifndef __ITaskbarList_INTERFACE_DEFINED__
29*f6dc9357SAndroid Build Coastguard Worker #define __ITaskbarList_INTERFACE_DEFINED__
30*f6dc9357SAndroid Build Coastguard Worker DEFINE_GUID(IID_ITaskbarList, 0x56FDF342, 0xFD6D, 0x11d0, 0x95, 0x8A, 0x00, 0x60, 0x97, 0xC9, 0xA0, 0x90);
31*f6dc9357SAndroid Build Coastguard Worker struct ITaskbarList: public IUnknown
32*f6dc9357SAndroid Build Coastguard Worker {
33*f6dc9357SAndroid Build Coastguard Worker   STDMETHOD(HrInit)(void) = 0;
34*f6dc9357SAndroid Build Coastguard Worker   STDMETHOD(AddTab)(HWND hwnd) = 0;
35*f6dc9357SAndroid Build Coastguard Worker   STDMETHOD(DeleteTab)(HWND hwnd) = 0;
36*f6dc9357SAndroid Build Coastguard Worker   STDMETHOD(ActivateTab)(HWND hwnd) = 0;
37*f6dc9357SAndroid Build Coastguard Worker   STDMETHOD(SetActiveAlt)(HWND hwnd) = 0;
38*f6dc9357SAndroid Build Coastguard Worker };
39*f6dc9357SAndroid Build Coastguard Worker #endif // __ITaskbarList_INTERFACE_DEFINED__
40*f6dc9357SAndroid Build Coastguard Worker 
41*f6dc9357SAndroid Build Coastguard Worker #ifndef __ITaskbarList2_INTERFACE_DEFINED__
42*f6dc9357SAndroid Build Coastguard Worker #define __ITaskbarList2_INTERFACE_DEFINED__
43*f6dc9357SAndroid Build Coastguard Worker DEFINE_GUID(IID_ITaskbarList2, 0x602D4995, 0xB13A, 0x429b, 0xA6, 0x6E, 0x19, 0x35, 0xE4, 0x4F, 0x43, 0x17);
44*f6dc9357SAndroid Build Coastguard Worker struct ITaskbarList2: public ITaskbarList
45*f6dc9357SAndroid Build Coastguard Worker {
46*f6dc9357SAndroid Build Coastguard Worker   STDMETHOD(MarkFullscreenWindow)(HWND hwnd, BOOL fFullscreen) = 0;
47*f6dc9357SAndroid Build Coastguard Worker };
48*f6dc9357SAndroid Build Coastguard Worker #endif // __ITaskbarList2_INTERFACE_DEFINED__
49*f6dc9357SAndroid Build Coastguard Worker 
50*f6dc9357SAndroid Build Coastguard Worker #endif // Z7_OLD_WIN_SDK
51*f6dc9357SAndroid Build Coastguard Worker 
52*f6dc9357SAndroid Build Coastguard Worker 
53*f6dc9357SAndroid Build Coastguard Worker #ifndef __ITaskbarList3_INTERFACE_DEFINED__
54*f6dc9357SAndroid Build Coastguard Worker #define __ITaskbarList3_INTERFACE_DEFINED__
55*f6dc9357SAndroid Build Coastguard Worker 
56*f6dc9357SAndroid Build Coastguard Worker typedef enum THUMBBUTTONFLAGS
57*f6dc9357SAndroid Build Coastguard Worker {
58*f6dc9357SAndroid Build Coastguard Worker   THBF_ENABLED = 0,
59*f6dc9357SAndroid Build Coastguard Worker   THBF_DISABLED = 0x1,
60*f6dc9357SAndroid Build Coastguard Worker   THBF_DISMISSONCLICK = 0x2,
61*f6dc9357SAndroid Build Coastguard Worker   THBF_NOBACKGROUND = 0x4,
62*f6dc9357SAndroid Build Coastguard Worker   THBF_HIDDEN = 0x8,
63*f6dc9357SAndroid Build Coastguard Worker   THBF_NONINTERACTIVE = 0x10
64*f6dc9357SAndroid Build Coastguard Worker } THUMBBUTTONFLAGS;
65*f6dc9357SAndroid Build Coastguard Worker 
66*f6dc9357SAndroid Build Coastguard Worker typedef enum THUMBBUTTONMASK
67*f6dc9357SAndroid Build Coastguard Worker {
68*f6dc9357SAndroid Build Coastguard Worker   THB_BITMAP = 0x1,
69*f6dc9357SAndroid Build Coastguard Worker   THB_ICON = 0x2,
70*f6dc9357SAndroid Build Coastguard Worker   THB_TOOLTIP = 0x4,
71*f6dc9357SAndroid Build Coastguard Worker   THB_FLAGS = 0x8
72*f6dc9357SAndroid Build Coastguard Worker } THUMBBUTTONMASK;
73*f6dc9357SAndroid Build Coastguard Worker 
74*f6dc9357SAndroid Build Coastguard Worker // #include <pshpack8.h>
75*f6dc9357SAndroid Build Coastguard Worker 
76*f6dc9357SAndroid Build Coastguard Worker typedef struct THUMBBUTTON
77*f6dc9357SAndroid Build Coastguard Worker {
78*f6dc9357SAndroid Build Coastguard Worker   THUMBBUTTONMASK dwMask;
79*f6dc9357SAndroid Build Coastguard Worker   UINT iId;
80*f6dc9357SAndroid Build Coastguard Worker   UINT iBitmap;
81*f6dc9357SAndroid Build Coastguard Worker   HICON hIcon;
82*f6dc9357SAndroid Build Coastguard Worker   WCHAR szTip[260];
83*f6dc9357SAndroid Build Coastguard Worker   THUMBBUTTONFLAGS dwFlags;
84*f6dc9357SAndroid Build Coastguard Worker } THUMBBUTTON;
85*f6dc9357SAndroid Build Coastguard Worker 
86*f6dc9357SAndroid Build Coastguard Worker typedef struct THUMBBUTTON *LPTHUMBBUTTON;
87*f6dc9357SAndroid Build Coastguard Worker 
88*f6dc9357SAndroid Build Coastguard Worker typedef enum TBPFLAG
89*f6dc9357SAndroid Build Coastguard Worker {
90*f6dc9357SAndroid Build Coastguard Worker   TBPF_NOPROGRESS = 0,
91*f6dc9357SAndroid Build Coastguard Worker   TBPF_INDETERMINATE = 0x1,
92*f6dc9357SAndroid Build Coastguard Worker   TBPF_NORMAL = 0x2,
93*f6dc9357SAndroid Build Coastguard Worker   TBPF_ERROR = 0x4,
94*f6dc9357SAndroid Build Coastguard Worker   TBPF_PAUSED = 0x8
95*f6dc9357SAndroid Build Coastguard Worker } TBPFLAG;
96*f6dc9357SAndroid Build Coastguard Worker 
97*f6dc9357SAndroid Build Coastguard Worker DEFINE_GUID(IID_ITaskbarList3, 0xEA1AFB91, 0x9E28, 0x4B86, 0x90, 0xE9, 0x9E, 0x9F, 0x8A, 0x5E, 0xEF, 0xAF);
98*f6dc9357SAndroid Build Coastguard Worker 
99*f6dc9357SAndroid Build Coastguard Worker struct ITaskbarList3: public ITaskbarList2
100*f6dc9357SAndroid Build Coastguard Worker {
101*f6dc9357SAndroid Build Coastguard Worker   STDMETHOD(SetProgressValue)(HWND hwnd, ULONGLONG ullCompleted, ULONGLONG ullTotal) = 0;
102*f6dc9357SAndroid Build Coastguard Worker   STDMETHOD(SetProgressState)(HWND hwnd, TBPFLAG tbpFlags) = 0;
103*f6dc9357SAndroid Build Coastguard Worker   STDMETHOD(RegisterTab)(HWND hwndTab, HWND hwndMDI) = 0;
104*f6dc9357SAndroid Build Coastguard Worker   STDMETHOD(UnregisterTab)(HWND hwndTab) = 0;
105*f6dc9357SAndroid Build Coastguard Worker   STDMETHOD(SetTabOrder)(HWND hwndTab, HWND hwndInsertBefore) = 0;
106*f6dc9357SAndroid Build Coastguard Worker   STDMETHOD(SetTabActive)(HWND hwndTab, HWND hwndMDI, DWORD dwReserved) = 0;
107*f6dc9357SAndroid Build Coastguard Worker   STDMETHOD(ThumbBarAddButtons)(HWND hwnd, UINT cButtons, LPTHUMBBUTTON pButton) = 0;
108*f6dc9357SAndroid Build Coastguard Worker   STDMETHOD(ThumbBarUpdateButtons)(HWND hwnd, UINT cButtons, LPTHUMBBUTTON pButton) = 0;
109*f6dc9357SAndroid Build Coastguard Worker   STDMETHOD(ThumbBarSetImageList)(HWND hwnd, HIMAGELIST himl) = 0;
110*f6dc9357SAndroid Build Coastguard Worker   STDMETHOD(SetOverlayIcon)(HWND hwnd, HICON hIcon, LPCWSTR pszDescription) = 0;
111*f6dc9357SAndroid Build Coastguard Worker   STDMETHOD(SetThumbnailTooltip)(HWND hwnd, LPCWSTR pszTip) = 0;
112*f6dc9357SAndroid Build Coastguard Worker   STDMETHOD(SetThumbnailClip)(HWND hwnd, RECT *prcClip) = 0;
113*f6dc9357SAndroid Build Coastguard Worker };
114*f6dc9357SAndroid Build Coastguard Worker 
115*f6dc9357SAndroid Build Coastguard Worker #endif // __ITaskbarList3_INTERFACE_DEFINED__
116*f6dc9357SAndroid Build Coastguard Worker 
117*f6dc9357SAndroid Build Coastguard Worker #endif // __MINGW*
118*f6dc9357SAndroid Build Coastguard Worker 
119*f6dc9357SAndroid Build Coastguard Worker #endif
120