Removed some more trailing whitespace.
[wine] / programs / winhelp / winhelp.h
1 /*
2  * Help Viewer
3  *
4  * Copyright 1996 Ulrich Schmid
5  * Copyright 2002 Sylvain Petreolle <spetreolle@yahoo.fr>
6
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public
9  * License as published by the Free Software Foundation; either
10  * version 2.1 of the License, or (at your option) any later version.
11  *
12  * This library is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with this library; if not, write to the Free Software
19  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
20  */
21
22 #define MAX_LANGUAGE_NUMBER 255
23 #define MAX_PATHNAME_LEN   1024
24 #define MAX_STRING_LEN      255
25
26 #define INTERNAL_BORDER_WIDTH  5
27 #define POPUP_YDISTANCE       20
28 #define SHADOW_DX     20
29 #define SHADOW_DY     20
30 #define BUTTON_CX      6
31 #define BUTTON_CY      6
32
33 #ifndef RC_INVOKED
34
35 #include "hlpfile.h"
36 #include "macro.h"
37 #include "winhelp_res.h"
38
39 typedef struct tagHelpLinePart
40 {
41   RECT      rect;
42   LPCSTR    lpsText;
43   UINT      wTextLen;
44   HFONT     hFont;
45   COLORREF  color;
46
47   struct
48   {
49   LPCSTR    lpszPath;
50   LONG      lHash;
51   BOOL      bPopup;
52   }         link;
53
54   HGLOBAL   hSelf;
55   struct tagHelpLinePart *next;
56 } WINHELP_LINE_PART;
57
58 typedef struct tagHelpLine
59 {
60   RECT              rect;
61   WINHELP_LINE_PART first_part;
62   struct tagHelpLine *next;
63 } WINHELP_LINE;
64
65 typedef struct tagHelpButton
66 {
67   HWND hWnd;
68
69   LPCSTR lpszID;
70   LPCSTR lpszName;
71   LPCSTR lpszMacro;
72
73   WPARAM wParam;
74
75   RECT rect;
76
77   HGLOBAL hSelf;
78   struct tagHelpButton *next;
79 } WINHELP_BUTTON;
80
81 typedef struct tagWinHelp
82 {
83   LPCSTR lpszName;
84
85   WINHELP_BUTTON *first_button;
86   HLPFILE_PAGE   *page;
87   WINHELP_LINE   *first_line;
88
89   HWND hMainWnd;
90   HWND hButtonBoxWnd;
91   HWND hTextWnd;
92   HWND hShadowWnd;
93
94   HFONT (*fonts)[2];
95   UINT  fonts_len;
96
97   HCURSOR hArrowCur;
98   HCURSOR hHandCur;
99
100   HGLOBAL hSelf;
101   struct tagWinHelp *next;
102 } WINHELP_WINDOW;
103
104 typedef struct
105 {
106   UINT   wVersion;
107   HANDLE hInstance;
108   HWND   hPopupWnd;
109   UINT   wStringTableOffset;
110   WINHELP_WINDOW *active_win;
111   WINHELP_WINDOW *win_list;
112 } WINHELP_GLOBALS;
113
114 extern WINHELP_GLOBALS Globals;
115
116 VOID WINHELP_CreateHelpWindow(LPCSTR, LONG, LPCSTR, BOOL, HWND, LPPOINT, INT);
117 INT  WINHELP_MessageBoxIDS(UINT, UINT, WORD);
118 INT  WINHELP_MessageBoxIDS_s(UINT, LPCSTR, UINT, WORD);
119
120 extern CHAR MAIN_WIN_CLASS_NAME[];
121 extern CHAR BUTTON_BOX_WIN_CLASS_NAME[];
122 extern CHAR TEXT_WIN_CLASS_NAME[];
123 extern CHAR SHADOW_WIN_CLASS_NAME[];
124 extern CHAR STRING_BUTTON[];
125 extern CHAR STRING_MENU_Xx[];
126 extern CHAR STRING_DIALOG_TEST[];
127 #endif
128
129 /* Buttons */
130 #define WH_FIRST_BUTTON     500
131
132 /* Local Variables:    */
133 /* c-file-style: "GNU" */
134 /* End:                */