1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
|
/*
* $LynxId: GridText.h,v 1.70 2022/06/12 16:38:03 KIHARA.Hideto Exp $
*
* Specialities of GridText as subclass of HText
*/
#ifndef LYGRIDTEXT_H
#define LYGRIDTEXT_H
#include <HText.h> /* Superclass */
#ifndef HTFORMS_H
#include <HTForms.h>
#endif /* HTFORMS_H */
#include <HTFont.h>
#include <HTCJK.h>
#ifdef __cplusplus
extern "C" {
#endif
#define TABSTOP 8
#define SPACES " " /* must be at least TABSTOP spaces long */
#define SPLAT '.'
#define NOCHOP 0
#define CHOP 1
/* just for information:
US-ASCII control characters <32 which are not defined in Unicode standard
=00 U+0000 NULL
=01 U+0001 START OF HEADING
=02 U+0002 START OF TEXT
=03 U+0003 END OF TEXT
=04 U+0004 END OF TRANSMISSION
=05 U+0005 ENQUIRY
=06 U+0006 ACKNOWLEDGE
=07 U+0007 BELL
=08 U+0008 BACKSPACE
=09 U+0009 HORIZONTAL TABULATION
=0A U+000A LINE FEED
=0B U+000B VERTICAL TABULATION
=0C U+000C FORM FEED
=0D U+000D CARRIAGE RETURN
=0E U+000E SHIFT OUT
=0F U+000F SHIFT IN
=10 U+0010 DATA LINK ESCAPE
=11 U+0011 DEVICE CONTROL ONE
=12 U+0012 DEVICE CONTROL TWO
=13 U+0013 DEVICE CONTROL THREE
=14 U+0014 DEVICE CONTROL FOUR
=15 U+0015 NEGATIVE ACKNOWLEDGE
=16 U+0016 SYNCHRONOUS IDLE
=17 U+0017 END OF TRANSMISSION BLOCK
=18 U+0018 CANCEL
=19 U+0019 END OF MEDIUM
=1A U+001A SUBSTITUTE
=1B U+001B ESCAPE
=1C U+001C FILE SEPARATOR
=1D U+001D GROUP SEPARATOR
=1E U+001E RECORD SEPARATOR
=1F U+001F UNIT SEPARATOR
=7F U+007F DELETE
*/ extern int HTCurSelectGroupType;
extern char *HTCurSelectGroupSize;
#if defined(VMS) && defined(VAXC) && !defined(__DECC)
extern int HTVirtualMemorySize;
#endif /* VMS && VAXC && !__DECC */
extern HTChildAnchor *HText_childNextNumber(int n, void **prev);
extern int HText_findAnchorNumber(void *avoid);
extern void HText_FormDescNumber(int n, const char **desc);
/* Is there any file left?
*/
extern BOOL HText_canScrollUp(HText *text);
extern BOOL HText_canScrollDown(void);
/* Move display within window
*/
extern void HText_scrollUp(HText *text); /* One page */
extern void HText_scrollDown(HText *text); /* One page */
extern void HText_scrollTop(HText *text);
extern void HText_scrollBottom(HText *text);
extern void HText_pageDisplay(int line_num, char *target);
extern BOOL HText_pageHasPrevTarget(void);
extern int HText_LinksInLines(HText *text, int line_num, int Lines);
extern int HText_getAbsLineNumber(HText *text, int anchor_number);
extern int HText_closestAnchor(HText *text, int offset);
extern int HText_locateAnchor(HText *text, int anchor_number);
extern int HText_anchorRelativeTo(HText *text, int top_lineno, int anchor_num);
extern void HText_setLastChar(HText *text, int ch);
extern char HText_getLastChar(HText *text);
#ifdef EXP_JAPANESE_SPACES
extern BOOL HText_checkLastChar_needSpaceOnJoinLines(HText *text);
#endif
extern int HText_sourceAnchors(HText *text);
extern void HText_setStale(HText *text);
extern void HText_refresh(HText *text);
extern const char *HText_getTitle(void);
extern const char *HText_getSugFname(void);
extern void HTCheckFnameForCompression(char **fname,
HTParentAnchor *anchor,
int strip_ok);
extern const char *HText_getLastModified(void);
extern const char *HText_getDate(void);
extern const char *HText_getHttpHeaders(void);
extern const char *HText_getServer(void);
extern const char *HText_getOwner(void);
extern const char *HText_getContentBase(void);
extern const char *HText_getContentLocation(void);
extern const char *HText_getMessageID(void);
extern const char *HText_getRevTitle(void);
#ifdef USE_COLOR_STYLE
extern const char *HText_getStyle(void);
#endif
extern void HText_setMainTextOwner(const char *owner);
extern void print_wwwfile_to_fd(FILE *fp, int is_email, int is_reply);
extern BOOL HText_select(HText *text);
extern BOOL HText_POSTReplyLoaded(DocInfo *doc);
extern BOOL HTFindPoundSelector(const char *selector);
extern int HTGetRelLinkNum(int num, int rel, int cur);
extern int HTGetLinkInfo(int number,
int want_go,
int *go_line,
int *linknum,
char **hightext,
char **lname);
extern BOOL HText_TAHasMoreLines(int curlink,
int direction);
extern int HTGetLinkOrFieldStart(int curlink,
int *go_line,
int *linknum,
int direction,
int ta_skip);
extern BOOL HText_getFirstTargetInLine(HText *text,
int line_num,
int utf_flag,
int *offset,
int *tLen,
char **data,
const char *target);
extern int HTisDocumentSource(void);
extern void HTuncache_current_document(void);
#ifdef USE_SOURCE_CACHE
extern BOOLEAN HTreparse_document(void);
extern BOOLEAN HTcan_reparse_document(void);
extern BOOLEAN HTdocument_settings_changed(void);
#endif
extern BOOL HTLoadedDocumentEightbit(void);
extern BOOL HText_LastLineEmpty(HText *me, int IgnoreSpaces);
extern BOOL HText_PreviousLineEmpty(HText *me, int IgnoreSpaces);
extern BOOL HText_inLineOne(HText *text);
extern BOOLEAN HTLoadedDocumentIsHEAD(void);
extern BOOLEAN HTLoadedDocumentIsSafe(void);
extern bstring *HTLoadedDocumentPost_data(void);
extern const char *HTLoadedDocumentBookmark(void);
extern const char *HTLoadedDocumentCharset(void);
extern const char *HTLoadedDocumentTitle(void);
extern const char *HTLoadedDocumentURL(void);
extern const char *HText_HiddenLinkAt(HText *text, int number);
extern int HText_HiddenLinkCount(HText *text);
extern int HText_LastLineOffset(HText *me);
extern int HText_LastLineSize(HText *me, int IgnoreSpaces);
extern int HText_PreviousLineSize(HText *me, int IgnoreSpaces);
extern int HText_getCurrentColumn(HText *text);
extern int HText_getLines(HText *text);
extern int HText_getMaximumColumn(HText *text);
extern int HText_getNumOfBytes(void);
extern int HText_getNumOfLines(void);
extern int HText_getPreferredTopLine(HText *text, int line_number);
extern int HText_getTabIDColumn(HText *text, const char *name);
extern int HText_getTopOfScreen(void);
extern int do_www_search(DocInfo *doc);
extern void HText_NegateLineOne(HText *text);
extern void HText_RemovePreviousLine(HText *text);
extern void HText_setNodeAnchorBookmark(const char *bookmark);
extern void HText_setTabID(HText *text, const char *name);
extern void *HText_pool_calloc(HText *text, unsigned size);
/* "simple table" stuff */
extern BOOLEAN HText_endStblTABLE(HText *);
extern int HText_trimCellLines(HText *text);
extern void HText_cancelStbl(HText *);
extern void HText_endStblCOLGROUP(HText *);
extern void HText_endStblTD(HText *);
extern void HText_endStblTR(HText *);
extern void HText_startStblCOL(HText *, int, int, int);
extern void HText_startStblRowGroup(HText *, int);
extern void HText_startStblTABLE(HText *, int);
extern void HText_startStblTD(HText *, int, int, int, int);
extern void HText_startStblTR(HText *, int);
/* forms stuff */
extern void HText_beginForm(char *action,
char *method,
char *enctype,
char *title,
const char *accept_cs);
extern void HText_endForm(HText *text);
extern void HText_beginSelect(char *name,
int name_cs,
int multiple,
char *len);
extern int HText_getOptionNum(HText *text);
extern char *HText_setLastOptionValue(HText *text,
char *value,
char *submit_value,
int order,
int checked,
int val_cs,
int submit_val_cs);
extern int HText_beginInput(HText *text,
int underline,
InputFieldData * I);
extern void HText_endInput(HText *text);
extern PerFormInfo *HText_PerFormInfo(int number);
extern int HText_SubmitForm(FormInfo * submit_item, DocInfo *doc,
const char *link_name,
const char *link_value);
extern void HText_DisableCurrentForm(void);
extern void HText_ResetForm(FormInfo * form);
extern void HText_activateRadioButton(FormInfo * form);
extern BOOLEAN HText_HaveUserChangedForms(HText *text);
extern HTList *search_queries; /* Previous isindex and whereis queries */
extern void HTSearchQueries_free(void);
extern void HTAddSearchQuery(char *query);
extern void user_message(const char *message,
const char *argument);
#define _user_message(msg, arg) mustshow = TRUE, user_message(msg, arg)
extern void www_user_search(int start_line,
DocInfo *doc,
char *target,
int direction);
extern void print_crawl_to_fd(FILE *fp,
char *thelink,
char *thetitle);
extern char *stub_HTAnchor_address(HTAnchor * me);
extern void HText_setToolbar(HText *text);
extern BOOL HText_hasToolbar(HText *text);
extern void HText_setNoCache(HText *text);
extern BOOL HText_hasNoCacheSet(HText *text);
extern BOOL HText_hasUTF8OutputSet(HText *text);
extern void HText_setKcode(HText *text,
const char *charset,
LYUCcharset *p_in);
extern void HText_setBreakPoint(HText *text);
extern BOOL HText_AreDifferent(HTParentAnchor *anchor,
const char *full_address);
extern int HText_EditTextArea(LinkInfo * form_link);
extern void HText_EditTextField(LinkInfo * form_link);
extern void HText_ExpandTextarea(LinkInfo * form_link, int newlines);
extern int HText_InsertFile(LinkInfo * form_link);
extern void redraw_lines_of_link(int cur);
extern void LYMoveToLink(int cur,
const char *target,
const char *hightext,
int flag,
int inU,
int utf_flag);
#ifdef USE_PRETTYSRC
extern void HTMark_asSource(void);
#endif
extern int HTMainText_Get_UCLYhndl(void);
#ifdef KANJI_CODE_OVERRIDE
extern HTkcode last_kcode;
#endif
extern HTkcode HText_getKcode(HText *text);
extern void HText_updateKcode(HText *text, HTkcode kcode);
extern HTkcode HText_getSpecifiedKcode(HText *text);
extern void HText_updateSpecifiedKcode(HText *text, HTkcode kcode);
#if defined(EXP_WCWIDTH_SUPPORT) || defined(EXP_JAPANESE_SPACES)
extern BOOL isUTF8CJChar(const char *s);
#endif
#ifdef __cplusplus
}
#endif
#endif /* LYGRIDTEXT_H */
|