2 * Copyright 2004 Jacek Caban
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #ifndef __HTMLHELP_H__
20 #define __HTMLHELP_H__
22 #define HH_DISPLAY_TOPIC 0x00
23 #define HH_HELP_FINDER 0x00
24 #define HH_DISPLAY_TOC 0x01
25 #define HH_DISPLAY_INDEX 0x02
26 #define HH_DISPLAY_SEARCH 0x03
27 #define HH_SET_WIN_TYPE 0x04
28 #define HH_GET_WIN_TYPE 0x05
29 #define HH_GET_WIN_HANDLE 0x06
30 #define HH_ENUM_INFO_TYPE 0x07
31 #define HH_SET_INFO_TYPE 0x08
33 #define HH_RESERVED1 0x0A
34 #define HH_RESERVED2 0x0B
35 #define HH_RESERVED3 0x0C
36 #define HH_KEYWORD_LOOKUP 0x0D
37 #define HH_DISPLAY_TEXT_POPUP 0x0E
38 #define HH_HELP_CONTEXT 0x0F
39 #define HH_TP_HELP_CONTEXTMENU 0x10
40 #define HH_TP_HELP_WM_HELP 0x11
41 #define HH_CLOSE_ALL 0x12
42 #define HH_ALINK_LOOKUP 0x13
43 #define HH_GET_LAST_ERROR 0x14
44 #define HH_ENUM_CATEGORY 0x15
45 #define HH_ENUM_CATEGORY_IT 0x16
46 #define HH_RESET_IT_FILTER 0x17
47 #define HH_SET_INCLUSIVE_FILTER 0x18
48 #define HH_SET_EXCLUSIVE_FILTER 0x19
49 #define HH_INITIALIZE 0x1C
50 #define HH_UNINITIALIZE 0x1D
51 #define HH_PRETRANSLATEMESSAGE 0xFD
52 #define HH_SET_GLOBAL_PROPERTY 0xFC
54 #define HHWIN_PROP_TAB_AUTOHIDESHOW 0x00000001
55 #define HHWIN_PROP_ONTOP 0x00000002
56 #define HHWIN_PROP_NOTITLEBAR 0x00000004
57 #define HHWIN_PROP_NODEF_STYLES 0x00000008
58 #define HHWIN_PROP_NODEF_EXSTYLES 0x00000010
59 #define HHWIN_PROP_TRI_PANE 0x00000020
60 #define HHWIN_PROP_NOTB_TEXT 0x00000040
61 #define HHWIN_PROP_POST_QUIT 0x00000080
62 #define HHWIN_PROP_AUTO_SYNC 0x00000100
63 #define HHWIN_PROP_TRACKING 0x00000200
64 #define HHWIN_PROP_TAB_SEARCH 0x00000400
65 #define HHWIN_PROP_TAB_HISTORY 0x00000800
66 #define HHWIN_PROP_TAB_FAVORITES 0x00001000
67 #define HHWIN_PROP_CHANGE_TITLE 0x00002000
68 #define HHWIN_PROP_NAV_ONLY_WIN 0x00004000
69 #define HHWIN_PROP_NO_TOOLBAR 0x00008000
70 #define HHWIN_PROP_MENU 0x00010000
71 #define HHWIN_PROP_TAB_ADVSEARCH 0x00020000
72 #define HHWIN_PROP_USER_POS 0x00040000
73 #define HHWIN_PROP_TAB_CUSTOM1 0x00080000
74 #define HHWIN_PROP_TAB_CUSTOM2 0x00100000
75 #define HHWIN_PROP_TAB_CUSTOM3 0x00200000
76 #define HHWIN_PROP_TAB_CUSTOM4 0x00400000
77 #define HHWIN_PROP_TAB_CUSTOM5 0x00800000
78 #define HHWIN_PROP_TAB_CUSTOM6 0x01000000
79 #define HHWIN_PROP_TAB_CUSTOM7 0x02000000
80 #define HHWIN_PROP_TAB_CUSTOM8 0x04000000
81 #define HHWIN_PROP_TAB_CUSTOM9 0x08000000
82 #define HHWIN_TB_MARGIN 0x10000000
84 #define HHWIN_PARAM_PROPERTIES 0x00000002
85 #define HHWIN_PARAM_STYLES 0x00000004
86 #define HHWIN_PARAM_EXSTYLES 0x00000008
87 #define HHWIN_PARAM_RECT 0x00000010
88 #define HHWIN_PARAM_NAV_WIDTH 0x00000020
89 #define HHWIN_PARAM_SHOWSTATE 0x00000040
90 #define HHWIN_PARAM_INFOTYPES 0x00000080
91 #define HHWIN_PARAM_TB_FLAGS 0x00000100
92 #define HHWIN_PARAM_EXPANSION 0x00000200
93 #define HHWIN_PARAM_TABPOS 0x00000400
94 #define HHWIN_PARAM_TABORDER 0x00000800
95 #define HHWIN_PARAM_HISTORY_COUNT 0x00001000
96 #define HHWIN_PARAM_CUR_TAB 0x00002000
98 #define HHWIN_BUTTON_EXPAND 0x00000002
99 #define HHWIN_BUTTON_BACK 0x00000004
100 #define HHWIN_BUTTON_FORWARD 0x00000008
101 #define HHWIN_BUTTON_STOP 0x00000010
102 #define HHWIN_BUTTON_REFRESH 0x00000020
103 #define HHWIN_BUTTON_HOME 0x00000040
104 #define HHWIN_BUTTON_BROWSE_FWD 0x00000080
105 #define HHWIN_BUTTON_BROWSE_BCK 0x00000100
106 #define HHWIN_BUTTON_NOTES 0x00000200
107 #define HHWIN_BUTTON_CONTENTS 0x00000400
108 #define HHWIN_BUTTON_SYNC 0x00000800
109 #define HHWIN_BUTTON_OPTIONS 0x00001000
110 #define HHWIN_BUTTON_PRINT 0x00002000
111 #define HHWIN_BUTTON_INDEX 0x00004000
112 #define HHWIN_BUTTON_SEARCH 0x00008000
113 #define HHWIN_BUTTON_HISTORY 0x00010000
114 #define HHWIN_BUTTON_FAVORITES 0x00020000
115 #define HHWIN_BUTTON_JUMP1 0x00040000
116 #define HHWIN_BUTTON_JUMP2 0x00080000
117 #define HHWIN_BUTTON_ZOOM 0x00100000
118 #define HHWIN_BUTTON_TOC_NEXT 0x00200000
119 #define HHWIN_BUTTON_TOC_PREV 0x00400000
121 #define HHWIN_DEF_BUTTONS \
122 (HHWIN_BUTTON_EXPAND | HHWIN_BUTTON_BACK | HHWIN_BUTTON_OPTIONS | HHWIN_BUTTON_PRINT)
124 #define IDTB_EXPAND 200
125 #define IDTB_CONTRACT 201
126 #define IDTB_STOP 202
127 #define IDTB_REFRESH 203
128 #define IDTB_BACK 204
129 #define IDTB_HOME 205
130 #define IDTB_SYNC 206
131 #define IDTB_PRINT 207
132 #define IDTB_OPTIONS 208
133 #define IDTB_FORWARD 209
134 #define IDTB_NOTES 210
135 #define IDTB_BROWSE_FWD 211
136 #define IDTB_BROWSE_BACK 212
137 #define IDTB_CONTENTS 213
138 #define IDTB_INDEX 214
139 #define IDTB_SEARCH 215
140 #define IDTB_HISTORY 216
141 #define IDTB_FAVORITES 217
142 #define IDTB_JUMP1 218
143 #define IDTB_JUMP2 219
144 #define IDTB_CUSTOMIZE 221
145 #define IDTB_ZOOM 222
146 #define IDTB_TOC_NEXT 223
147 #define IDTB_TOC_PREV 224
149 #define HHN_FIRST (0U-860U)
150 #define HHN_LAST (0U-879U)
151 #define HHN_NAVCOMPLETE HHN_FIRST
152 #define HHN_TRACK (HHN_FIRST-1)
153 #define HHN_WINDOW_CREATE (HHN_FIRST-2)
160 typedef struct tagHH_NOTIFY {
165 typedef struct tagHH_POPUPA {
171 COLORREF clrForeground;
172 COLORREF clrBackground;
177 typedef struct tagHH_POPUPW {
183 COLORREF clrForeground;
184 COLORREF clrBackground;
189 DECL_WINELIB_TYPE_AW(HH_POPUP)
191 typedef struct tagHH_ALINKA {
202 typedef struct tagHH_ALINKW {
213 DECL_WINELIB_TYPE_AW(HH_ALINK)
218 HHWIN_NAVTYPE_SEARCH,
219 HHWIN_NAVTYPE_FAVORITES,
220 HHWIN_NAVTYPE_HISTORY,
221 HHWIN_NAVTYPE_AUTHOR,
222 HHWIN_NAVTYPE_CUSTOM_FIRST = 11
231 typedef struct tagHH_ENUM_IT {
236 LPCSTR pszITDescription;
237 } HH_ENUM_IT, *PHH_ENUM_IT;
239 typedef struct tagHH_ENUM_CAT {
242 LPCSTR pszCatDescription;
243 } HH_ENUM_CAT, *PHH_ENUM_CAT;
245 typedef struct tagHH_SET_INFOTYPE {
248 LPCSTR pszInfoTypeName;
251 typedef DWORD HH_INFOTYPE, *PHH_INFOTYPE;
259 #define HH_MAX_TABS 19
268 HH_TAB_CUSTOM_FIRST = 11,
269 HH_TAB_CUSTOM_LAST = HH_MAX_TABS
272 #define HH_MAX_TABS_CUSTOM (HH_TAB_CUSTOM_LAST-HH_TAB_CUSTOM_FIRST+1)
273 #define HH_FTS_DEFAULT_PROXIMITY -1
275 typedef struct tagHH_FTS_QUERYA {
277 BOOL fUniCodeStrings;
278 LPCSTR pszSearchQuery;
286 typedef struct tagHH_FTS_QUERYW {
288 BOOL fUniCodeStrings;
289 LPCWSTR pszSearchQuery;
297 DECL_WINELIB_TYPE_AW(HH_FTS_QUERY)
299 typedef struct tagHH_WINTYPEA {
301 BOOL fUniCodeStrings;
303 DWORD fsValidMembers;
304 DWORD fsWinProperties;
312 PHH_INFOTYPE paInfoTypes;
322 DWORD fsToolBarFlags;
327 BYTE tabOrder[HH_MAX_TABS+1];
335 LPCSTR pszCustomTabs;
336 } HH_WINTYPEA, *PHH_WINTYPEA;
338 typedef struct tagHH_WINTYPEW {
340 BOOL fUniCodeStrings;
342 DWORD fsValidMembers;
343 DWORD fsWinProperties;
351 PHH_INFOTYPE paInfoTypes;
361 DWORD fsToolBarFlags;
366 BYTE tabOrder[HH_MAX_TABS+1];
374 LPCWSTR pszCustomTabs;
375 } HH_WINTYPEW, *PHH_WINTYPEW;
377 DECL_WINELIB_TYPE_AW(HH_WINTYPE)
406 typedef struct tagHH_NTRACKA {
410 PHH_WINTYPEA phhWinType;
413 typedef struct tagHH_NTRACKW {
417 PHH_WINTYPEW phhWinType;
420 DECL_WINELIB_TYPE_AW(HH_NTRACK)
422 HWND WINAPI HtmlHelpA(HWND,LPCSTR,UINT,DWORD);
423 HWND WINAPI HtmlHelpW(HWND,LPCWSTR,UINT,DWORD);
424 #define HtmlHelp WINELIB_NAME_AW(HtmlHelp)
426 #define ATOM_HTMLHELP_API_ANSI (LPTSTR)14
427 #define ATOM_HTMLHELP_API_UNICODE (LPTSTR)15
429 typedef enum tagHH_GPROPID {
430 HH_GPROPID_SINGLETHREAD = 1,
431 HH_GPROPID_TOOLBAR_MARGIN = 2,
432 HH_GPROPID_UI_LANGUAGE = 3,
433 HH_GPROPID_CURRENT_SUBSET = 4,
434 HH_GPROPID_CONTENT_LANGUAGE = 5
437 #ifdef __WIDL_OAIDL_H
439 typedef struct tagHH_GLOBAL_PROPERTY
443 } HH_GLOBAL_PROPERTY ;
445 #endif /* __WIDL_OAIDL_H */
451 #endif /* __HTMLHELP_H__ */