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 158 extern "C" { 159 #endif 160 161 typedef struct tagHH_NOTIFY { 162 NMHDR hdr; 163 PCSTR pszurl; 164 } HH_NOTIFY; 165 166 typedef 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 178 typedef 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 190 DECL_WINELIB_TYPE_AW(HH_POPUP) 191 192 typedef 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 203 typedef 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 214 DECL_WINELIB_TYPE_AW(HH_ALINK) 215 216 enum { 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 226 enum { 227 IT_INCLUSIVE, 228 IT_EXCLUSIVE, 229 IT_HIDDEN 230 }; 231 232 typedef 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 240 typedef struct tagHH_ENUM_CAT { 241 int cbStruct; 242 LPCSTR pszCatName; 243 LPCSTR pszCatDescription; 244 } HH_ENUM_CAT, *PHH_ENUM_CAT; 245 246 typedef struct tagHH_SET_INFOTYPE { 247 int cbStruct; 248 LPCSTR pszCatName; 249 LPCSTR pszInfoTypeName; 250 } HH_SET_INFOTYPE; 251 252 typedef DWORD HH_INFOTYPE, *PHH_INFOTYPE; 253 254 enum { 255 HHWIN_NAVTAB_TOP, 256 HHWIN_NAVTAB_LEFT, 257 HHWIN_NAVTAB_BOTTOM 258 }; 259 260 #define HH_MAX_TABS 19 261 262 enum { 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 276 typedef 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 287 typedef 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 298 DECL_WINELIB_TYPE_AW(HH_FTS_QUERY) 299 300 typedef 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 339 typedef 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 378 DECL_WINELIB_TYPE_AW(HH_WINTYPE) 379 380 enum { 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 407 typedef struct tagHH_NTRACKA { 408 NMHDR hdr; 409 PCSTR pszCurUrl; 410 int idAction; 411 PHH_WINTYPEA phhWinType; 412 } HH_NTRACKA; 413 414 typedef struct tagHH_NTRACKW { 415 NMHDR hdr; 416 PCSTR pszCurUrl; 417 int idAction; 418 PHH_WINTYPEW phhWinType; 419 } HH_NTRACKW; 420 421 DECL_WINELIB_TYPE_AW(HH_NTRACK) 422 423 HWND WINAPI HtmlHelpA(HWND,LPCSTR,UINT,DWORD_PTR); 424 HWND 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 430 typedef 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 440 typedef 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__ */ 453