Reactos
at master 452 lines 13 kB view raw
1/* 2 * Copyright 2004 Jacek Caban 3 * 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. 8 * 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. 13 * 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 17 */ 18 19#ifndef __HTMLHELP_H__ 20#define __HTMLHELP_H__ 21 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_SAFE_DISPLAY_TOPIC 0x20 52#define HH_PRETRANSLATEMESSAGE 0xFD 53#define HH_SET_GLOBAL_PROPERTY 0xFC 54 55#define HHWIN_PROP_TAB_AUTOHIDESHOW 0x00000001 56#define HHWIN_PROP_ONTOP 0x00000002 57#define HHWIN_PROP_NOTITLEBAR 0x00000004 58#define HHWIN_PROP_NODEF_STYLES 0x00000008 59#define HHWIN_PROP_NODEF_EXSTYLES 0x00000010 60#define HHWIN_PROP_TRI_PANE 0x00000020 61#define HHWIN_PROP_NOTB_TEXT 0x00000040 62#define HHWIN_PROP_POST_QUIT 0x00000080 63#define HHWIN_PROP_AUTO_SYNC 0x00000100 64#define HHWIN_PROP_TRACKING 0x00000200 65#define HHWIN_PROP_TAB_SEARCH 0x00000400 66#define HHWIN_PROP_TAB_HISTORY 0x00000800 67#define HHWIN_PROP_TAB_FAVORITES 0x00001000 68#define HHWIN_PROP_CHANGE_TITLE 0x00002000 69#define HHWIN_PROP_NAV_ONLY_WIN 0x00004000 70#define HHWIN_PROP_NO_TOOLBAR 0x00008000 71#define HHWIN_PROP_MENU 0x00010000 72#define HHWIN_PROP_TAB_ADVSEARCH 0x00020000 73#define HHWIN_PROP_USER_POS 0x00040000 74#define HHWIN_PROP_TAB_CUSTOM1 0x00080000 75#define HHWIN_PROP_TAB_CUSTOM2 0x00100000 76#define HHWIN_PROP_TAB_CUSTOM3 0x00200000 77#define HHWIN_PROP_TAB_CUSTOM4 0x00400000 78#define HHWIN_PROP_TAB_CUSTOM5 0x00800000 79#define HHWIN_PROP_TAB_CUSTOM6 0x01000000 80#define HHWIN_PROP_TAB_CUSTOM7 0x02000000 81#define HHWIN_PROP_TAB_CUSTOM8 0x04000000 82#define HHWIN_PROP_TAB_CUSTOM9 0x08000000 83#define HHWIN_TB_MARGIN 0x10000000 84 85#define HHWIN_PARAM_PROPERTIES 0x00000002 86#define HHWIN_PARAM_STYLES 0x00000004 87#define HHWIN_PARAM_EXSTYLES 0x00000008 88#define HHWIN_PARAM_RECT 0x00000010 89#define HHWIN_PARAM_NAV_WIDTH 0x00000020 90#define HHWIN_PARAM_SHOWSTATE 0x00000040 91#define HHWIN_PARAM_INFOTYPES 0x00000080 92#define HHWIN_PARAM_TB_FLAGS 0x00000100 93#define HHWIN_PARAM_EXPANSION 0x00000200 94#define HHWIN_PARAM_TABPOS 0x00000400 95#define HHWIN_PARAM_TABORDER 0x00000800 96#define HHWIN_PARAM_HISTORY_COUNT 0x00001000 97#define HHWIN_PARAM_CUR_TAB 0x00002000 98 99#define HHWIN_BUTTON_EXPAND 0x00000002 100#define HHWIN_BUTTON_BACK 0x00000004 101#define HHWIN_BUTTON_FORWARD 0x00000008 102#define HHWIN_BUTTON_STOP 0x00000010 103#define HHWIN_BUTTON_REFRESH 0x00000020 104#define HHWIN_BUTTON_HOME 0x00000040 105#define HHWIN_BUTTON_BROWSE_FWD 0x00000080 106#define HHWIN_BUTTON_BROWSE_BCK 0x00000100 107#define HHWIN_BUTTON_NOTES 0x00000200 108#define HHWIN_BUTTON_CONTENTS 0x00000400 109#define HHWIN_BUTTON_SYNC 0x00000800 110#define HHWIN_BUTTON_OPTIONS 0x00001000 111#define HHWIN_BUTTON_PRINT 0x00002000 112#define HHWIN_BUTTON_INDEX 0x00004000 113#define HHWIN_BUTTON_SEARCH 0x00008000 114#define HHWIN_BUTTON_HISTORY 0x00010000 115#define HHWIN_BUTTON_FAVORITES 0x00020000 116#define HHWIN_BUTTON_JUMP1 0x00040000 117#define HHWIN_BUTTON_JUMP2 0x00080000 118#define HHWIN_BUTTON_ZOOM 0x00100000 119#define HHWIN_BUTTON_TOC_NEXT 0x00200000 120#define HHWIN_BUTTON_TOC_PREV 0x00400000 121 122#define HHWIN_DEF_BUTTONS \ 123 (HHWIN_BUTTON_EXPAND | HHWIN_BUTTON_BACK | HHWIN_BUTTON_OPTIONS | HHWIN_BUTTON_PRINT) 124 125#define IDTB_EXPAND 200 126#define IDTB_CONTRACT 201 127#define IDTB_STOP 202 128#define IDTB_REFRESH 203 129#define IDTB_BACK 204 130#define IDTB_HOME 205 131#define IDTB_SYNC 206 132#define IDTB_PRINT 207 133#define IDTB_OPTIONS 208 134#define IDTB_FORWARD 209 135#define IDTB_NOTES 210 136#define IDTB_BROWSE_FWD 211 137#define IDTB_BROWSE_BACK 212 138#define IDTB_CONTENTS 213 139#define IDTB_INDEX 214 140#define IDTB_SEARCH 215 141#define IDTB_HISTORY 216 142#define IDTB_FAVORITES 217 143#define IDTB_JUMP1 218 144#define IDTB_JUMP2 219 145#define IDTB_CUSTOMIZE 221 146#define IDTB_ZOOM 222 147#define IDTB_TOC_NEXT 223 148#define IDTB_TOC_PREV 224 149 150#define HHN_FIRST (0U-860U) 151#define HHN_LAST (0U-879U) 152#define HHN_NAVCOMPLETE HHN_FIRST 153#define HHN_TRACK (HHN_FIRST-1) 154#define HHN_WINDOW_CREATE (HHN_FIRST-2) 155 156 157#ifdef __cplusplus 158extern "C" { 159#endif 160 161typedef struct tagHH_NOTIFY { 162 NMHDR hdr; 163 PCSTR pszurl; 164} HH_NOTIFY; 165 166typedef struct tagHH_POPUPA { 167 int cbStruct; 168 HINSTANCE hinst; 169 UINT idString; 170 LPCSTR pszText; 171 POINT pt; 172 COLORREF clrForeground; 173 COLORREF clrBackground; 174 RECT rcMargins; 175 LPCSTR pszFont; 176} HH_POPUPA; 177 178typedef struct tagHH_POPUPW { 179 int cbStruct; 180 HINSTANCE hinst; 181 UINT idString; 182 LPCWSTR pszText; 183 POINT pt; 184 COLORREF clrForeground; 185 COLORREF clrBackground; 186 RECT rcMargins; 187 LPCWSTR pszFont; 188} HH_POPUPW; 189 190DECL_WINELIB_TYPE_AW(HH_POPUP) 191 192typedef struct tagHH_ALINKA { 193 int cbStruct; 194 BOOL fReserved; 195 LPCSTR pszKeywords; 196 LPCSTR pszUrl; 197 LPCSTR pszMsgText; 198 LPCSTR pszMsgTitle; 199 LPCSTR pszWindow; 200 BOOL fIndexOnFail; 201} HH_ALINKA; 202 203typedef struct tagHH_ALINKW { 204 int cbStruct; 205 BOOL fReserved; 206 LPCWSTR pszKeywords; 207 LPCWSTR pszUrl; 208 LPCWSTR pszMsgText; 209 LPCWSTR pszMsgTitle; 210 LPCWSTR pszWindow; 211 BOOL fIndexOnFail; 212} HH_ALINKW; 213 214DECL_WINELIB_TYPE_AW(HH_ALINK) 215 216enum { 217 HHWIN_NAVTYPE_TOC, 218 HHWIN_NAVTYPE_INDEX, 219 HHWIN_NAVTYPE_SEARCH, 220 HHWIN_NAVTYPE_FAVORITES, 221 HHWIN_NAVTYPE_HISTORY, 222 HHWIN_NAVTYPE_AUTHOR, 223 HHWIN_NAVTYPE_CUSTOM_FIRST = 11 224}; 225 226enum { 227 IT_INCLUSIVE, 228 IT_EXCLUSIVE, 229 IT_HIDDEN 230}; 231 232typedef struct tagHH_ENUM_IT { 233 int cbStruct; 234 int iType; 235 LPCSTR pszCatName; 236 LPCSTR pszITName; 237 LPCSTR pszITDescription; 238} HH_ENUM_IT, *PHH_ENUM_IT; 239 240typedef struct tagHH_ENUM_CAT { 241 int cbStruct; 242 LPCSTR pszCatName; 243 LPCSTR pszCatDescription; 244} HH_ENUM_CAT, *PHH_ENUM_CAT; 245 246typedef struct tagHH_SET_INFOTYPE { 247 int cbStruct; 248 LPCSTR pszCatName; 249 LPCSTR pszInfoTypeName; 250} HH_SET_INFOTYPE; 251 252typedef DWORD HH_INFOTYPE, *PHH_INFOTYPE; 253 254enum { 255 HHWIN_NAVTAB_TOP, 256 HHWIN_NAVTAB_LEFT, 257 HHWIN_NAVTAB_BOTTOM 258}; 259 260#define HH_MAX_TABS 19 261 262enum { 263 HH_TAB_CONTENTS, 264 HH_TAB_INDEX, 265 HH_TAB_SEARCH, 266 HH_TAB_FAVORITES, 267 HH_TAB_HISTORY, 268 HH_TAB_AUTHOR, 269 HH_TAB_CUSTOM_FIRST = 11, 270 HH_TAB_CUSTOM_LAST = HH_MAX_TABS 271}; 272 273#define HH_MAX_TABS_CUSTOM (HH_TAB_CUSTOM_LAST-HH_TAB_CUSTOM_FIRST+1) 274#define HH_FTS_DEFAULT_PROXIMITY -1 275 276typedef struct tagHH_FTS_QUERYA { 277 int cbStruct; 278 BOOL fUniCodeStrings; 279 LPCSTR pszSearchQuery; 280 LONG iProximity; 281 BOOL fStemmedSearch; 282 BOOL fTitleOnly; 283 BOOL fExecute; 284 LPCSTR pszWindow; 285} HH_FTS_QUERYA; 286 287typedef struct tagHH_FTS_QUERYW { 288 int cbStruct; 289 BOOL fUniCodeStrings; 290 LPCWSTR pszSearchQuery; 291 LONG iProximity; 292 BOOL fStemmedSearch; 293 BOOL fTitleOnly; 294 BOOL fExecute; 295 LPCWSTR pszWindow; 296} HH_FTS_QUERYW; 297 298DECL_WINELIB_TYPE_AW(HH_FTS_QUERY) 299 300typedef struct tagHH_WINTYPEA { 301 int cbStruct; 302 BOOL fUniCodeStrings; 303 LPCSTR pszType; 304 DWORD fsValidMembers; 305 DWORD fsWinProperties; 306 LPCSTR pszCaption; 307 DWORD dwStyles; 308 DWORD dwExStyles; 309 RECT rcWindowPos; 310 int nShowState; 311 HWND hwndHelp; 312 HWND hwndCaller; 313 PHH_INFOTYPE paInfoTypes; 314 HWND hwndToolBar; 315 HWND hwndNavigation; 316 HWND hwndHTML; 317 int iNavWidth; 318 RECT rcHTML; 319 LPCSTR pszToc; 320 LPCSTR pszIndex; 321 LPCSTR pszFile; 322 LPCSTR pszHome; 323 DWORD fsToolBarFlags; 324 BOOL fNotExpanded; 325 int curNavType; 326 int tabpos; 327 int idNotify; 328 BYTE tabOrder[HH_MAX_TABS+1]; 329 int cHistory; 330 LPCSTR pszJump1; 331 LPCSTR pszJump2; 332 LPCSTR pszUrlJump1; 333 LPCSTR pszUrlJump2; 334 RECT rcMinSize; 335 int cbInfoTypes; 336 LPCSTR pszCustomTabs; 337} HH_WINTYPEA, *PHH_WINTYPEA; 338 339typedef struct tagHH_WINTYPEW { 340 int cbStruct; 341 BOOL fUniCodeStrings; 342 LPCWSTR pszType; 343 DWORD fsValidMembers; 344 DWORD fsWinProperties; 345 LPCWSTR pszCaption; 346 DWORD dwStyles; 347 DWORD dwExStyles; 348 RECT rcWindowPos; 349 int nShowState; 350 HWND hwndHelp; 351 HWND hwndCaller; 352 PHH_INFOTYPE paInfoTypes; 353 HWND hwndToolBar; 354 HWND hwndNavigation; 355 HWND hwndHTML; 356 int iNavWidth; 357 RECT rcHTML; 358 LPCWSTR pszToc; 359 LPCWSTR pszIndex; 360 LPCWSTR pszFile; 361 LPCWSTR pszHome; 362 DWORD fsToolBarFlags; 363 BOOL fNotExpanded; 364 int curNavType; 365 int tabpos; 366 int idNotify; 367 BYTE tabOrder[HH_MAX_TABS+1]; 368 int cHistory; 369 LPCWSTR pszJump1; 370 LPCWSTR pszJump2; 371 LPCWSTR pszUrlJump1; 372 LPCWSTR pszUrlJump2; 373 RECT rcMinSize; 374 int cbInfoTypes; 375 LPCWSTR pszCustomTabs; 376} HH_WINTYPEW, *PHH_WINTYPEW; 377 378DECL_WINELIB_TYPE_AW(HH_WINTYPE) 379 380enum { 381 HHACT_TAB_CONTENTS, 382 HHACT_TAB_INDEX, 383 HHACT_TAB_SEARCH, 384 HHACT_TAB_HISTORY, 385 HHACT_TAB_FAVORITES, 386 HHACT_EXPAND, 387 HHACT_CONTRACT, 388 HHACT_BACK, 389 HHACT_FORWARD, 390 HHACT_STOP, 391 HHACT_REFRESH, 392 HHACT_HOME, 393 HHACT_SYNC, 394 HHACT_OPTIONS, 395 HHACT_PRINT, 396 HHACT_HIGHLIGHT, 397 HHACT_CUSTOMIZE, 398 HHACT_JUMP1, 399 HHACT_JUMP2, 400 HHACT_ZOOM, 401 HHACT_TOC_NEXT, 402 HHACT_TOC_PREV, 403 HHACT_NOTES, 404 HHACT_LAST_ENUM 405}; 406 407typedef struct tagHH_NTRACKA { 408 NMHDR hdr; 409 PCSTR pszCurUrl; 410 int idAction; 411 PHH_WINTYPEA phhWinType; 412} HH_NTRACKA; 413 414typedef struct tagHH_NTRACKW { 415 NMHDR hdr; 416 PCSTR pszCurUrl; 417 int idAction; 418 PHH_WINTYPEW phhWinType; 419} HH_NTRACKW; 420 421DECL_WINELIB_TYPE_AW(HH_NTRACK) 422 423HWND WINAPI HtmlHelpA(HWND,LPCSTR,UINT,DWORD_PTR); 424HWND WINAPI HtmlHelpW(HWND,LPCWSTR,UINT,DWORD_PTR); 425#define HtmlHelp WINELIB_NAME_AW(HtmlHelp) 426 427#define ATOM_HTMLHELP_API_ANSI (LPTSTR)14 428#define ATOM_HTMLHELP_API_UNICODE (LPTSTR)15 429 430typedef enum tagHH_GPROPID { 431 HH_GPROPID_SINGLETHREAD = 1, 432 HH_GPROPID_TOOLBAR_MARGIN = 2, 433 HH_GPROPID_UI_LANGUAGE = 3, 434 HH_GPROPID_CURRENT_SUBSET = 4, 435 HH_GPROPID_CONTENT_LANGUAGE = 5 436} HH_GPROPID; 437 438#ifdef __oaidl_h__ 439 440typedef struct tagHH_GLOBAL_PROPERTY 441{ 442 HH_GPROPID id; 443 VARIANT var; 444} HH_GLOBAL_PROPERTY ; 445 446#endif /* __oaidl_h__ */ 447 448#ifdef __cplusplus 449} 450#endif 451 452#endif /* __HTMLHELP_H__ */