Home | History | Annotate | Download | only in include
      1 /**
      2  * This file has no copyright assigned and is placed in the Public Domain.
      3  * This file is part of the mingw-w64 runtime package.
      4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
      5  */
      6 #ifndef __HTMLHELP_H__
      7 #define __HTMLHELP_H__
      8 
      9 #include <_mingw_unicode.h>
     10 
     11 #ifdef __cplusplus
     12 extern "C" {
     13 #endif
     14 
     15 #define HH_DISPLAY_TOPIC 0x0000
     16 #define HH_HELP_FINDER 0x0000
     17 #define HH_DISPLAY_TOC 0x0001
     18 #define HH_DISPLAY_INDEX 0x0002
     19 #define HH_DISPLAY_SEARCH 0x0003
     20 #define HH_SET_WIN_TYPE 0x0004
     21 #define HH_GET_WIN_TYPE 0x0005
     22 #define HH_GET_WIN_HANDLE 0x0006
     23 #define HH_ENUM_INFO_TYPE 0x0007
     24 #define HH_SET_INFO_TYPE 0x0008
     25 #define HH_SYNC 0x0009
     26 #define HH_RESERVED1 0x000A
     27 #define HH_RESERVED2 0x000B
     28 #define HH_RESERVED3 0x000C
     29 #define HH_KEYWORD_LOOKUP 0x000D
     30 #define HH_DISPLAY_TEXT_POPUP 0x000E
     31 #define HH_HELP_CONTEXT 0x000F
     32 #define HH_TP_HELP_CONTEXTMENU 0x0010
     33 #define HH_TP_HELP_WM_HELP 0x0011
     34 #define HH_CLOSE_ALL 0x0012
     35 #define HH_ALINK_LOOKUP 0x0013
     36 #define HH_GET_LAST_ERROR 0x0014
     37 #define HH_ENUM_CATEGORY 0x0015
     38 #define HH_ENUM_CATEGORY_IT 0x0016
     39 #define HH_RESET_IT_FILTER 0x0017
     40 #define HH_SET_INCLUSIVE_FILTER 0x0018
     41 #define HH_SET_EXCLUSIVE_FILTER 0x0019
     42 #define HH_INITIALIZE 0x001C
     43 #define HH_UNINITIALIZE 0x001D
     44 #define HH_SET_QUERYSERVICE 0x001E
     45 #define HH_PRETRANSLATEMESSAGE 0x00fd
     46 #define HH_SET_GLOBAL_PROPERTY 0x00fc
     47 #define HH_SAFE_DISPLAY_TOPIC 0x0020
     48 
     49 #define HHWIN_PROP_TAB_AUTOHIDESHOW (1 << 0)
     50 #define HHWIN_PROP_ONTOP (1 << 1)
     51 #define HHWIN_PROP_NOTITLEBAR (1 << 2)
     52 #define HHWIN_PROP_NODEF_STYLES (1 << 3)
     53 #define HHWIN_PROP_NODEF_EXSTYLES (1 << 4)
     54 #define HHWIN_PROP_TRI_PANE (1 << 5)
     55 #define HHWIN_PROP_NOTB_TEXT (1 << 6)
     56 #define HHWIN_PROP_POST_QUIT (1 << 7)
     57 #define HHWIN_PROP_AUTO_SYNC (1 << 8)
     58 #define HHWIN_PROP_TRACKING (1 << 9)
     59 #define HHWIN_PROP_TAB_SEARCH (1 << 10)
     60 #define HHWIN_PROP_TAB_HISTORY (1 << 11)
     61 #define HHWIN_PROP_TAB_FAVORITES (1 << 12)
     62 #define HHWIN_PROP_CHANGE_TITLE (1 << 13)
     63 #define HHWIN_PROP_NAV_ONLY_WIN (1 << 14)
     64 #define HHWIN_PROP_NO_TOOLBAR (1 << 15)
     65 #define HHWIN_PROP_MENU (1 << 16)
     66 #define HHWIN_PROP_TAB_ADVSEARCH (1 << 17)
     67 #define HHWIN_PROP_USER_POS (1 << 18)
     68 #define HHWIN_PROP_TAB_CUSTOM1 (1 << 19)
     69 #define HHWIN_PROP_TAB_CUSTOM2 (1 << 20)
     70 #define HHWIN_PROP_TAB_CUSTOM3 (1 << 21)
     71 #define HHWIN_PROP_TAB_CUSTOM4 (1 << 22)
     72 #define HHWIN_PROP_TAB_CUSTOM5 (1 << 23)
     73 #define HHWIN_PROP_TAB_CUSTOM6 (1 << 24)
     74 #define HHWIN_PROP_TAB_CUSTOM7 (1 << 25)
     75 #define HHWIN_PROP_TAB_CUSTOM8 (1 << 26)
     76 #define HHWIN_PROP_TAB_CUSTOM9 (1 << 27)
     77 #define HHWIN_TB_MARGIN (1 << 28)
     78 
     79 #define HHWIN_PARAM_PROPERTIES (1 << 1)
     80 #define HHWIN_PARAM_STYLES (1 << 2)
     81 #define HHWIN_PARAM_EXSTYLES (1 << 3)
     82 #define HHWIN_PARAM_RECT (1 << 4)
     83 #define HHWIN_PARAM_NAV_WIDTH (1 << 5)
     84 #define HHWIN_PARAM_SHOWSTATE (1 << 6)
     85 #define HHWIN_PARAM_INFOTYPES (1 << 7)
     86 #define HHWIN_PARAM_TB_FLAGS (1 << 8)
     87 #define HHWIN_PARAM_EXPANSION (1 << 9)
     88 #define HHWIN_PARAM_TABPOS (1 << 10)
     89 #define HHWIN_PARAM_TABORDER (1 << 11)
     90 #define HHWIN_PARAM_HISTORY_COUNT (1 << 12)
     91 #define HHWIN_PARAM_CUR_TAB (1 << 13)
     92 
     93 #define HHWIN_BUTTON_EXPAND (1 << 1)
     94 #define HHWIN_BUTTON_BACK (1 << 2)
     95 #define HHWIN_BUTTON_FORWARD (1 << 3)
     96 #define HHWIN_BUTTON_STOP (1 << 4)
     97 #define HHWIN_BUTTON_REFRESH (1 << 5)
     98 #define HHWIN_BUTTON_HOME (1 << 6)
     99 #define HHWIN_BUTTON_BROWSE_FWD (1 << 7)
    100 #define HHWIN_BUTTON_BROWSE_BCK (1 << 8)
    101 #define HHWIN_BUTTON_NOTES (1 << 9)
    102 #define HHWIN_BUTTON_CONTENTS (1 << 10)
    103 #define HHWIN_BUTTON_SYNC (1 << 11)
    104 #define HHWIN_BUTTON_OPTIONS (1 << 12)
    105 #define HHWIN_BUTTON_PRINT (1 << 13)
    106 #define HHWIN_BUTTON_INDEX (1 << 14)
    107 #define HHWIN_BUTTON_SEARCH (1 << 15)
    108 #define HHWIN_BUTTON_HISTORY (1 << 16)
    109 #define HHWIN_BUTTON_FAVORITES (1 << 17)
    110 #define HHWIN_BUTTON_JUMP1 (1 << 18)
    111 #define HHWIN_BUTTON_JUMP2 (1 << 19)
    112 #define HHWIN_BUTTON_ZOOM (1 << 20)
    113 #define HHWIN_BUTTON_TOC_NEXT (1 << 21)
    114 #define HHWIN_BUTTON_TOC_PREV (1 << 22)
    115 
    116 #define HHWIN_DEF_BUTTONS (HHWIN_BUTTON_EXPAND | HHWIN_BUTTON_BACK | HHWIN_BUTTON_OPTIONS | HHWIN_BUTTON_PRINT)
    117 
    118 #define IDTB_EXPAND 200
    119 #define IDTB_CONTRACT 201
    120 #define IDTB_STOP 202
    121 #define IDTB_REFRESH 203
    122 #define IDTB_BACK 204
    123 #define IDTB_HOME 205
    124 #define IDTB_SYNC 206
    125 #define IDTB_PRINT 207
    126 #define IDTB_OPTIONS 208
    127 #define IDTB_FORWARD 209
    128 #define IDTB_NOTES 210
    129 #define IDTB_BROWSE_FWD 211
    130 #define IDTB_BROWSE_BACK 212
    131 #define IDTB_CONTENTS 213
    132 #define IDTB_INDEX 214
    133 #define IDTB_SEARCH 215
    134 #define IDTB_HISTORY 216
    135 #define IDTB_FAVORITES 217
    136 #define IDTB_JUMP1 218
    137 #define IDTB_JUMP2 219
    138 #define IDTB_CUSTOMIZE 221
    139 #define IDTB_ZOOM 222
    140 #define IDTB_TOC_NEXT 223
    141 #define IDTB_TOC_PREV 224
    142 
    143 #define HHN_FIRST (0U-860U)
    144 #define HHN_LAST (0U-879U)
    145 
    146 #define HHN_NAVCOMPLETE (HHN_FIRST-0)
    147 #define HHN_TRACK (HHN_FIRST-1)
    148 #define HHN_WINDOW_CREATE (HHN_FIRST-2)
    149 
    150   typedef struct tagHHN_NOTIFY {
    151     NMHDR hdr;
    152     PCSTR pszUrl;
    153   } HHN_NOTIFY;
    154 
    155   typedef struct tagHH_POPUP {
    156     int cbStruct;
    157     HINSTANCE hinst;
    158     UINT idString;
    159     LPCTSTR pszText;
    160     POINT pt;
    161     COLORREF clrForeground;
    162     COLORREF clrBackground;
    163     RECT rcMargins;
    164     LPCTSTR pszFont;
    165   } HH_POPUP;
    166 
    167   typedef struct tagHH_AKLINK {
    168     int cbStruct;
    169     WINBOOL fReserved;
    170     LPCTSTR pszKeywords;
    171     LPCTSTR pszUrl;
    172     LPCTSTR pszMsgText;
    173     LPCTSTR pszMsgTitle;
    174     LPCTSTR pszWindow;
    175     WINBOOL fIndexOnFail;
    176   } HH_AKLINK;
    177 
    178   enum {
    179     HHWIN_NAVTYPE_TOC,HHWIN_NAVTYPE_INDEX,HHWIN_NAVTYPE_SEARCH,HHWIN_NAVTYPE_FAVORITES,HHWIN_NAVTYPE_HISTORY,HHWIN_NAVTYPE_AUTHOR,
    180     HHWIN_NAVTYPE_CUSTOM_FIRST = 11
    181   };
    182 
    183   enum {
    184     IT_INCLUSIVE,IT_EXCLUSIVE,IT_HIDDEN
    185   };
    186 
    187   typedef struct tagHH_ENUM_IT {
    188     int cbStruct;
    189     int iType;
    190     LPCSTR pszCatName;
    191     LPCSTR pszITName;
    192     LPCSTR pszITDescription;
    193   } HH_ENUM_IT,*PHH_ENUM_IT;
    194 
    195   typedef struct tagHH_ENUM_CAT {
    196     int cbStruct;
    197     LPCSTR pszCatName;
    198     LPCSTR pszCatDescription;
    199   } HH_ENUM_CAT,*PHH_ENUM_CAT;
    200 
    201   typedef struct tagHH_SET_INFOTYPE {
    202     int cbStruct;
    203     LPCSTR pszCatName;
    204     LPCSTR pszInfoTypeName;
    205   } HH_SET_INFOTYPE,*PHH_SET_INFOTYPE;
    206 
    207   typedef DWORD HH_INFOTYPE;
    208   typedef HH_INFOTYPE *PHH_INFOTYPE;
    209 
    210   enum {
    211     HHWIN_NAVTAB_TOP,HHWIN_NAVTAB_LEFT,HHWIN_NAVTAB_BOTTOM
    212   };
    213 
    214 #define HH_MAX_TABS 19
    215 
    216   enum {
    217     HH_TAB_CONTENTS,HH_TAB_INDEX,HH_TAB_SEARCH,HH_TAB_FAVORITES,HH_TAB_HISTORY,HH_TAB_AUTHOR,HH_TAB_CUSTOM_FIRST = 11,
    218     HH_TAB_CUSTOM_LAST = HH_MAX_TABS
    219   };
    220 
    221 #define HH_MAX_TABS_CUSTOM (HH_TAB_CUSTOM_LAST - HH_TAB_CUSTOM_FIRST + 1)
    222 
    223 #define HH_FTS_DEFAULT_PROXIMITY (-1)
    224 
    225   typedef struct tagHH_FTS_QUERY {
    226     int cbStruct;
    227     WINBOOL fUniCodeStrings;
    228     LPCTSTR pszSearchQuery;
    229     LONG iProximity;
    230     WINBOOL fStemmedSearch;
    231     WINBOOL fTitleOnly;
    232     WINBOOL fExecute;
    233     LPCTSTR pszWindow;
    234   } HH_FTS_QUERY;
    235 
    236   typedef struct tagHH_WINTYPE {
    237     int cbStruct;
    238     WINBOOL fUniCodeStrings;
    239     LPCTSTR pszType;
    240     DWORD fsValidMembers;
    241     DWORD fsWinProperties;
    242     LPCTSTR pszCaption;
    243     DWORD dwStyles;
    244     DWORD dwExStyles;
    245     RECT rcWindowPos;
    246     int nShowState;
    247     HWND hwndHelp;
    248     HWND hwndCaller;
    249     HH_INFOTYPE *paInfoTypes;
    250     HWND hwndToolBar;
    251     HWND hwndNavigation;
    252     HWND hwndHTML;
    253     int iNavWidth;
    254     RECT rcHTML;
    255     LPCTSTR pszToc;
    256     LPCTSTR pszIndex;
    257     LPCTSTR pszFile;
    258     LPCTSTR pszHome;
    259     DWORD fsToolBarFlags;
    260     WINBOOL fNotExpanded;
    261     int curNavType;
    262     int tabpos;
    263     int idNotify;
    264     BYTE tabOrder[HH_MAX_TABS + 1];
    265     int cHistory;
    266     LPCTSTR pszJump1;
    267     LPCTSTR pszJump2;
    268     LPCTSTR pszUrlJump1;
    269     LPCTSTR pszUrlJump2;
    270     RECT rcMinSize;
    271     int cbInfoTypes;
    272     LPCTSTR pszCustomTabs;
    273   } HH_WINTYPE,*PHH_WINTYPE;
    274 
    275   enum {
    276     HHACT_TAB_CONTENTS,HHACT_TAB_INDEX,HHACT_TAB_SEARCH,HHACT_TAB_HISTORY,HHACT_TAB_FAVORITES,HHACT_EXPAND,HHACT_CONTRACT,
    277     HHACT_BACK,HHACT_FORWARD,HHACT_STOP,HHACT_REFRESH,HHACT_HOME,HHACT_SYNC,HHACT_OPTIONS,HHACT_PRINT,HHACT_HIGHLIGHT,HHACT_CUSTOMIZE,
    278     HHACT_JUMP1,HHACT_JUMP2,HHACT_ZOOM,HHACT_TOC_NEXT,HHACT_TOC_PREV,HHACT_NOTES,HHACT_LAST_ENUM
    279   };
    280 
    281   typedef struct tagHHNTRACK {
    282     NMHDR hdr;
    283     PCSTR pszCurUrl;
    284     int idAction;
    285     HH_WINTYPE *phhWinType;
    286   } HHNTRACK;
    287 
    288 #define HtmlHelp __MINGW_NAME_AW(HtmlHelp)
    289 
    290   HWND WINAPI HtmlHelpA(HWND hwndCaller,LPCSTR pszFile,UINT uCommand,DWORD_PTR dwData);
    291   HWND WINAPI HtmlHelpW(HWND hwndCaller,LPCWSTR pszFile,UINT uCommand,DWORD_PTR dwData);
    292 
    293 #define ATOM_HTMLHELP_API_ANSI (LPTSTR)((DWORD)((WORD)(14)))
    294 #define ATOM_HTMLHELP_API_UNICODE (LPTSTR)((DWORD)((WORD)(15)))
    295 
    296   typedef enum tagHH_GPROPID {
    297     HH_GPROPID_SINGLETHREAD=1,HH_GPROPID_TOOLBAR_MARGIN=2,HH_GPROPID_UI_LANGUAGE=3,HH_GPROPID_CURRENT_SUBSET=4,HH_GPROPID_CONTENT_LANGUAGE=5
    298   } HH_GPROPID;
    299 
    300 #ifdef __oaidl_h__
    301 #pragma pack(push,8)
    302 
    303   typedef struct tagHH_GLOBAL_PROPERTY {
    304     HH_GPROPID id;
    305     VARIANT var;
    306   } HH_GLOBAL_PROPERTY;
    307 
    308 #pragma pack(pop)
    309 #endif
    310 
    311 #ifdef __cplusplus
    312 }
    313 #endif
    314 #endif
    315