Avoid some non-standard str functions.
[wine.git] / include / htmlhelp.h
blobc640ba6db8dc97fe4c8736b326e1646e347c0941
1 /*
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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 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
32 #define HH_SYNC 0x09
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)
156 #ifdef __cplusplus
157 extern "C" {
158 #endif
160 typedef struct tagHH_NOTIFY {
161 NMHDR hdr;
162 PCSTR pszurl;
163 } HH_NOTIFY;
165 typedef struct tagHH_POPUPA {
166 int cbStruct;
167 HINSTANCE hinst;
168 UINT idString;
169 LPCSTR pszText;
170 POINT pt;
171 COLORREF clrForeground;
172 COLORREF clrBackground;
173 RECT rcMargins;
174 LPCSTR pszFont;
175 } HH_POPUPA;
177 typedef struct tagHH_POPUPW {
178 int cbStruct;
179 HINSTANCE hinst;
180 UINT idString;
181 LPCWSTR pszText;
182 POINT pt;
183 COLORREF clrForeground;
184 COLORREF clrBackground;
185 RECT rcMargins;
186 LPCWSTR pszFont;
187 } HH_POPUPW;
189 DECL_WINELIB_TYPE_AW(HH_POPUP)
191 typedef struct tagHH_ALINKA {
192 int cbStruct;
193 BOOL fReserved;
194 LPCSTR pszKeywords;
195 LPCSTR pszUrl;
196 LPCSTR pszMsgText;
197 LPCSTR pszMsgTitle;
198 LPCSTR pszWindow;
199 BOOL fIndexOnFail;
200 } HH_ALINKA;
202 typedef struct tagHH_ALINKW {
203 int cbStruct;
204 BOOL fReserved;
205 LPCWSTR pszKeywords;
206 LPCWSTR pszUrl;
207 LPCWSTR pszMsgText;
208 LPCWSTR pszMsgTitle;
209 LPCWSTR pszWindow;
210 BOOL fIndexOnFail;
211 } HH_ALINKW;
213 DECL_WINELIB_TYPE_AW(HH_ALINK)
215 enum {
216 HHWIN_NAVTYPE_TOC,
217 HHWIN_NAVTYPE_INDEX,
218 HHWIN_NAVTYPE_SEARCH,
219 HHWIN_NAVTYPE_FAVORITES,
220 HHWIN_NAVTYPE_HISTORY,
221 HHWIN_NAVTYPE_AUTHOR,
222 HHWIN_NAVTYPE_CUSTOM_FIRST = 11
225 enum {
226 IT_INCLUSIVE,
227 IT_EXCLUSIVE,
228 IT_HIDDEN
231 typedef struct tagHH_ENUM_IT {
232 int cbStruct;
233 int iType;
234 LPCSTR pszCatName;
235 LPCSTR pszITName;
236 LPCSTR pszITDescription;
237 } HH_ENUM_IT, *PHH_ENUM_IT;
239 typedef struct tagHH_ENUM_CAT {
240 int cbStruct;
241 LPCSTR pszCatName;
242 LPCSTR pszCatDescription;
243 } HH_ENUM_CAT, *PHH_ENUM_CAT;
245 typedef struct tagHH_SET_INFOTYPE {
246 int cbStruct;
247 LPCSTR pszCatName;
248 LPCSTR pszInfoTypeName;
249 } HH_SET_INFOTYPE;
251 typedef DWORD HH_INFOTYPE, *PHH_INFOTYPE;
253 enum {
254 HHWIN_NAVTAB_TOP,
255 HHWIN_NAVTAB_LEFT,
256 HHWIN_NAVTAB_BOTTOM
259 #define HH_MAX_TABS 19
261 enum {
262 HH_TAB_CONTENTS,
263 HH_TAB_INDEX,
264 HH_TAB_SEARCH,
265 HH_TAB_FAVORITES,
266 HH_TAB_HISTORY,
267 HH_TAB_AUTHOR,
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 {
276 int cbStruct;
277 BOOL fUniCodeStrings;
278 LPCSTR pszSearchQuery;
279 LONG iProximity;
280 BOOL fStemmedSearch;
281 BOOL fTitleOnly;
282 BOOL fExecute;
283 LPCSTR pszWindow;
284 } HH_FTS_QUERYA;
286 typedef struct tagHH_FTS_QUERYW {
287 int cbStruct;
288 BOOL fUniCodeStrings;
289 LPCWSTR pszSearchQuery;
290 LONG iProximity;
291 BOOL fStemmedSearch;
292 BOOL fTitleOnly;
293 BOOL fExecute;
294 LPCWSTR pszWindow;
295 } HH_FTS_QUERYW;
297 DECL_WINELIB_TYPE_AW(HH_FTS_QUERY)
299 typedef struct tagHH_WINTYPEA {
300 int cbStruct;
301 BOOL fUniCodeStrings;
302 LPCSTR pszType;
303 DWORD fsValidMembers;
304 DWORD fsWinProperties;
305 LPCSTR pszCaption;
306 DWORD dwStyles;
307 DWORD dwExStyles;
308 RECT rcWindowPos;
309 int nShowState;
310 HWND hwndHelp;
311 HWND hwndCaller;
312 PHH_INFOTYPE paInfoTypes;
313 HWND hwndToolBar;
314 HWND hwndNavigation;
315 HWND hwndHTML;
316 int iNavWidth;
317 RECT rcHTML;
318 LPCSTR pszToc;
319 LPCSTR pszIndex;
320 LPCSTR pszFile;
321 LPCSTR pszHome;
322 DWORD fsToolBarFlags;
323 BOOL fNotExpanded;
324 int curNavType;
325 int tabpos;
326 int idNotify;
327 BYTE tabOrder[HH_MAX_TABS+1];
328 int cHistory;
329 LPCSTR pszJump1;
330 LPCSTR pszJump2;
331 LPCSTR pszUrlJump1;
332 LPCSTR pszUrlJump2;
333 RECT rcMinSize;
334 int cbInfoTypes;
335 LPCSTR pszCustomTabs;
336 } HH_WINTYPEA, *PHH_WINTYPEA;
338 typedef struct tagHH_WINTYPEW {
339 int cbStruct;
340 BOOL fUniCodeStrings;
341 LPCWSTR pszType;
342 DWORD fsValidMembers;
343 DWORD fsWinProperties;
344 LPCWSTR pszCaption;
345 DWORD dwStyles;
346 DWORD dwExStyles;
347 RECT rcWindowPos;
348 int nShowState;
349 HWND hwndHelp;
350 HWND hwndCaller;
351 PHH_INFOTYPE paInfoTypes;
352 HWND hwndToolBar;
353 HWND hwndNavigation;
354 HWND hwndHTML;
355 int iNavWidth;
356 RECT rcHTML;
357 LPCWSTR pszToc;
358 LPCWSTR pszIndex;
359 LPCWSTR pszFile;
360 LPCWSTR pszHome;
361 DWORD fsToolBarFlags;
362 BOOL fNotExpanded;
363 int curNavType;
364 int tabpos;
365 int idNotify;
366 BYTE tabOrder[HH_MAX_TABS+1];
367 int cHistory;
368 LPCWSTR pszJump1;
369 LPCWSTR pszJump2;
370 LPCWSTR pszUrlJump1;
371 LPCWSTR pszUrlJump2;
372 RECT rcMinSize;
373 int cbInfoTypes;
374 LPCWSTR pszCustomTabs;
375 } HH_WINTYPEW, *PHH_WINTYPEW;
377 DECL_WINELIB_TYPE_AW(HH_WINTYPE)
379 enum {
380 HHACT_TAB_CONTENTS,
381 HHACT_TAB_INDEX,
382 HHACT_TAB_SEARCH,
383 HHACT_TAB_HISTORY,
384 HHACT_TAB_FAVORITES,
385 HHACT_EXPAND,
386 HHACT_CONTRACT,
387 HHACT_BACK,
388 HHACT_FORWARD,
389 HHACT_STOP,
390 HHACT_REFRESH,
391 HHACT_HOME,
392 HHACT_SYNC,
393 HHACT_OPTIONS,
394 HHACT_PRINT,
395 HHACT_HIGHLIGHT,
396 HHACT_CUSTOMIZE,
397 HHACT_JUMP1,
398 HHACT_JUMP2,
399 HHACT_ZOOM,
400 HHACT_TOC_NEXT,
401 HHACT_TOC_PREV,
402 HHACT_NOTES,
403 HHACT_LAST_ENUM
406 typedef struct tagHH_NTRACKA {
407 NMHDR hdr;
408 PCSTR pszCurUrl;
409 int idAction;
410 PHH_WINTYPEA phhWinType;
411 } HH_NTRACKA;
413 typedef struct tagHH_NTRACKW {
414 NMHDR hdr;
415 PCSTR pszCurUrl;
416 int idAction;
417 PHH_WINTYPEW phhWinType;
418 } HH_NTRACKW;
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
435 } HH_GPROPID;
437 #ifdef __WIDL_OAIDL_H
439 typedef struct tagHH_GLOBAL_PROPERTY
441 HH_GPROPID id;
442 VARIANT var;
443 } HH_GLOBAL_PROPERTY ;
445 #endif /* __WIDL_OAIDL_H */
447 #ifdef __cplusplus
449 #endif
451 #endif /* __HTMLHELP_H__ */