Files
FireBee_Setup-Dev/tools/highwire/html/hist-009.txt
2023-06-12 09:14:09 +02:00

7071 lines
227 KiB
Plaintext
Raw Blame History

File: "hist-009.txt" (newer changes in "history.txt")
October 29, 2002 [V. 0.09 release]
AltF4's patches
purewireprj, highwire.prj:
- dependencies updated.
October 27, 2002
AltF4's patches
highwire.h,
highwire.rsc, highwire.hrd, highwire.rso, highwire.rsm, highwire.rsd
- updated for new encoder entries.
global.h:
- line 45: new global variable for debugging purpose.
config.c:
- line 95.. (read_config): new keywords:
- LOCAL_WEB: directory for offline reading (see Location.c),
- LOGGING: =1 enables console logging,
- NO_IMAGE: =1 suppresses image loading.
Location.c:
- line 24: replaced define LOCAL_WEB by a char* which can be
modified with an entry in the highwire.cfg file.
- line 162 + 172 + 208 (new_location): adapted to new local_web
variable.
encoding.c
- line 204 (utf16_to_bics): overworked to avoid useless checks.
- line 357 (utf16_to_atari) + 420 (encoder_word)
+ 550 (utf16_to_8bit) + 589 (encoder_char): new encoders.
Rainer patches (of October 9, 2002)
global.h:
- line 71: new functions menu_logging(), menu_alt_text().
encoding.c
- line 204 (utf16_to_bics) + 408 (encoder_word): new encoder.
keyinput:
- line 79 + 82 (key_pressed): make use of functions instead of
direct variable access.
- line 154: new shortcuts ^F vor ISO Latin-15 and ^M for Macintosh
Roman.
AEI.c:
- line 395: new functions menu_logging(), menu_alt_text().
- line 411 (handle_menu) + 429 (update_menu): new cases for
ENCODING_ISO8859_15, _UTF16, _UTF16LE, _MACINTOSH, _ATARINVDI.
October 26, 2002
AltF4's patches
defs.h:
- line 132: changed definition to also allow nobreak space for the
system font.
fontbase.h:
- line 19: removed attribute ChrShft, was never used.
fontbase.c
- line 16 (font_base): added check for zero font id.
- line 32: removed ChrShft.
- line 140 (font_byType): corrected calculation of ascend/descend
for system/bitmap fonts.
scanner.h:
- line 36 + 59 + 79: extended argument lists of scan_namedchar(),
scan_string_to_16bit() and encoder_word().
- line 92: changed unicode_to_bics() to unicode_to_wchar() and
unicode_to_atari() to unicode_to_8bit().
scanner.c:
- line 366 + 382 + 410 + 412 + 425 (scan_namedchar) + 596 + 598
+ 618 (scan_string_to_16bit): additional argument mapping for the
encoder function and to avoid hard coded character codes.
en_atari.h:
- line 29: replaced literal space by defined symbol for 0x00A0.
- line 121: added missing entries for 0x301D, 0x301E, 0x301F.
en_bics.h:
- line 287: added missing entries for 0x301D, 0x301E, 0x301F.
encoding.c:
- line 273..: all functions renamed from the scheme .._to_atari()
to .._to_8bit().
- line 241..: new functions uni_2_atari() ... atari_to_atari() to
16-bit system/bitmap font.
- 248.. (encoder_word): overworked to handle system/bitmap font.
- 263: new function unicode_to_wchar() replaces unicode_to_bics().
Form.c:
- line 93 (form_radio) + 134 + 147 +164 (new_input): modified to
replace hard coded space characters.
- line 148 (new_input): use encoder instead of simple copying.
render.c:
- line 183 (render_TITLE_tag): additional argument for
scan_namedchar() call.
- line 960.. (render_Q_tag) + 1797.. (list_marker): overworked to
replace hard coded BICS codes by encoder function.
- line 1112 + 1142 (render_IMG_tag) + 1457 (render_BLOCKQUOTE_tag):
adapted to changed scan_string_to_16bit().
- line 2432 + 2455 + 2496 + 2508 (parse_html) + 2626
+ 2641 (parse_text): adapted to changed encoder_word().
- line 2518 (parse_html): adapted to changed scan_namedchar().
October 25, 2002
AltF4's patches
hw-types.h:
- line 68: enum ENCODING enhanced by ENCODING_UTF16 and
ENCODING_UTF16LE (by Rainer).
- line 77: moved ofer definition for min()/max() from defs.h,
looks more logical if this is located here.
defs.h:
- line 126: replaced definition of Space_Code by definitions for
every font type that will be supported in future.
- line 135: removed declaration of min()/max(), is in hw-types.h()
now.
Loader.c:
- line 24: removed include of macros.h, the necessary definitions
are in hw-types.h now.
global.h:
- line 104: added declaration of launch_viewer().
AEI.c:
- line 471: removed declaration of launch_viewer(), this is in
hw-types.h now.
fontbase.h:
- line 39: added two short hands for accessing of a font's space
and figure/nobrake space codes.
fontbase.c:
- line 10: removed defines for font type dependent space and
nobreak codes, this is in defs.h now.
en_bics.h, en_atari.h, en_uni.h:
- new file to take over the translation tables of encoding.c which
will grow rapidly soon. Rainer started this idea already by
introducing the uni_bics.h file but this way the scheme is more
logical.
encoding.c:
- all arrays are located now in the en_bics/_atari/_uni.h files.
- all occurences of Space_Code replaced by SPACE_BICS.
W_Struct.c:
- line 10: extended struct fixed to have it working for different
font types.
- line 20 (destroy_word_structure) + 79 (new_word): adapted
deleting to extended struct fixed.
- line 101 (word_store): modified to take care for different font
types.
Paragrph.c:
- line 594 (content_minimum): modified to take care for different
font types.
render.c:
- line 933 (render_A_tag) + 1113 + 1142 (render_IMG_tag)
+ 1457 (render_BLOCKQUOTE_tag) + 2133 (list_marker)
+ 2527 + 2542 + 2563 + 2575 (parse_html) + 2650 + 2672
+ 2684 (parse_text): modified to take care for different font
types.
Redraws.c:
- line 512 + 589 (draw_paragraph): modified to take care for
different font types.
purewire.prj:
- line 35: added option 'no string merging' to entry of scanner.c
to avoid a possible compiler bug.
October 23, 2002
AltF4's patches
hw-types.h:
- line 31: copied the MAP_.. definitions from gem.h, will be
needed for font stuff soon.
defs.h:
- line 95: new forward declaration.
- line 382: in struct word_item, new attribute font.
global.h:
- line 10: removed include of highwire.h, this should only be done
by the files which really need it.
schedule.c:
- line 10 replaced include of defs.h by hw-types.h, makes compiling
a little bit faster.
AEI.c:
- line 22: added include of highwire.h.
W_Struct.c:
- line 56 + 66 (new_word): preset font attribute.
fontbase.h, fontbase.c:
- new files to take over VDI font attribute aspects.
Form.c:
- line 176 + 189 (new_input): adapted to new font_byType()
function.
render.c:
- line 79: removed map(), not longer needed.
- line 1803 (long2decimal) + 1815 (long2alpha)
+ 1827.. (list_marker): overworked to reduce the number of
literally BICS codes.
- line 1154 (render_IMG_tag) + 1467 (render_BLOCKQUOTE_tag) + 2468
+ 2480 + 2451 (parse_html) + 2682 + 2690 (parse_text): adapted
to new font_byType() function.
Redraws.c
- line 405 (draw_image): marked argument as unused to keep PureC
quiet.
- line 473 + 526.. (draw_paragraph): adapted to new font_switch()
function.
HighWire.c:
- line 18: added include of highwire.h.
- line 156 (main): removed VDI font setting calls, will be done in
fontbase.c.
Makefile, purewireprj, highwire.prj:
- updated, special the dependencies should be complete now.
October 18, 2002
AltF4's patches
color.c:
- removed typedef CHAR, this is already in hw-types.h.
defs.h:
- line 12[19] + 14[21] + 129[143] + 147[169] + 281[315]:
definitions moved to hw-types.h.
- line [167] moved the define for vdi_handle to global.h where it
is placed better.
- line 304[338] + 320[354]: removed no longer used #ifdef.
- line 473[516] + 494[538]: in struct frame_item, new attributes
Language and quot_lang.
Frame.c:
- line 24[25] +50 [52] (new_frame): new attributes Language and
quot_lang.
global.h:
- line 28[25]: made vdi_handle, planes, ignore_colours macros to
access vdi_dev instead.
HighWire.c:
- line 61 + 178[187] (main): modified to open more than one window
if started with ore than one file.
- line 114[129]: changed usage of ignore_colours.
hw-types.h:
- new file to take over the main type definitions used in HighWire.
image.c:
- line 6[8]: removed no longer used #define.
Redraws.c:
- line 7: removed no longer used #define.
render.c:
- line 967[1023].. (render_Q_tag): overworked to avoid a static
variable in the function.
- line 1111 + 1140 (render_IMG_tag) + 1475 (render_BLOCKQUOTE_tag):
additional space_code argument for scan_string_to_16bit() calls.
- line 2162[2225] (render_LI_tag): additional check if the BRK
flag can be set to previous word item avoid crashes on NULL
pointer access.
scanner.c:
- line 19: include hw-types.h instead of defs.h to avoid some
strange compiler bug in Pure C 1.0.
- line 597[610] + 619[632] (scan_string_to_16bit): additional
argument space_code.
scanner.h:
- line 58: changed declaration of scan_string_to_16bit().
Variable.c:
- line 46 + 56: removed globals ignore_colours and vdi_handle,
since these are macros now.
Rainer's patches (October 9, 2002)
HighWire.c:
- line 37 + 56: removed declaration and usage of planes and
vwork_out[].
image.c:
- line 99 (new_image): changed type UWORD to WCHAR.
render.c:
- line 146 (render_HTML_tag): added support forLANG attribute.
October 14, 2002
AltF4's patches
hwWind.c:
- line 400.. (wnd_hdlr): overworked to fix the newly implemented
flickering bug of pages with non-loadable images; reduced calls
to graf_mouse() where possible because check_mouse_position does
this already.
Logging.h:
- line 5: added gcc extension to have the argument lists of
errprintf() and logprintf() checked.
Mouse_R.c:
- line 288 + 306 + 333 (check_mouse_position): modified to avoid
useless actions on iconified windows; displays now the text of
the link where the mouse is over (if any).
render.c:
- line 2603[2686]: avoids empty word items if a blank appears just
behind a tag that already produced an new word_item.
Rainer's patches (October 9, 2002)
Logging.c:
- line 56 (logprintf): changed type of color to short.
- line 71: corrected output handle to stdout.
October 13, 2002
AltF4's patches
AEI.c:
- line [5]: reverted Rainer's delete of includes for other
compilers than PureC.
- line 510[708] (process_messages): changed case AV_OPENWIND to
have it always opening a new window.
Containr.h:
- line 28: added missing enum values for images begin/end loading.
encoding.c:
- line [86] (utf8_to_unicode) + [591] (iso8859_15_to_bics)
+ [842] (iso8859_15_to_atari): additional braces to avoid
compiler warnings.
http.c:
- line [66] + [121] + [143] (http_charset) + [145] (content_type)
+ [244] (http_header): reverted Rainer's changes of cset and
type because this don't work with gcc this way.
- line 112[116] (http_charset): uses function macro.
http.h:
- line 10: corrected default value of Encoding (this must not be
negative in gcc due to enum!).
hwWind.c:
- line 21 + 382 + 72 (new_hwWind): function wnd_hdlr() taken over
from AEI.c, added handling of HW_SetTitle, HW_ImgBegLoad,
HW_ImgEndLoad.
- line 256: function hwWind_scroll() taken over from AEI.c.
hwWind.h
- line 30: function hwWind_scroll() taken over from AEI.c.
image.c:
- line 346[348] + 418[420] (image_job): uses enum values now.
inet.c:
- line 50 + 56 (find_drivers): added type casts to avoid warnings.
keyinput.c:
- line 86 + 93 + 99 + 105 + 111 + 117 + 121 + 125 (key_pressed):
adapted wind_scroll() calls.
Loader.c:
- line 24: more includes for gcc to have min() available.
- line 282[308] + 520[598] (loader_job): uses function macro.
Loader.h:
- line [32] + 31[36]: function macros for major and minor type of
MIME, that's better than having a bitmask in the enum.
Mouse_R.c:
- line 104 + 170 +189 + 254 (button_clicked): adapted
wind_scroll() calls.
render.c:
- line 21[94]: cast to WCHAR.
- line 170[196] (render_TITLE_tag): always initialize buffer.
Rainer's patches (October 9, 2002)
AEI.c:
- line 26 (appl_xgetinfo): added support for WINX.
- line 52: wind_scoll() and wind_handler() moved over to window
file.
- line 74: moved vastart() to here.
- line 78 (vastart): implemented reply message.
- line 146: additional GS_.. defines.
- line 237 (doGSCommand): [RS] Updated to GEMScript 1.2. Added
CheckCommand, Close, GetAllCommands.
- line 437 + 442 (handle_menu) + 447 (update_menu): menutree is
located now in HighWire.c.
- line 555 (process_messages): added cases for AV_PROTOKOLL,
VA_PROTOSTATUS, AV_SENDKEY, AV_OPENWIN.
- line 562: [RS] case GS_REQUEST updated to GEMScript 1.2 and
optimized.
- line 603: case AP_DRAGDROP added, always rejecting yet.
av_comm.h:
- line 92: corrected bit mask.
av_prot.c:
- line 51 (get_avserver): added check for "CAT".
- line 58 (Send_AV): changed type of argument to_ap_id to short,
added case for VA_PROTOSTATUS, improved the code, [RS] Changed
the warning supression for Pure C to an official way.
- line 103 (Receive_AV): additional argument msg, added cases for
VA_PROTOSTATUS and VA_PROTOSTATUS.
Containr.c:
- line 815 (containr_redraw): removed faulty wind_update() call.
Containr.h:
- line 29: new value HW_SetInfo
defs.h:
- line 16: [RS] Added several encodings and languages to enum.
encoding.c:
- line 16 (utf8_to_unicode): overworked.
- line 61 + 668 (iso8859_2_to_atari): overworked to make use of
ISO8859_2_to_Unicode[].
- line 61 + 494: new encoder macintosh_to_bics().
- line 495: new encoder iso8859_15_to_bics().
- line 507 (encoder_word) + 751 (encoder_char): added cases
ENCODING_ISO8859_15 and ENCODING_MACINTOSH.
- line 701: new encoders iso8859_15_to_atari() and
macintosh_to_atari().
global.h:
- line 60: moved process_messages() down.
- line 170: changed arguments of Send_AV() and Receive_AV().
HighWire.c:
- line removed extern xaccname, gsanswer instead.
- line 91 (main): changed allocating of global memory.
- line 135: shortend aximum window title length to 127.
- line 163 + 187: removed old code.
http.c:
- line 11: [RS] Added include for token.h and scanner.h.
- line 19 (http_charset): changed type of len argument.
- line 117: [RS] Now uses scan_encoding().
http.h:
- line 19: changed declaration of http_charset().
inet.c:
- line 42 + 57 (find_drivers) + 64 (init_stick): changed return
type.
-line 95 (inet_host_addr) + 126 (inet_connect) + 146 (inet_send)
+ 205 (inet_recv): [RS] Added several '(void)parameter' to
supress warnings from Pure C without USE_INET defined..
Loader.c:
- line 84 (parser_job): [RS] Skip HTML comment before check for an
HTML file.
- line 128: added extensions "jpeg" and "mpg".
- line 475 (new_loader_job): [RS] about: check for NULL pointer
returned by inet_info().
- line 905 (identify_AES): additional comments for cookie values.
Loader.h
- line 10: new value MIME_Unknown.
O_Struct.c:
- line 136 (new_url_link): preset of encoding.
render.c:
- line 82: changed type UWORD to WCHAR.
- line 217 (render_TITLE_tag): replaced useless strlen().
- line 623 (render_BASEFONT_tag): added support for font colour.
- line 916 (render_A_tag): make use of scan_encoding().
- line 974 (render_Q_tag): overworked for better language support.
- line 1040 (render_IOD_tag): [RS] Using container_notify() to set
window info. AES needs static memory!
- line 1323 (render_P_tag): [RS] Ignore a paragraph start just
behind a <LI> tag.
- line 1511 + 1514 (render_PRE_tag): support for WIDTH attribute,
set text condensed for more than 80 characters.
- line 1781 (list_marker): changed type UWORD to WCHAR.
- line 2432 (parse_html): use define instead of number.
scanner.h, scanner.c:
- line 62/629: new function scan_encoding().
token.h:
- line 122 + 132 + 143 + 157: updated comments.
October 10, 2002
AltF4's patches
defs.h:
- line 110: declaration for WCHAR in case that gemx.h get not also
included.
hwWind.c:
- line 22 + 136: new static set_size(), used in
line 159 (hwWind_resize) + 178 (hwWind_full).
- line 302 (hwWind_redraw): added code to have content of an
iconified window drawn.
Rainer's patches (October 9, 2002)
Containr.c:
- line 44: added missing delete_containr().
Containr.h:
- some comments corrected, no changes in code.
defs.h:
- line 48: Added several encodings and languages to enum.
- line 150 + 160 + 187 + 199 + 203..: corrected and added
structure member names of VDI_Workstation.
- line 218 + 221..: corrected types in struct xattr.
- line 382 + 462: changed type UWORD to WCHAR in.
encoding.c:
- line 8 +
line 13 (utf8_to_unicode) + 79 + 82 (windows1252_to_bics) + 99
+ 110 + 113 (iso8859_2_to_bics) + 133 + 147 + 150 (atari_to_bics)
+ 8 + 177 + 450 + 458 (unicode_to_bics) + 476
+ 479 (utf8_to_bics) + 9 + 527 + 629 + 635 (unicode_to_atari)
+ 655 (windows1252_to_atari): changed type UWORD to WCHAR.
Frame.c:
- line 169 + 171 + 202 + 222 (frame_calculate)
+ 241 (frame_slider): [RS] Added several unary plus signs to
force Pure C to calculate +(...) as first step and prevent the
compiler from arithmetic changes. (Pure C, Apendix F, p. 247)
Redraws.c:
- line 497 (draw_paragraph): changed type UWORD to WCHAR.
- line 595: made strike through line more thick.
render.c:
- line 664 + 743: new render_DEL_tag() and render_INS_tag().
scanner.c:
- line 257 + 373 + 409 + 422 + 445: comments corrected.
- line 264 + 371 + 410 + 415 (scan_namedchar)
+ 597 (scan_string_to_16bit): changed type UWORD to WCHAR.
- line 613 + 616 (scan_string_to_16bit): reordered cases.
scanner.h:
- line 41 + 47 + 54 + 72 + 75: comments corrected.
- line 58 + 70 + 84: changed type UWORD to WCHAR.
token.h
- line 32 + 49: new tags DEL and INS.
- line 131..: some comments corrected.
W_Struct.c:
- line 9: changed type UWORD to WCHAR.
October 8, 2002
AltF4's patches
AEI.c:
- line 52 + 99 + 313: removed old code.
- line 139 + 151 + 157 (wind_handler): replaced
number_of_frames_left_to_load by wind->isBusy.
- line 211 (vastart): added mouse position and shift key states.
- line 448 (menu_info) + 509 (menu_reload) + 610 + 638
+ 647 (rpopup_open): replaced access to active_keyboard_frame.
- line 659 + 671 (process_messages): added mouse coordinate
argument.
defs.h:
- line 240: added declaration for struct PXY.
global.h:
- line 30..: removed global variables window_handle, win_status,
pre_status, number_of_frames_left_to_load, active_keyboard_frame,
these are stored in hwWind structure now.
- line 67: added mouse coordinate argument to process_messages().
- line 70: removed wind_redraw(), replaced by hwWind_redraw().
HighWire.c:
- line 202 (main): added mouse coordinate to process_messages().
hwWind.h, hwWind.c:
- new structure members isBusy and Active.
keyinput.c:
- line 68 + 71 + 86 + 93 + 99 + 105 + 111 + 117 + 121 + 125 + 129
+ 136 (key_pressed): replaced active_keyboard_frame access by
top window.
- line 170: added shortcuts ^W (window cicle), ^U (window close).
Loader.c:
- line 97 (parser_job): remove setting of the active frame, will
be done by window_handler().
- line 840 (page_load): load new page to the top window.
Mouse_R.c:
- line 34 (button_clicked): store the active frame in the window
structure instead global.
- line 104: corrected scroll direction.
Variable.c:
- line 57..: removed global variables window_handle, win_status,
pre_status, number_of_frames_left_to_load, active_keyboard_frame.
October 6, 2002
AltF4's patches
AEI.c:
- line 21: include hwWind.h.
- line 124 (wind_handler) + 214 + 226 (vastart) + 290 (doGSCommand)
+ 801 (process_messages): overworked to make use of hwWind
functions.
HighWire.c:
- line 161 + 184 (main): replaced init_load() by new_hwWind().
hwWind.h, hwWind.c:
- new files for window handling.
keyinput.c:
- line 17: include hwWind.h.
- line 85 + 92 + 98 + 104 + 110 + 116 + 120 + 124 (key_pressed):
replaced window_handle by hwWind_Top->Handle.
Loader.c:
- line 745: outommented init_load().
Makefile, purewire.prj, highwire.prj:
- updated
Mouse_R.c:
- line 11: include hwWind.h.
- line 21 + 102 + 168 + 177 + 187 + 191 + 204
+ 244 (button_clicked) + 268 + 277 + 316
+ 330 (check_mouse_position): overworked to make use of hwWind
functions.
Paragrph.c:
- 374 (paragrph_word) + 892 (content_paragraph): corrected
boundary check.
render.c:
- line 20: include hwWind.h.
- line 1045 (render_IOD_tag): replaced wind_set by the hwWind
function.
October 5, 2002
AltF4's patches
render.c:
- line 257 + 334 (render_FRAMESET_tag): moved the search for data
end to the bottom of the function where it belongs.
October 3, 2002
AltF4's patches
Containr.c:
- line 27 + 32 (new_containr): preset Base and HighLight.
- line 230: new function containr_highlight() to store link
highlighting at a per-container base, necessarry for multi window
support.
- line 708 + 715 + 741 (containr_redraw) + 788 + 799 + 845
+ 851 (containr_scroll): additional argument highlight.
Containr.h:
- line 45: new struct members Base and HighLight.
- line 107: new function containr_highlight().
defs.h:
- line 20: value PAR_FORM removed, useless.
- line 46: forward decls FORM and FRMSTACK removed.
- line 361: in struct WORDLINE back refference and vertical offset
added.
- line 390: in struct paragraph_item Form removed.
- line 440: in struct frame_item FormStack removed, type of
FormList changed, form to substructure current added.
- line 485: in struct url_link type of start changed to word_item
pointer.
Form.h, Form.c:
- new function new_form(), old code removed.
Frame.c:
- line 41 + 49 (new_frame): preset of FormList and current->form.
global.h:
- line 39: current_highlighted_link removed, not longer needed.
- line 83 + 86: additional argument highlight for frame_draw() and
draw_contents().
- line 131: additional argument WORDITEM for new_url_link().
- line 171: new function word_offset().
Mouse_R.c:
- line 170 (button_clicked): handles clicks on form buttons.
- line 261.. (check_mouse_position): overworked to make use of the
highlighting information stored by the container instead of
current_highlighted_link.
O_Struct.c:
- line 129 + 135 (new_url_link): additional argument to store the
word_item where this link began.
Paragrph.c:
- line 135 + 286 (paragraph_calc): set new WORDLINE attributes.
- line 348 (paragrph_word): overworked to take advantage of the
improved WORDLINE structure.
- line 423 (paragraph_extend): made it more robust against
unexpected conditions.
Redraws.c
- line 15 + 82 (frame_draw) + 381 (draw_image)
+ 470 (draw_paragraph) + 544 + 561 (draw_paragraph) + 622 + 672
+ 675 (draw_contents): additional argument highlight.
render.c:
- line 133..: replaced all #ifdef __PUREC__ by a macro define.
- line 933 + 949 (render_A_tag): additional argument for
new_url_link() call.
- line 2431: new function render_FORM_tag().
- line 2504 (parse_html): removed old code.
Table.h / Table.c:
- line 73 / 899 + 934 (table_draw): additional argument highlight.
token.h:
- line 109 + 134 + 145: new keys ACTION and METHOD for form tags.
Variable.c:
- line 64: removed current_highlighted_link, not longer needed.
W_Struct.c:
- line 203: new function word_offset() to calculate the vertical
distance of a word to its paragraph's top.
October 1, 2002
AltF4's patches
Containr.h, Containr.c:
- line 450 (containr_Element): added identification for form input
elements.
defs.h:
- line 253: removed struct clipping_area because this is the same
as struct GRECT and nowhere used anymore.
Form.h, Form.c:
- line 215: new function input_isEdit().
Frame.c:
- line 79 (delete_frame): removed clearing of
current_highlighted_link_.. pointers.
global.h, Variable.c:
- line 38 / 63: replaced current_highlighted_link_area and
current_highlighted_link_frame by the one url_link pointer
current_highlighted_link.
Location.c:
- line 99 (new_location): added forgotten trailing '\0' to the
base path string.
Mouse_R.c:
- line 241 + 500: removed old code.
- check_mouse_position(): overworked to handle form input elements
and to avoid false highlighting if the mose pointer is over an
overlapping window.
Redraws.c:
- line 544 (draw_paragraph): replaced word->link comparsion with
current_highlighted_link_area.
September 29, 2002
AltF4's patches
AEI.c:
- line 353 (iconify_window) + 368 (uniconify_window) + 712 + 719
+ 723 + 733 + 756 (process_messages): frame->clip adapted to
GRECT struct.
Containr.h, Containr.c:
- line 370 (containr_relocate) + 509 + 522 (containr_shift) + 626
+ 692 702 (containr_scroll): frame->clip adapted to GRECT
struct.
- line 349: new function containr_Element();
defs.h:
- line 378 (struct word_item): new attribute line.
- line 441 (struct frame_item): type of clip changed to GRECT.
- line 491 (struct url_link): new attribute start.
- line 485: moved struct word_line befor struct word_item.
Frame.c:
- line 34 (new_frame) + 97 + 99 + 103 + 106 + 113 + 119 + 122 + 136
+ 139 + 142 + 145 + 147 + 149 + 170 180 + 187 + 198 + 200 + 217
+ 225 + 229 (frame_calculate): frame->clip adapted to GRECT
struct.
- line 267: new function frame_paragraph().
global.h:
- new functions set_mouse_watch(), frame_paragraph(),
paragrph_word(), paragraph_extend(), content_paragraph().
HighWire.c:
- line 211: new function set_mouse_watch() to modify the mouse
pointer movement watching rectangle.
image.c:
- line 406 (image_job): frame->clip adapted to GRECT struct.
keyinput.c:
- line 105 + 117 (key_pressed): frame->clip adapted to GRECT
struct.
Loader.c:
- line 786 (init_load): activate mouse pointer watching after
window opend.
Mouse_R.c:
- button_clicked() and check_mouse_position() overworked to make
use of the new containr_Element() function and also to extend the
functionality of user actions.
O_Struct.c:
- line 134 (new_url_link): preset link->start.
Paragrph.c:
- line 173 + 252 + 281 + 287 + 303 + 306(paragraph_calc): modified
to set the lines start attribute.
- line 367: new functions paragrph_word(), paragraph_extend().
- line 704: new function content_paragraph().
- line 123: content_setup(), content_destroy() moved behind
paragraph_extend().
Redraws.c:
- line 19 + 68 + 80 (frame_draw) + 91 + 93 + 102 + 180 (draw_vbar)
+ 211 + 213 + 222 + 296 (draw_hbar): frame->clip adapted to
GRECT struct.
Table.h, Table.c:
- new function table_content().
September 23, 2002
AltF4's patches
defs.h:
- line 25: made ALN_NO_FLT a #define to avoid Lattice C warnings.
- line 79: added (provisionally void) pointer for form input to
struct word_item.
Form.h, Form.c
- new functions new_input() and input_draw().
render.c:
- line 18: added include of Form.h.
- line 1160 (render_IMG_tag): corrected clearing of SPACE flag.
- line 2434: new function render_INPUT_tag().
Redraws.c:
- line 9: added include of Form.h.
- line 579 (draw_paragraph): added call to input_draw().
Table.c:
- line 309 (table_cell): added missing setting for 'align=left' to
allow overriding of a previous '<tr align=..>'.
token.h:
- line 116 + 132: new keys CHECKED and MAXLENGTH.
W_Struct.c:
- line 26 (destroy_word_structure): prepared for deleting of form
input struct, outcommented yet.
- line 79 (new_word): preset input pointer.
September 20, 2002
AltF4's patches
Location.c:
- line 194 (new_location): fixed logprintf() call.
render.c:
- completely restructured order of functions. all parse_<tagname>
and parse_<tagname>_tag functions called by parse_html are
renamed to render_<TAGNAME>_tag and sorted by meaning of HTML.
- parse_html(): replaced the giant switch() statement of tags by a
function table (automatical created fro token.h). this makes
rendering of complex pages up to 10% faster.
September 17, 2002
AltF4's patches
defs.h:
- line 318: in TEXTATTR struct, new attribute for condensed text.
- line 327: defines for asking of changed text attributes.
- line 334: macro defines for condensed text.
render.c:
- line 1983 (parse_html): set condensed for TAG_CODE.
- line 2054: overworked TAG_LISTING because this must create a new
paragraph. also uses condensed text now.
- line 2224..: overworked to calculate condensed text.
Redraws.c:
- line 524..538 (draw_paragraph): overworked to draw condensed
text.
- line 583: decreased line height of strike through, looks better.
September 16, 2002
AltF4's patches
defs.h:
- line 441: in struct word_item, new attribute prev_wrd that holds
the previous word_item just before the actual to store <br> line
breaks.
Paragrph.c:
- line 116 (add_paragraph): reset attribute prev_wrd.
- line 589 (content_calc): re-inserted (again) accidently removed
setting of Y.
render.c
- line 769 (parse_BR_tag): removed stored_word argument.
- line 782: changed to make use of current->prev_wrd instead of
stored_word.
- line 1520 + 1555..1583 (parse_img_tag): overworked to have a fix
font size and face for ALT texts.
- line 1881 + 1913 + 1952 + 2013..2020 + 2033..2037 (parse_html):
removed stored_word variable, replaced by current->prev_wrd.
Table.c:
- line 324 (table_cell): restricted nonsens set values for cell
height and width.
W_Struct.c:
- line 50 (new_word): preset attribute prev_wrd.
September 15, 2002
AltF4's patches
Paragrph.c:
- line 590 + 654 (content_calc): removed multiple setting of Y.
- line 655: re-inserted accidently removed stuff for alignment of
paragraphs without floating.
render.c:
- line 122 (get_align): removed check for WorkCell->DummyFor, this
is fixed now in Table.c.
Table.c:
- line 58 + 107 (table_start) + 229 + 380 (table_cell): changed
return type to void.
- line 381 (table_cell): restore values of WorkCell and NumCells
to avoid WorkCell pointing to a useless Dummy cell.
Table.h:
- line 67 + 69: changed return types to void.
September 14, 2002
AltF4's patches
defs.h:
- line 4: set version minor to 9.
- line 24: changed enum H_ALIGN.
- line 393: added attribute floating to struct PARAGRPH to store
if following paragraphs shall float around.
- line 468: moved struct blocking_area to Paragrph.c because its
only used there.
image.c:
- line 328 + 375 (image_job): added check if par->min_width needs
to be changed.
Paragrph.c:
- line 11 () + 175 (paragraph_calc) + 353 (punch)
+ 373 + 392 (content_minimum): removed typedef TEXTWORD, make
use of WORDITEM instead.
- line 11: changed struct blocking_area to have two seperate
bottoms for both left and right.
- line 159.. (paragraph_calc): overworked to dial with two
seperate bottoms for both left and right.
- line 561 (content_calc): overworked to dial with two seperate
bottoms for both left and right and simplyfied by merging common
code parts.
render.c:
- line 782 (parse_BR_tag): added check for <br clear> as found in
some older HTML files.
- line 1525.. (parse_img_tag): floating around an image is stored
now in paragraph->floating.
Table.c:
- line 73 (table_start) + 435 (free_stack): removed SavedAlign,
not needed anymore.
- line 85 (table_start): floating around a table is stored now in
par->floating.
Table.h:
- line 21: removed SavedAlign attribute.
September 11, 2002
AltF4's patches
defs.h:
- line 24: changed order of enum H_ALIGN for easier comparsion.
Paragrph.c:
- line 145 (content_destroy): enabled freeing of tables.
- line 610 +722 (content_calc): included justified alignment into
checking.
Table.c:
- line 28: added forgotten delete_table() function.
- line 55 (table_start): removed useless check for ALN_JUSTIFY.
Table.h:
- line 69: declaration for delete_table().
September 10, 2002
AltF4's patches
color.c:
- line 9: new struct SRGB to also store the saturation of colours.
- line 12: new function to calculate the saturation. this is
simply the difference between the highest and the lowest
componente of a colour. eg. for pure bright red/green/blue it is
255 and for all black/gray/white it is 0.
- line 19 (remap_color): overworked to include saturation into
comparsion.
- line 78: removed old stuff.
Form.c:
- line 12: inserted #include "Form.h" to make it working with gcc.
Makefile:
- changed line ends to LF only (unix style). else 'make' refuses
to process it.
parser.c:
- line 252..284 (parse_tag): overworked to avoid double checking
of quotation marks.
August 30, 2002
Baldrick's patches (actually a few patches after a week of bug hunt)
Parser.c
These are some modifications I'm not 100% happy about. They deal
with some sites using a ' instead of " in the key area of tags
- line 260-263 added if else pair to intercept ' and parse it
- line 283 catch ' at end and handle advance
Render.c
- line 116 added a check for page and para being centered in get_align
this gets rid of one of the remaining problems with centering
- line 122 get_align() check if TableCell is a DummyFor if it is
then get the data from the DummyFor pointer (DummyFor cells are
blank cells coverd by ROWSPAN or COLSPAN) Thanks to Rainer
for helping me track this one down.
- line 556 parse_header_tag() added short cur_color to track the
current font_step color
- line 580 parse_header_tag() extract the current color
- line 592 parse_header_tag() if color is -1 use the cur_color value
- parse_p_tag() removed excess indents no code change
Table.c
- line 309,311,313 added setting of cell->Content.Backgnd to line
August 21, 2002
Baldrick's patches
Form.c, Form.h
- New files for FORM functions
Highwire.PRJ, PureWire.PRJ and Makefile updated
defs.h
- added defines for FRMSTACK and FORM
- added FRMSTACK FormStack to frame_item struct
- added include for Form.h for PureC
- added FORM_METHOD enum
- updated HIGHWIRE_VERSION to 0.09
- added FORM Form to paragraph_item struct
Render.c
- line 1996: call form_start() and form_finish() as appropriate
August 20, 2002
Baldrick's patches
AEI.C
- reworked process_messages again to eliminate the possibility
of scroll by line operating by page
Defs.H
- line 20: added PAR_FORM to PARAGRAPH_CODE enum
Render.C
- line 1995: grab out FORM tag, do nothing with it yet
- line 2028: grab out INPUT tag, do nothing with it yet
- line 2097: grab out SELECT tag, do nothing with it yet
Token.h
- line 41 new tag FORM
- line 49 new tag INPUT
- line 58 new tag OPTION
- line 66 new tag SELECT
August 19, 2002
Baldrick's patches
AEI.C
- reworked process_messages to handle all WM_ARROWED message types
this allows realtime scrolling with programs like MWheel. I put
in full support even though MWheel doesn't seem to send them all
but that could be a limitation of my IBM scroll point mouse.
Scrolling is based on frame under Mouse pointer.
August 15, 2002
Baldrick's patches
AEI.C
- line 699 initial support for WM_ARROWED message
August 14, 2002 (HW 0.0.8a released code)
AltF4's patches
cache.c:
- line 24 + 39 (cache_insert): changed argument to take over the
new cache object (to avoid further use of non-const pointer).
- line 71 (cache_lookup): corrected return value.
- line 79 (cache_bound): changed return type.
cache.h:
- line 4 + 7: changed declarations.
defs.h:
- line 264 + 281: moved over forground and background colour to
struct s_img_data.
- line 265 + 271: renamed pointer type for caching types..
- line 404 + 417 + 420: removed outcommented stuff.
image.c:
- line 19..35: changed return types of image reader functions.
- line 54: added rasterizer function pointer.
- line 156 + 186 (new_image) + 199 + 205 + 208 (delete_image)
+ 228 + 236 + 239 (image_calculate) + 277 + 280..301 + 330
(image_job): adapted to changed pointer types.
- line 152 + 176 (new_image): moved setting of display size.
- line 169: improved size calculation if the image was found in
cache to get reasonable values for percentage sized images.
- line 219: new function img_scale().
- line 246 (image_calculate): improved size calculation if the
image was found in cache to get reasonable values if some size
value wasn't given.
- line 264 (image_job): simplified code.
- line 365: moved over scaling to img_scale().
- line 837 (read_gif): overworked due to changed RASTERINFO.
keyinput.c:
- line 135 (key_pressed): on HELP key pressed, open the related
page in the main frame. this is much more logical.
Location.c:
- line 166..167 + 184 (new_location): these both lines were
toggled by accident. fixing this makes the fix below needless.
Paragrph.c:
- line 411 (content_minimum): corrected minimum value for images
with percentage width.
Redraws.c:
- line 400 + 405 + 434 (draw_image): adapted to changed IMGDATA.
render.c:
- line 1995 + 2182 (parse_html): moved the the 'case FRAMESET'
just befor the 'case HTML' to avoid crashes due to rubbish html
code.
August 13, 2002
Baldrick's patches
Containr.c
- line 164 set frame->scroll from cont->scroll
Containr.h
- line 55 added SCROLL_CODE scroll to s_containr struct
Defs.h
- line 37 new enum SCROLL_CODE - handles Frame scrolling value
- line 417 added SCROLL_CODE scroll to frame item struct
Frame.c
- line 30 init frame->scroll to SCROLL_AUTO
- frame_calculate() over worked to handle new SCROLL_CODE values
Redraws.c
- line 45 put scroller drawing inside if not SCROLL_NEVER test
Render.c
- line 1741 added output
- line 1748-54 handle key SCROLLING
Token.h
- line 133 added new key item SCROLLING
August 12, 2002
Baldrick's patches
Redraws.c
- 152 changed + 1 to +2 to get rid of ghost line
- many notes added to draw_vbar() for reference
August 11, 2002
AltF4's patches
AEI.c:
- line 603 (rpopup_open): changed int to WORD of HW_form_do()
declaration.
- line 607: moved the popup 2 pixels up/left to make it more easy
to catsh it with the mouse.
- line 610 + 620: placed wind_update() calls to get exvlousive
access of mouse clicks.
cache.c:
- line 15: added anonymous destructor function attribute.
- line 24 + 30 (cache_insert): added anonymous destructor argument
to make it possible to remove not longer refferenced objects
without any knowledge about their structure.
- line 77 + 83 (cache_bound): added argument to share the cache's
location. this saves a bit of mamory and makes cache hits of
percentage scaled images faster.
- line 94 + 104 (cache_release): added argument to determine if an
object shall be removed immediately (in case that it isn't used
any longer).
- line 127: new function cache_clear().
- line 130 (cache_info): added argument to return a list of
detailed cache information.
cache.h:
- extended some declarations and added new.
image.c:
- line 100 +139 (new_image): moved some settings below, else these
case a crash if loading an image directly.
- line 165: set display width and height to the original image
size.
- line 168: extended cache_bound() call.
- line 194 (delete_image) + 225 (image_calculate): extended
cache_release() call.
- line 251 (image_job): corrected hash value, fixed redrawing.
inet.h, inet.c:
- line 228: new function inet_info() to return the interface type.
Loader.c:
- line 381 + 455 (new_loader_job): moved free_location() to the
end of the function.
- line 388: overworked "about:" stuff, it understands now also
"about:cache".
- line 411 + 423 + 432 + 440 + 449 + 453: replaced
loader->Location by local variable loc.
Widget.c:
- line 28..33 (HW_form_do): changed int to WORD, else gcc uses
August 9, 2002
Baldrick's patches
Makefile, purewire.prj, highwire.prj:
- updated.
AEI.C
- line 584 added routine rpopup_open()
Global.h
- line 74 added proto for rpopup_open()
Highwire.rsc
- updated for right popup
Highwire.C
- line 34 added OBJECT *rpopup
- line 150 added rsrc_gaddr for RPOPUP
Loader.c
- line 347 new routine launch_viewer() - launches "viewer"
on system if one defined, shows the src code for the current
file. For comparisons and to help identify problems.
Location.c
- line 184 added test for loc_proto == 1 (about:) otherwise
we had the proto overwritten and could not display about:
Widget.c
- new file for handling HighWires Widgets and their operation
not much there yet.
August 8, 2002
AltF4's patches
Makefile, purewire.prj, highwire.prj:
- updated.
cache.h, cache.c:
- new files for memory caching functions.
image.c:
- line 96 (new_img): lookup if the image is already in cache.
- line 108 + 98: moved initialization part to the beginning.
- line 155: if the image is already in memory and scaling matches
share it.
- line 165: avoid reloading a found image.
- line 178 (delete_image) + 199 (image_calculate): uses
cache_release() now.
- line 217..285 (image_job): only load image if not found in
cache.
Location.c:
- line 242 (location_equal): corrected comparsion.
Location.h:
- line 25: changed return type of location_equal() to BOOL.
Paragrph.c:
- line 251 + 260 + 272 (paragraph_calc): corrected offsets for
clickable areas, named locations and images.
render.c:
- line 223..275 (parse_anchor): replaced p_frame->current by local
current variable.
- line 261: corrected offset argument for new_named_location().
August 7, 2002
Baldrick's patches
Global.h
- line 69 changed prototype for button_clicked()
Highwire.c
- line 42 modified mouse entries in EVMULTI_IN struct
I left the old values in a rem since I'm not certain
about what I've added and if everything is there that's
needed.
- line 199 added out.emo_mbutton to button_clicked() call
Mouse_R.c
- line 17 added WORD button parameter to button_clicked() routine
- reworked button_clicked() routine to handle left and
right mouse button operation
AltF4's patches
color.c:
- line 3: inserted #include <stddef.h> for size_t declaration.
defs.h:
- line 68: new forward declaration for struct word_item.
- line 247: new structure IMGDATA that can be shared by different
IMAGE structures.
this must be enclosed in a #ifdef block else Pure C 1.0 produces
corrupted binaries !!!
- line 248..255 (struct s_image): several attributes are located
in IMGDATA now.
- line 347 + 355 + 414: replaced struct word_item * by WORDITEM.
image.c:
- line 5: #define to avoid compilerbug in PureC 1.0
- line 116 (new_image): removed setting of no longer existing
img->fd_.. attributes, set img->data instead.
- line 184 (delete_image) + 204 (image_calculate)
+ 231 (image_job) + 302 + 328 + 339 (setup)
+ 889 + 925 (read_gif): adapted to IMGDATA structure.
Redraws.c:
- line 6: #define to avoid compilerbug in PureC 1.0
- line 396 (draw_image): adapted to IMGDATA structure.
Variable.c
- line 3: inserted #include <stddef.h> for size_t declaration.
August 6, 2002
AltF4's patches
AEI.c:
- line 120 (wind_handler): changed pointer argument type to const.
- line 437 + 472 (menu_info): changed pointer types to const,
avoid usage of location->FullName.
Containr.c:
- line 717 (containr_notify): changed pointer argument type to
const.
Containr.h:
- line 31 + 174: changed pointer argument type to const.
http.c:
- line 265 (http_header): avoid usage of location->FullName.
Loader.c:
- line 277 (loader_job): added old location argument for servers
returning invalid (not absolute) redirects like atari-source.com
does.
- line 674 (init_load): changed pointer argument type to const.
Location.c:
- line 40 (_alloc): extended to copy path and file into a newly
created structure.
- line 62 (new_location): removed variables *p, path_ln, file_ln,
merge, is_tos, uses dir instead.
- line 68: moved LOCAL_WEB stuff below.
- line 83: creating of __base location adapted to new dir_entry().
- line 175: creating of __local_web adapted to new dir_entry().
- line 183: removed the parsing of the path. this is done now by
the new dir_entry() function.
- line 256 (free_location): additional check to not free the
__local_web structure.
- line 274: new location_Path() to return the path (without the
file name) of a location.
- line 275: new location_equal() to check if two locations reffers
the same object (will be needed for caching).
- line 360: new function dir_entry() to parse and merge the path
part of a URL.
Location.h:
- line 11: new anonymous attribute Dir.
- line 12: removed attribute isTos, not longer used.
- line 24: new declarations location_Path() and location_equal().
render.c:
- line 2294 (parese_html) + 2415 (parse_text): avoid usage of
location->FullName.
August 5, 2002
AltF4's patches
defs.h:
- line 20: rearanged order of enum PARAGRAPH_CODE to have the
highest values for the items which need the most exceptions.
- line 32: changed values of enum L_BRK. now they can be handled
a bit easier by using and/or operations.
- line 38: removed enum direction.
- line 332: in struct word_item, added length attribute to store
the number of 16bit characters.
Paragrph.c:
- line 174 (paragraph_calc): simplified the code a bit by using
word->space_width and word->length to determine spaces.
- line 394 (content_minimum): removed if() branch.
- line 403: simplified if() branch for empty words, line breaks
are now simply or'ed together.
- line 427: if a word item contains no Space_Code clear the
space_width.
- line 472: line breaks are now simply or'ed together.
Redraws.c:
- line 560 (draw_paragraph): removed increment of space_width.
render.c:
- line 193 (parse_blockquote_tag) + 1889 + 2196 (parse_html)
+ 2333 (parse_text): corrected value for word->space_width.
- line 764 (parse_BR_tag) + 2023 (parse_html) + 2367 (parse_text):
replaced BRK_NONE by BRK_LN, this makes the cood looking a bit
more clear.
W_Struct.c:
- line 7: static field for word_items with no or only Space_Code
content.
- line 12 (destroy_word_structure): changed if() to not free the
static field above, a null pointer can't occure anymore.
- line 64 (new_word): always initialize word item with the Empty
field. this makes the code a bit more robust.
- line 79 (word_store): if there is no content to store the word
item stays untouched because it already is set to the Empty
field. if there is only one Space_Code to store it will be set
to the Space field and word_width is exactly space_width. Else
the function behaves as befor. this saves a bit of processing
time due to less malloc/free calls.
August 2, 2002
AltF4's patches
AEI.C
- line 491 (menu_reload): set bit 7 of the encoding to force the
parser to use it.
http.c:
- line 113 (http_charset): fixed start of scanning, else it tryed
to interprete the ';'.
Paragrph.c:
- line 161 (paragraph_calc): overworked to get correct line breaks
(only at a blank or <br> tag).
- line 361: new function punch() to remove one or more word_items
from the linked list.
- line 374 (content_minimum): inserted code to calculate the
correct minimum width of paragraphs, regarding blanks. this code
also filters out invalid/empty/useless word_item.
- line 404 (content_maximum): removed wor_item check, already done
in content_minimum().
render.c:
- line 262 (parse_anchor): changed storing method of <a name=..>
anchors.
- line 265: removed check for link type, not necessary anymore.
- line 1858 + 1872 + 2026 (parse_html): determine if the frame's
encoding was set by an user action (if bit 7 is set) to prevent
if from geting overwritten by a meta tag.
- line 2295 (parse_text): masks out the force_cset bit.
Table.c:
- line 94 (table_row): inserted word_store() call to avoid invalid
word_items.
- line 210 + 269 (table_cell): moved up word_store() call.
token.h:
- line 106...: added several comments about wich key is used by
which tag.
W_Struct.c:
- line 58 (new_word): removed check for link type, not necessary
anymore.
- line 82 (word_store): removed setting of paragraph minimum, this
will be done in content_minimum() instead.
July 26, 2002
AltF4's patches
AEI.c:
- line 375... new/renamed functions:
- menu_about() was previous do_info_dialog() from HighWire.c.
- new menu_open() for entering an URL and/or opening the file
selector.
- new menu_info() to give some basic information about the active
frame.
- new menu_reload().
- new menu_fontsize() to change the displayed font size.
- handle_menu() moved over from HighWire.c.
- new update_menu(): to set the charset entry checked depending
to the active frame.
- line 462 (process_messages): extended handle_menu() call.
defs.h:
- line 4 + 7: updated version.
global.h:
- line 70: extended process_messages() declaration.
- line 73: new functions update_menu(), menu_open(), menu_info(),
menu_quit(), menu_reload(), menu_fontsize(). These are used by
both menu bar selection and keyboard hot keys.
- line 96: removed handle_menu() declaration, is now static in
AEI.c.
- line 101: removed do_info_dialog() declaration, is now static
function menu_about() in AEI.c.
HighWire.c:
- line 193 (main): extended process_messages() argument list.
- line 224...: moved do_info_dialog() and handle_menu() over to
AEI.c.
highwire.rsc, highwire.h, highwire.rso:
- extended, generated by resource editor.
keyinput.c:
- line 14 (key_pressed): corrected argument 'state' to type UWORD
because this is a bit mask.
- line 68: added update_menu() to set the actual charset entry
checked.
- line 72 + 166 + 172 + 178 + 184 + 190: replaced new_loader_job()
calls by menu_reload().
- line 85..120: reformatted for better readability.
- line 130: corrected margins to default values.
- line 140 + 152: replaced code by menu_reload() call.
- line 197..212: replaced calls by menu_...() calls.
Loader.c:
- line 97 (parser_job): added update_menu() to set the actual
charset entry checked.
- line 644: removed unused translate_address().
Mouse_R.c:
- line 165 (button_clicked): added update_menu() to set the actual
charset entry checked.
render.c:
- line 526 (parse_font_tag): added a check if the word is a link
to avoid wrong colours of anchors.
July 24, 2002 (v0.0.7 alpha)
AltF4's patches
Paragrph.c:
- line 576 + 580 (content_calc): added left margin width.
Redraws.c:
- line 604 (draw_contents): added a check if the background needs
to be drawn at all.
render.c:
- line 1486 (parse_hr_tag): corrected colour setting for size=1
and noshade.
W_Struct.c:
- line 90 (word_store): uses the slightly faster vqt_f_extent16n()
if gemlib 0.42.2 is installed.
July 23, 2002
Baldrick's patches
Defs.h
- added H_ALIGN ALN_FLEFT for forced left alignments on floating
objects (starting with tables)
Paragrph.c
- line 518 removed line
- line 531 removed line
- reworked table section of content_calc() initial table wrapping
work in place
Table.c
- line 57 added parsing and setting of align left = ALN_FLEFT
New HTML file TEXTWRAP.HTM to test text wrapping and br clear=x
Matthias Jaap's patches
Render.C
- line 670 new routine parse_iod4_tag()
- only supported attribute is SHOUT
- line 2006 added parsing of TAG_IOD
- line 2021 added code for TAG_LISTING
- line 2153 added code for TAG_XMP
token.h
- line 48 added new tag <IOD4> - supported by the browser of the
same name
- line 51: added tag <LISTING>
- line 79: added tag <XMP>
- line 133 added key SHOUT attribute (for IOD4)
AltF4's patches
Containr.c
- line 28 (new_containr): set the base container's name to '_top'.
- line 249 (containr_byName): recognizes special target names.
defs.h
- line 15: removed ENCODING_BICS because this can never be a
source encoding, added ENCODING_Unknown.
- line 380: in struct frame_item, added attribute Encoding.
encoding.c
- line 510 (encoder_word) + 755 (encoder_char): removed not longer
existing case ENCODING_BICS.
Frame.c
- line 18 (new_frame): extended argument list for setting of
encoding and margin width/height.
global.h
- line 90: extended new_frame() argument list.
Highwire.htm
- updated to illustrate margins
http.c
- line 18 (http_charset): corrected return type.
- line 148 (content_type): corrected checking of type and cset.
image.c
- line 101 (new_image): adapted to changed new_frame().
keyinput.c:
- line 72..189 (key_pressed): adapted to changed new_loader_job().
Loader.c
- line 66 (new_loader_job): extended argument list to have
encoding and margins set.
- line 66 (parser_job): adapted to changed new_frame().
- line 266 + 274 + 307 (loader_job): get now encoding from loader
instead of location.
- line 351 (new_loader_job): extended argument list for storing of
encoding and margin width/height.
- line 437: removed lot of long-time outcommented stuff.
- line 549 + 678 (load_file): added encoding argument.
- line 763 (init_load): removed setting of container name, this
will be done by new_containr.
- line 779 (init_load) + 824 (page_load): adapted to extended
new_loader_job().
Loader.h
- line 39: added attributes Encoding, MarginW/H.
- line 49: extended new_loader_job() argument list.
Location.c
- line 44 (_alloc): removed encoding setting.
Location.h
- line 9: removed attribute encoding because this doesn't belong
here but to frame and loader.
Mouse_R.c:
- line 158 (button_clicked): adapted to changed new_loader_job().
render.c
- line 198 (parse_blockquote_tag) + 662 + 665 (parse_meta_tag)
+ 1499 + 1547 (parse_img_tag) + 1577 (parse_title)
+ 1644 (parse_embed) + 1840 (parse_html) + 2268 (parse_text):
get now encoding from loader instead of location.
- line 1729 (parse_frameset): adapted to changed new_loader_job().
July 22, 2002
Baldrick's patches
Defs.h
- line 32 added new enum L_BRK - for handling BR clear codes
- modified line_brk to L_BRK
Paragrph.c
- line 310 -inserted code to handle clear code line breaks
(I'm not 100% happy with it's output - baldrick)
Render.c
- line 736 new routine parse_BR_tag() handles BR parsing
- line 1919 changed code to call parse_BR_tag() routine
- line 1993 changed line_brk code to BRK_NONE
- line 2323 changed line_brk code to BRK_NONE
Token.h
- line 110 added key CLEAR
July 21, 2002
AltF4's patches (several days worth)
purewire.prj, highwire.prj:
- corrected dependency for Table.c
Containr.c:
- line 493 + 506 (containr_shift): adapted to changed struct
frame_item.
defs.h:
- line 358: new colour attribute Backgnd in struct s_paragrph.
- line 378: in struct frame_item, new substructure CONTENT to
group attributes item, page_minimum, page_width, page_height,
background_colour, alignment.
encoding.c:
- line 656 (windows1252_to_atari): fixed forgotten pointer
increment.
Frame.c:
- line 24 (new_frame): makes use of content_setup() now instead of
own presetting.
- line 71 (delete_frame): replaced destroy_paragraph_structure()
by content_destroy().
- line 114 + 117 + 121 + 135 (frame_calculate): adapted to changed
content_calc().
- replaced all frame->item, frame->page_minimum, frame->page_width,
frame->page_height, frame->background_colour, frame->alignment by
the corresponding frame->Page members.
- line 24 (new_frame): adapted presetting to CONTENT substructure.
global.h:
- line 70: changed declaration of draw_contents(), rearanged the
order of declarations.
- line 142: new functions content_setup(), content_destroy(),
content_stretch(), changed declarations of content_minimum(),
content_maximum(), content_calc().
HWDOC.HTM
- updated to demonstrate CSS parsing
image.c:
- line 166 (new_image) + 257 (image_job): removed page_margin,
already handled by content_minimum().
- line 103 + 166 (new_image) + 257 (image_job): adapted to changed
struct frame_item.
keyinput.c:
- line 84 + 89 (key_pressed): adapted to changed struct
frame_item.
Mouse_R.c:
- line 42 + 90 (button_clicked): adapted to changed struct
frame_item.
Paragrph.c:
- line 54 (new_paragraph) + 96 (add_paragraph): preset background
colour.
- line 112: new functions content_setup() and content_destroy().
- line 298 (content_minimum) + 320 (content_maximum): overworked
to add the content's margins.
- line 354 (content_calc): overworked HR calculation.
- line 472: new functions content_stretch().
Redraws.c:
- line 73 (frame_draw): removed drawing of background, this is
handled now by content_draw().
- line 317 (draw_hr): completely reworked corresponding to the
changes in the renderer and calculation functions, for correctly
size/position calculation and color attribute.
- line 549 + 556 (draw_paragraph): fixed missplaced ALT text for
hspace >0.
- line 605 (draw_contents): added content background filling.
- line 620: added paragraph background colour filling.
- line 73 + 76 (frame_draw): adapted to changed struct frame_item.
- line 615 (draw_contents): draw background if paragraph colour is
set.
render.c:
- line 68: removed convert_to_number(), isn't used any longer.
- line 316 (parse_body): extended to handle attributes MARGIN,
MARGINHEIGHT/TOPMARGIN, MARGINWIDTH/LEFTMARGIN.
- line 1409 (parse_hr_tag): completely reworked for correctly
size/position calculation, can now also handle attributes
color and background-color.
- line 2214 (parse_html) + 2334 (parse_text): removed page_margin,
already handled by content_minimum().
- replaced all p_frame->item, p_frame->page_minimum,
frame->background_colour, p_frame->alignment by the corresponding
frame->Page members.
- line 139 (get_align): replaced ->WorkCell->Paragraph-> by
->WorkCell->Content.Item->.
- line 550 (parse_header_tag): set background and text colour from
Css style attribute.
scanner.c:
- line 188 (scan_css): inserted forgotten line counter setting.
- line 216 (scan_css): if a keyword isn't found in the CSS table,
search also in the normal key table.
Table.c:
- line 177 (new_cell): added argument 'padding', makes use of
content_setup() now instead of own presetting.
- line 237 + 241 + 273 + 296 + 327 + 351 + 353 (table_cell):
added padding argument.
- line 511 + 519 + 547 + 576 + 616 (table_finish): adapted to
changed content_minimum()/_maximum(), removed padding value since
this is handled now by the content functions.
- line 616: removed padding value.
- line 647 + 786 + 786 + 798 + 863 + 870 (table_calc): adapted to
changed content_calc().
- line 918 (table_draw): removed drawing of cell background, this
is handled now by content_draw().
- replaced all cell->Color, cell->Paragraph, cell->Width,
cell->Height by the corresponding cell->Content members.
- line 183 (new_cell): adapted presetting to CONTENT substructure.
Table.h:
- line 53: in struct s_table_cell, new substructure CONTENT to
group attributes Colour, Paragraph, Width, Height.
token.h:
- line 120 + 132: new attribute keywords MARGINWIDTH/LEFTMARGIN
and MARGINHEIGHT/TOPMARGIN.
- line 181: new CSS keyword MARGIN.
July 18, 2002
Baldrick's patches
Defs.h
- line 263 added short hspace
global.h
- line 49 added extern for page_margin
- line 147 added hspace param to new_image() prototype
Image.c
- line 85 added hspace to img->word->word_width
- line 91 added hspace param to new_image()
- line 108 set img->hspace to hspace param
- line 166 replaced 5 with page_margin
- line 257 replaced 5 with page_margin
- line 270 add hspace to rec.g_w
loader.c
- line 416 added 0 (hspace) to call of new_image()
Paragrph.c
- line 399 removed rem'd out tests
Redraws.c
- line 353 replaced 5 with page_margin
- line 544 modify x by img->hspace
Render.c
- line 1501 added get_value_size(KEY_HSPACE) to call of new_image()
- line 2209 replaced 5 with page_margin
- line 2329 replaced 5 with page_margin
Token.h
- line 117 added KEY HSPACE
variable.c
- line 42 new variable page_margin (replaces all those 5's in code)
eventually should be user configureable
AltF4's patches
Makefile, purewire.prj, highwire.prj
- updated for encoding.c
encoding.c:
- new file for charset encoding functions.
parser.c:
- line 278 (parse_key): new code to store CSS keys/values of
<.. style="..">.
render.c:
- line 549 (parse_header_tag): added color that can be given by
style="color:...;".
- line 655 (parse_meta_tag): changed if() condition, else gcc
would assume the cset variable as unsigned.
- line 1523 (parse_title): overworked to make use of the new
encoder_char().
- line 1792 + 2180 (parse_html): overworked to make use of the new
encoder_word().
_ line 2110: changed handling of blanks and white spaces.
- line 2214 + 2288 (parse_text): overworked to make use of the new
encoder_word().
scanner.c:
- line 177: changed the NAMEDCHAR array. now it contains only
unicode values (as suggested by Rainer), no more bics and asciis.
- line 266: moved Atari_to_BICS[], ISO8859_2_to_BICS[],
windows1252_to_BICS[], Unicode_to_BICS[], Unicode_to_Atari[] over
to encoding.c.
- line 687 (scan_namedchar): overworked, can now write multi byte
also for Atari System Font 8 bit string.
- line 807: removed scan_char_to_Atari8bit(), this is now handled
by (*encode_char)() in encoding.c.
- line 807: removed scan_char_to_16bit(), this is now handled
by (*encode_word)() in encoding.c.
- line 997 (scan_string_to_16bit): moved to the end of the file,
changed to make use of encoder_word().
- new function scan_css for CSS keywords.
scanner.h
- cnanged declaration of scan_namedchar().
- removed scan_char_to_Atari8bit(), scan_char_to_16bit().
- new functions encoder_word(), encoder_char(), unicode_to_bics(),
unicode_to_atari(). these are located in encoding.c.
- new function scan_css for CSS keywords.
token.h:
- line 123: new KEY_STYLE.
- line 139: new enum HTMLCSS.
July 15, 2002
Baldrick's patches
Paragrph.c
- line 368 - added test to check if new paragraph can occupy any
portion of the current line
- line 399 - rem'd out old tests and added new test for ALN_CENTER
old code left for the moment until further testing can be done
- line 454 - added check for the paragraph not being text, since
modifying the text here completely messes it up later
July 14, 2002
Baldrick's patches
paragrph.c
- line 208 reworked section removing test for blocker->bottom
AltF4's patches
AEI.c:
- line 22: placed #ifdef around the appl_xgetinfo() function, the
coming gemlib revision will have this implemented.
config.c:
- completely reworked for faster processing and less restricting of
white spaces in the cfg file, also added new keyword FONT_SIZE.
the cfg file will now be searched in this order:
$HOME/defaults/highwire.cfg -> $HOME/highwire.cfg
-> $HOME/.highwire -> <start_dir>/highwire.cfg
render.c:
- line 2212 (parse_text): overworked to avoid that every single
text line gets its own paragraph struct. this saves memory and
makes scrolling and resizing a bit faster.
Variable.c:
- line 11: in the fonts array, removed stuff that was left over
from some testings.
July 12, 2002
Baldrick's patches
Paragraph.c
- line 427 changed test to < 0 from <= 1
AltF4's patches
defs.h:
- line 276: in struct font_style, removed font and font_size.
- line 280: replaced struct word_changed by union TEXTATTR plus
access macros (to avoid problems with Lattice compiler).
- line 288: in struct word_item, replaced structs styles and
changed by union TEXTATTR attr, removed colour.
- line 355: in struct frame_item substructure current, added
struct font_style styles. this isn't handled any longer per
word.
global.h:
- line 160: replaced decls of word_set_color(), word_set_point(),
word_set_font() by macro defines.
Paragraph.c:
- line 38 (new_paragraph): reset style counters in frame->current
because this becomes the first paragraph of a content.
Redraws.c:
- line 506ff (draw_paragraph): overworked to make use of
word->attr instead of word->changed and word->styles.
- line 578 (set_veffects): removed, not longer needed.
render.c:
- line 202 (parse_blockquote_tag) + 323 (parse_body)
+ 1179 + 1224 (parse_li_tag) + 1383 (parse_hr_tag)
+ 1497 (parse_img_tag) + 1815 + 2033 +2038 + 2079 (parse_html)
+ 2217 (parse_text): adapted to make use of word->attr.
Table.c:
- line 41 (table_start): save current style counters.
- line 403 (free_stack): restore previous style counters.
- line 405: removed resetting of word->changed.
Table.h:
- line 27: in struct s_table_stack, added SavedStyles to store
style counters from frame->current.
W_Struct.c:
- line 43 + 61 (new_word): replaced setting of word->styles and
word->changed by word->attr.
- word_set_bold(), word_set_italic(), word_set_strike(),
word_set_underline(): adapted to make use of word->attr and
frame->current.styles.
- word_set_color(), word_set_point(), word_set_font(): removed.
July 7, 2002
AltF4's patches
defs.h:
- line 6: added define for BETATAG.
HighWire.c:
- line 232 (do_info_dialog): added BETATAG to the alert box.
Loader.c:
- line 363 (new_loader_job): improved 'about:' page.
inet.c:
- updated some gcc related stuff.
July 2, 2002
AltF4's patches
image.c:
- line 902 (read_gif): corrected the start value of the Y scale
counter to the half of a scaling step. else the loop performs
(mostly) one line too much.
July 1, 2002
AltF4's patches
Containr.c:
- line 254 (containr_byName): assigned the target name "_top" to
the base container of a tree to make links with a target of this
name working.
image.c:
- line 316 (setup): corrected calculation of y scaling. this was
a serious bug that could cause crashes by overwriting out of
boundary memory.
Location.c:
- line 117 (new_location): copy remote information from base
location.
Table.c:
- line 891 (table_draw): fixed x position for table background.
June 30, 2002
AltF4's patches
Table.c:
- line 72 (table_start): add space for cell border to the padding.
- line 273ff (table_cell): rearanged to make it more logical.
- line 443 (table_finish): preset table minimum/maximum width.
- line 493: precalculate percent cell width if the table has a
fixed size.
- line 566: removed adding of cell spacing to the table minimum/
maximum width.
June 28, 2002
Baldrick's patches
Purewire.prj
- modified stack setting to 16384
Paragraph.c
- line 267 modified test to exclude PAR_IMG paragraphs
- line 388 - 392 and 396 truely ugly test to avoid resetting
the blocking area if our current alignment matches the blocking
alignment (sorry no concentration today to make it look nice)
- line 406 modified to += from just =
- line 418 modified to += from just = (this aligns img's in row)
- line 457 check if height is less than blocking.bottom and modify
if it is (fixes one error in wrap_err2.htm)
June 27, 2002
Baldrick's patches
defs.h
- line 385 new struct blocking_area definition
(this handles an object area left/right align)
paragraph.c
- line 111 added parameter blocking_area *blocker to paragraph_calc
- line 116-119 added internal tracking of width so we can reset width
after passing a blocking area.
- line 203 special case handling of ALN_CENTER if next to a blocking
area added
- line 214 adjust left offset if the word is next to a blocking area
that is left aligned
- line 265 check to see if next line will be past the bottom of
the blocking area, if a blocking area exists. If it is clear
out blocking area and reset int_width
- line 284 if paragraph is a PAR_IMG set int_width to the img width
- line 355 added img_par - tracks if current paragraph is a PAR_IMG
- line 356 added our blocking area blocker
- lines 358-360 init our blocking area to 0
- line 369 if we have an HR and a blocking area. Adjust height
and reset blocking area and get proper width
- line 384 - 421 supporting code for PAR_IMG paragraph handling
- line 429 skip some adjustments if this is a PAR_IMG paragraph
- line 443 check if we have a blocking area and if the new height
is past the blocking area if so clear blocking area
- lines 393 & 426 modified calls to paragraph_calc() to support
blocking struct passing
render.c
- line 135 (get_align) rem'd out first test, do we need it?
- line 426 (parse_div) modified add_paragraph line
- line 428 (parse_div) set alignment via get_align() could be put
back on line 426 possibly
- line 1465 (parse_img) added code to set PAR_IMG on left|right
aligned IMG tags
June 23, 2002
AltF4's patches
Makefile, purewire.prj, highwire.prj:
- updated.
http.h, http.c:
- new files to handle HTTP expressions.
inet.h, inet.c:
- experimental stuff for later use.
Loader.c:
- line 140 (new_loader): presetting of Socket, isChunked,
DataSize, DataFill.
- line 354 (new_loader_job): the new created location object must
be freed here, else it would never be deleted.
- line 362: typo fixed.
- line 181 (delete_loader) + 260 (loader_job) + 192: added
experimental stuff.
Location.h, Location.c:
- line 272: experimental function, not used yet.
Loader.h:
- new attributes Socket, isChunked, DataSize, DataFill.
render.c:
- line 647 (parse_meta_tag): changed to make use of new function
http_charset().
June 21, 2002
Baldrick's patches
defs.h
- line 261 (s_image struct) added short vspace
global.h
- line 147 modified prototype for new_image
image.c
- set_word() additions to calculations for img->vspace
- new_image() added parameter short vspace
- line 107 (new_image) set img->vspace
- line 270 (image_job) modify rec.g_h by img->vspace
loader.c
- line 284 adjusted call to new_image() for 0 vspace
redraws.c
- line 534 adjust y by word->image->vspace
render.c
- line 1479 adjusted call to new_image() for vspace token
token.h
- line 130 added VSPACE key
AltF4's patches
global.h:
- line 113: changed return type of parse_html() and parse_text().
- line 134: declarations for netlayer removed.
HighWire.c:
- line 57 + 71 (main) + 234 (highwire_ex): removed unused netlayer
stuff.
image.c:
- line 256 (image_job): fixed redraw problem for windows in
background.
Loader.c:
- line 74 + 78 (parser_job): removed setting of frame-item, this
is already done at this point.
- line 415 (load_file): removed unused netlayer stuff.
- line 77 (parser_job): for unknown text types, detect if it has
a html header to select the correct parser.
- line 135 (new_loader): handling of 'mailto:' URIs added.
- line 229 (new_loader_job): handling of 'about:' URIs added.
- line 256: generates error page for unsupported/invalid URI
protocolls.
Location.c:
- new_location(): overworked for proper parsing of the protocoll
scheme of a URI.
Location.h:
- line 9: new attributes Proto, Port, Host.
Makefile, purewire.prj, highwire.prj:
- removed include of netlayer.c.
netlayer.c, debug.c:
- files deleted.
render.c:
- line 1777 + 1794 + 2189 (parse_html): return type changed to
BOOL.
- line 1781: new variable current, replaced all accesses to
p_frame->current... by current... .
- line 2185: content minimum calculation starts now with the first
frame paragraph.
- line 2200 + 2211 + 2269 (parse_text): return type changed to
BOOL.
June 20, 2002
Rainer's patches
Location.c
- line 172 moved ')' to before \n
MOUSE_R.C
- line 37 (button_clicked) removed wind_set() call
- line 163 (button_clicked) expanded else with wind_set() call
June 20, 2002 (HighWire 0.05 released)
Rainer's patches
- Some cleanups in the HTML folder
June 17, 2002
(HighWire 0.5 release candidate 2)
Baldrick's patches
Render.c
- new routine static H_ALIGN get_align() sets alignment for
an object if it was not explicitly aligned.
- removed else alignment setting in parse_img approx (line 1466)
appears to be unneeded
- replaced tests for alignment based on table alignment with get_align
at lines 166 (set_center_text) + 574 (parse_header_tag) + 704 +
713 (parse_p_tag)
AltF4's patches
Table.c:
- line 103 + 105 (table_row): added forgotten row count decrement.
- line 97: inserted adjustment for rowspans over empty rows.
June 17, 2002
AltF4's patches
Render.c
- line 149 (set_center_text) + 560 (parse_header_tag) + 693 + 705
(parse_p_tag) + 1466 (parse_img_tag): additional check for
table stack work cell.
June 13, 2002
Gamer's patches
Documentation additions
Baldrick's patches
Documentation editing and additions
Render.c
- line 1468 (parse_img_tag) removed else for alignment from
frame->alignment
June 12, 2002
AltF4's patches
defs.h:
- line 3: added defines to make version setting more handy.
HighWire.c:
- line 240 (do_info_dialog): make use of version define.
image.c:
- line 719 (raster_24) + 743 (raster_32): fixed #ifdef.
- line 858 (read_gif): added transparency for 16bit.
- line 878: fixed colour map entry access.
Baldrick's patches
Defs.h
- added H_ALIGN alignment to struct frame_item
Frame.c
- line 35 (new_frame) set default alignment to ALN_LEFT
Render.c
- set_center_text() reworked to modify frame->alignment
- line 412 (parse_div_tag) set paragraph->alignment to
frame->aligment
- line 563 (parse_header_tag) paragraph->alignment set to
frame->alignment
- line 696 (parse_p_tag) alignment set to frame->alignment
- line 708 (parse_p_tag) alignment set to frame->alignment
- line 2468 (parse_img_tag) added else to set to frame->alignment
June 11, 2002
AltF4's patches
global.h:
- line 118 + 160: extended argument lists of new_step() and
new_word().
image.c
- line 720 (raster_24) + 746 (raster_32): fixed typos.
Location.c:
- line 26 + 50 + 101 (new_location): changed definition of the
fallbck directory, makes it a bit more handy for developers.
O_Struct.c:
- line 66: extended new_step() with initial font colour parameter.
Paragrph.c
- line 39 (new_paragraph) + 83 (add_paragraph): adapted call of
new_word().
- line 81 (add_paragraph): removed clearing of current paragraph,
this was a bug.
render.c:
- line 1483 (parse_img_tag) + 1811 (parse_html) + 2098 + 2155:
adapted call of new_word().
- line 1793 (parse_html): adapted call of new_step().
Table.c:
- line 48 (table_start): adapted call of new_step().
W_Struct.c:
- line 36 + 75: extended new_word() with an boolean if this word
shall be linked by a previous word.
June 10, 2002
Baldrick's patches
redraws.c
- line 687 (parse_p_tag) added test for table stack and set alignment
to workcell if we are in table and have no forced alignment
- line 699 (parse_p_tag) added test for table stack and set alignment
to workcell if we are in table
- line 1460 (parse_img_tag) if we have no align and are in a table
set paragraph alignment to current table cell alignment
AltF4's patches
image.c:
- new function delete_image().
- image_calculate() moved below delete_image().
- raster_D1(): improved for better speed and graphic.
- raster_24() + raster_32(): #defines for Lattice C.
- line 832 (read_gif): precalculate intensities for monochrome
screen.
- line 851: added transparency for >= 24 planes.
Paragrph.c:
- line 132 (paragraph_calc): check for invalid word_item added.
render.c:
- line 1443 (parse_img_tag): overworked to avoid empty paragraphs
before images.
- line 1910 (parse_html): fixed to catch <br> after an image.
W_Struct.c:
- line 18 (destroy_word_structure): also delete images.
June 9, 2002
AltF4's patches
global.h:
- line 154: new function image_calculate().
image.c:
- line 65: previous image_calculate() renamed to set_word().
- line 83: new function image_calculate() to calculate and reload
(if necessary) images with percent width.
- line 125 (new_image): alt_h now holds always the original height
of the image's word_item.
- line 182 (image_job): old_w/_h initialized by img->disp_w/_h.
- line 264 (setup): improved size calculation.
- line 822 (read_gif): size calculation is done by setup() now.
Paragrph.c:
- line 127 + 147 (paragraph_calc): overworked to make use of
image_calculate().
Redraws.c:
- line 605 (draw_paragraph): outcommented the case ALN_TOP, this
breaks the calculation in image.c:set_word().
- line 630: changed test for ALT text display.
- line 420 + 310: removed outcommented functions.
render.c
- line 234 (parse_anchor): avoid underlined text behind not
correctly closed anchors. solves bugtrack #36.
- line 1469 (parse_img_tag): removed setting of default ALT text.
W_Struct.c:
- line 109 (word_store): fixed minimum width of images.
June 7, 2002
Baldrick's patches
Image.c
- line 220 changed contanr_calc() to a test with a contanr_redraw()
if it returns TRUE (fixes imgtest.htm of dillo test suite)
Redraws.c
- line 605 (draw_paragraph) added case for ALN_TOP now display
behaviour equivalent of IE
IMGTEST.HTM just to test IMG alignments
June 6, 2002
AltF4's patches
- reworking object alignment
Paragrph.c, Redraws.c
- reverted to previos version
image.c:
- line 62: new function image_calculate() to set the image word's
ascend and descend (word_height and word_tail_drop) according to
the vertical alignment.
- line 136 (new_image) + 191 (image_job): word size calculation is
done now by image_calculate().
render.c:
- line 544 (parse_header_tag): corrected setting of text colour.
- line 1415 (parse_img_tag): preserve word_item attributes which
will be changed for the image only.
- line 1416: set align to -1 per default.
- line 1431: handling of KEY_ALIGN stays mutual exclusive for
either a new paragraph (left/center/right) or a vertical shift
(top/middle/bottom). default is bottom.
June 5, 2002
Baldrick's patches
Paragraph.c
- paragraph_calc reworked to support vertical alignment
- line 145 catch first word in paragraph to get proper initial values
- line 169 added switch statement for vertical alingment
Redraws.c
- line 605 (draw_paragraph) added case ALN_TOP and ALN_MIDDLE
Render.c
- line 1445 added cases for center, bottom and top ALIGN
- line 1494 added current->word->vertical_align = next
- line 1502 changed next to ALN_BOTTOM
- parse_p_tag() overworked to use start_tag so we close paragraphs
- line 1868 reset vertical align after a BR tag
- line 1956 modified parse_p_tag() call
- line 2015 changed ALN_MIDDLE to ALN_BOTTOM fix for SUB
- line 2026 changed ALN_MIDDLE to ALN_BOTTOM fix for SUP
AltF4's patches
defs.h:
- line 215: removed obolete attr_list.
- line 355 (struct frame_item): moved current_font_step into
current substructure.
- line 357: removed unused current_attr.
- line 372 (struct list_stack_item): renamed current_list_count to
counter, that's much more handy.
- line 374: removed line_start, added Hanging and Spacer instead.
Frame.c:
- line 44 (new_frame): removed unused current_attr.
O_Struct.c
- reworked declaration and malloc of temp
- line 112 (new_stack_list_item): removed line_start.
render.c
- line 41: new functions step_push()/step_pop() to make usage of
font_step more handy.
- line 305 (parse_d_tags): overworked to make it common to ol/ul
handling.
- line 367: new function parse_basefont().
- line 386 (parse_font_tag) + 549 + 532 (parse_header_tag):
changed to make use of step_push()/step_pop().
- line 568 (parse_menu_tag): overworked to make it common to ol/ul
handling.
- line 791 (list_marker): removed trailing EM_SPACE and call of
new_word().
- line 1154 (parse_li_tag) + 1238 (parse_ol_tag) + 1312
(parse_ul_tag): overworked.
- line 1775 (parse_html): removed unused variables fontstep,
prev_sm_size, prev_su_size.
- parse_html(): cases TAG_BASEFONT uses parse_basefont() now.
- parse_html(): cases TAG_BIG, TAG_SMALL, TAG_SUB, TAG_SUP changed
to make use of step_push()/step_pop().
Table.c:
- line 42 + 48 (table_start) + 376 (free_stack): renamed
current_font_step
June 4, 2002
Baldrick's patches
Redraws.c
- line 605 added case ALN_TOP
- line 606 added case ALN_MIDDLE
RENDER.C
- line 1447 (parse_img_tag) added V_ALIGN next (next paragraph
vertical alignment)
- line 1449 (parse_img_tag) set current word v align to next
- line 1463 (parse_img_tag) added if's for align top, bottom and
middle. Set next to align val, par->align left and align = -1
- line 1517 (parse_img_tag) set current word v align to next
June 3, 2002
Baldrick's patches
Render.c
- reworked step2size() routine to make sizes dynamic and
modified whenever font_size is changed
- line 410 changed "- '0'" to "+ '0'"
AltF4's patches
Frame.c:
- new_frame(): corrected setting of frame->item.
global.h:
- line 159: removed add_word(), changed new_word() declaration.
- new functions to set word attributes.
image.c:
- added missing raster_P8().
O_Struct.c:
- new_step(): added initialisation of colour to avoid funny font
colour effects.
- add_paragraph(): cleaned up.
Paragraph.c:
- new_paragraph() + add_paragraph(): adapted to changed new_word().
render.c:
- line 68: removed obj_font_step().
- line 2057 (parse_html, case TAG_TABLE): removed modification of
text attributes.
- line 2086 (parse_html, case TAG_TH): removed bold setting, will
be done by table_cell().
- removed set_font_bold(), set_font_italic(), set_font_strike(),
set_font_underline().
- replaced all calls of removed functions by the corresponding
word_set_...() calls.
- replaced all word->colour = ... by word_set_color().
- replaced all word->styles.font_size = ... by word_set_point().
- replaced all word->styles.font = ... by word_set_font().
- removed all word->changed... = ...
- line 23: new function step2size() to map a font_step to a
font_size.
- parse_font_tag() + parse_header_tag(): overworked to make use of
step2size().
- line 1202 (parse_li_tag): fixed wrong calculation of the
negative eop.
_ parse_html(): cases TAG_BASEFONT, TAG_BIG, TAG_SMALL, TAG_SUB,
TAG_SUP overworked to make use of step2size().
Table.c:
- line 41 (table_start): store current font_step of the frame.
- line 48: reset font_step.
- line 265: set text attribute to BOLD for <th> tags.
- line 383 (free_stack): reset to stored font_step, set all text
attributes to 'changed'.
Table.h:
- line 19: in struct s_table_stack, new attribute SavedFntStp.
W_Struct.c
- new functions to set word attributes.
- line 36: merged add_word() and new_word() to one function.
- line 75 (new_word): added condition where to link to a previous
word.
May 31, 2002
Baldrick's patches
Defs.h
- added Indent to list_stack_item - this tracks the current indentation
for the list
Render.c
- line 457 (parse_d_tag) added check for paragraph->Indent>0 otherwise
2 subsequent DT tags would cause the second to be to the left of the
viewport
- line 657 (parse_header_tag) modified test to check that we aren't at
the start of a list as well.
- line 659 (parse_header_tag) ,pved eop_space inside of the test for lists
- line 831 (parse_p_tag) if we are in a list or we are in a list and we
are at list_start don't add a new_paragraph and ignore alignment
- line 833 (parse_p_tag) moved eop_space inside of the test for lists
- parse_li_tag() heavily reworked to make all li tags and contents
seperate paragraphs
- parse_ul_tag() and parse_ol_tag() reworked to deal with list_stack_item
Indent
- parse_menu_tag() reworked to deal with list_stack_item->Indent
- line 2176 (parse_html) set prev_su_size before process TAG_SUB
- line 2190 (parse_html) set prev_su_size before process TAG_SUP
- line 2207 (parse_html) call obj_font_step()
- new routine obj_font_step() used for storing font attributes
when entering and exiting objs (like tables) NOTE this routine
only partially working.
May 29, 2002
Baldrick's patches
Aei.c
- line 425 (process_messages) don't containr_relocate() if iconified
- line 432 (process_messages) added win_status = 0 when window
is resized
- line 436 (process_messages) replaced window_handle with msg[3]
- line 439 (process_messages) replaced window_handle with msg[3]
- line 442 (process_messages) added GRECT old
- line 443 (process_messages) get work area to old
- line 447 (process_messages) redraw window at old
- line 450 (process_messages) replaced window_handle with msg[3]
Mouse_r.c
- button_clicked()
- do we need the first test now? I added a note about it
- line 37 - added wind_set(window_handle,WF_TOP...) this tops the
window whenever we click inside of it
- line 42 - rem'd out else in this test so that I could put
the WF_TOP in for all occurences easily
Render.c
- line 384 (parse_body) added set p_frame->current.word->colour to
current_font_step->colour if TEXT color tag exists (fixes excerpt.htm)
AltF4's patches
color.c:
- remap_color(): reworked to get more excact results.
Containr.c:
- line 632 (containr_scroll): changed if conditions to avoid a bug
in the Lattice C compiler. (in conjunction with David)
defs.h:
- line 349 (struct frame_item): new attribute base_target.
Frame.c:
- line 35 (new_frame): setting of base_target.
- line 73 (delete_frame): freeing of base_target.
image.c:
- line 76 (new_image): inserted setting of frame's text buffer.
- line 79 (new_image): changed calculation of percent size.
- raster_I8(): optimized assembler function to speed up falcon
8 bit color depth.
- inserted an #ifdef to avoid linker problems with Lattice C.
(in conjunction with David)
Location.c:
- line 31 (_alloc): changed size calculation for malloc().
- line 167 (new_location): inserted incrementation of refference
counter. not doing so produces always location in the state
"ready for immediate deletion"!
Location.h:
- line 14: enlarged FullName array, this should be enough reserve
for miscalculated string lengths now.
parser.h, parser.c:
- new function get_value_size().
pc_raster.s:
- new pc_raster_I8() function to speed up falcon 8 bit color depth.
- line 27: corrected addressing mode.
render.c:
- parse_anchor(): the anchor target is now copied from the frame's
base target if not explicitely given.
- new function parse_base() stores the base target of a frame.
- parse_img_tag(): width and height are read by get_value_size().
Table.c:
- line 27: static get_value_size() moved over to parser.c.
token.h:
- line 20: new tag BASE.
May 24, 2002
Baldrick's patches
Render.c
- parse_header_tag()
- line 612 removed old comment, added test for current_list. if
a H tag occurs in a list we suppress new paragraph and alignment
- line 668 modified line so that alignment comes from table cell
- parse_html()
- line 2113 added code to reset font size on entering and
exiting tables. I'm not certain this is correct, but does
produce output much closer to other browsers. I just made a
blanket case reset. There are probably conditions to watch
for that I'm not aware of atm.
May 23, 2002
Baldrick's patches
Render.c
- set_center_text()
- added check on close to see if we are in a table, if we are
then we set the alignment based on the table cell alignment
AltF4's patches
Image.c
- line 565 add & before pal
May 21, 2002 (evening)
AltF4's patches
paragraph.c
- line 140 add initialisation for last
May 21, 2002
Baldrick's patches
- not really patches just minor changes for testing here
Image.c
- disabled printf (just wanted to see how much time the print took)
Highwire.PRJ
- enabled image support (wanted to compare times vs gcc compile)
AltF4's patches
AEI.c:
- line 139 (wind_handler): added handling of image notification,
needs to be overworked soon.
defs.h:
- in struct frame_item, added current.backgnd, used for image
transpareny.
- struct s_image extended.
- moved typedef for PARAGRAPH
Frame.c:
- line 46 (new_frame): setting current.backgnd from initial
background_colour.
global.h:
- line 153: extended parameter list of new_image().
image.c:
- first iplementation to make use of libungif decoder functions.
Loader.c:
- line 68 (parser_job): set containr's frame (temporary solution).
- line 109: set 'Appl' of MIME_IMG_GIF to NULL, for auto loading.
- line 224 (new_loader_job): removed check for empty 'address',
already resolved in new_location().
- line 255: added handling for Image Mime Type.
Location.c:
- line 84 (new_location): if no 'src' string is given the '__base'
location will be used instead of creating a new one.
- line 158: removed duplicate pointer zeroing.
- line 175 (free_location): made shure not to free the base
location.
Paragrph.c
- line 190 (paragraph_calc): added calculation of image extent.
pc_rastr.s:
- assembler function for monochrom rasterizer (optional).
purewire.prj:
updated for usage of ungif.lib.
Redraws.c
- line 11: removed unused #defines.
render.c:
- line 372 (parse_body): set current.backgnd color.
- line 1522 (parse_img_tag): overworked to avoid empty <alt> tags.
Table.c:
- line 67 (table_start): save current frame background color.
- line 287 (table_cell): set frame's current background color to
cell background.
- line 397 (free_stack): reset frame's background to the stored
color.
Table.h
- line 20 (struct s_table_stack): new attribute Backgnd to store
the current frame background color.
David Leavers patches
Global.h
- line 22 EINVFN 32 changed to EINVFN -32
Loader.c
- line 700 modified line to be a strcat (old line kept below for moment)
May 20, 2002
Baldrick's patches
Highwire.c
- main()
- added variable long gdostype
- moved vq_vgdos() outside of test line
- two test lines 1 used 1 as backup
- either test to see if gdostype is -2 or Fontgdos
- or test if gdosttype is not FSM_GDOS or -65532L
- test number 2 used at the moment
Paragraph.c
- paragraph_calc()
- line 114 added TEXTWORD last;
- line 161 added last = word
- line 169 added if last->line_brk justify = 0 test
- line 171 added if line->NextLine!=Null control on justify
- line 173 added else justify = 0
Render.C
- parse_header_tag()
- modification in close header tag. Now takes alignment from tablestack
if a current tablestack exists for the frame
David Leaver's patches
Highwire.PRJ (lattice PRJ file)
- source character set to 8 bit ASCII
- default char unsigned
- TTLOAD & TTMALLOC flags set
Scanner.C
- removed ifdef LATTICE code
May 17, 2002 (version 0.04 released)
Baldrick's patches
- More last minute changes to dletter.htm hwdoc.htm and highwire.doc
inclusion of URL's for mailing list and project homepage
AltF4's patches
Loader.c
- line 222 : base changed to : location_share(base)
May 16, 2002
David Leaver's patches
defs.h
- line 49 - remove final comma in definition of LANGUAGE
- line 405 - #endif /* __PUREC */
- line 400 - "seems" - spelling correction
container.h
- line 28 - remove final comma in definition of HW_EVENT
table.h
- line 76 - #endif /* _TABLE_H */
loader.c
- line 462 - add semicolon at end of statement
- My Lattice doesn't recognize E_OK so I inserted
#define E_OK 0x00
in the #ifdef LATTICE section at the top of the file.
token.h
- line 75 - remove final comma in definition of HTMLTAG
- line 130 - remove final comma in definition of HTMLKEY
scanner.c
- For some reason Lattice doesn't like the '<27>' in line 563, so I changed
this to 128. The pre-processor seems to remove the <20>, leaving just ''
(baldrick - I put this in an #ifdef #endif pair)
GokMase's patches
- some suggestions on changes to documentation and developer letter
- standardisation of 'color' over 'colour' in developer letter.
May 14, 2002
AltF4's patches
Table.c:
- line 108 (table_row): overworked to filter out empty rows.
- line 386: new function free_stack().
- line 385 (table_finish): inserted handling of the last row in
the table.
- line 388 + 398: made shure that also errornous tables are
finished properly.
May 13, 2002
Baldrick's patches
Edited the documentation
Rainer's patches
Documentation and html cleanups
AltF4's patches
defs.h:
- line 101: removed unused defines TEXT_DECODER, HTML_DECODER.
global.h:
- line 106: removed search_for_named_location() declaration.
- line 117: added comment.
- line 165: changed Send_AV() declaration.
Logging.h:
- line 37: added forgotten argument type.
Logging.c:
- line 13: inserted missing #include.
parser.c:
- line 15: removed duplicate #define.
render.c:
- line 17: inserted missing #include.
- line 2360: put #ifndef around check, doesn't work with gcc.
Loader.h:
- line 49: corrected #endif.
Loader.c:
- line 417 (load_file): removed wrong cast.
- line 658 (page_load): inserted missing braces.
keyinput.c:
- line 16: inserted missing #include.
- line 20: made function static.
- line 63 (key_pressed): removed unused last_location.
av_prot.c:
- line 21: made function static.
- line 56 (Send_AV): changed char pointer arguments to const.
- line 58: inserted #ifdef to keep PureC quiet.
AEI.c:
- line 118 (wind_handler): inserted #ifdef to keep PureC quiet.
- line 181: inserted forgotten initialisation of global pointers.
Makefile, highwire.prj:
- updated.
May 10, 2002
Baldrick's patches
global.h
- added ifndef EINVFN - define EINVFN for PureC (at least my copy)
Rainer's patches
global.h
- Added aes_window_title_length, appl_xgetinfo().
- removed prototype blit_block() - unused
HighWire.c
- added include "logging.h"
- main()
- added var. info
- Replaced can_extended_mxalloc() by Sysconf().
- replaced 0's in color init with defines
- Use appl_xgetinfo() to ask for new AES features.
- Show an alert and exit if the resource file didn't exist.
- For N.AES set aes_window_title_length to 128.
Loader.c
- page_load()
- Checks if fsel_exinput() is allowed.
- Replaced init_load() by new_loader_job(). The original AES
doesn't like the second wind_open() in init_load().
- can_extended_mxalloc() is a candidate for deletion (baldrick - I
don't want to remove it before we know we won't need it for
some developer)
Logging.c, Logging.h
- init_logging()
- New, for single TOS.
Redraws.c
- removed stdio.h include
- replaced many decimal colors with defines
- draw_hr()
- Uses ignore_colors.
render.c
- window_title buffer moved
- parse_block_quote modified
- parse_title()
- Window title buffer extended from 80 to 129 byte, including null byte.
- Characters after the maximum lenght will be ignored now.
- Uses aes_window_title_length.
- parse_img()
- Uses scan_string_to_16bit() for ALT text.
- parse_html()
- Added 'space_found = FALSE' after tag IMG for pictures in a text line.
scanner.c
- scan_string_to_16bit()
- New, for string parameters of HTML keys.
- modified some of the conversion tables
uni_bics.c
- Updated.
Variable.c
- Added aes_window_title_length.
May 9, 2002
Baldrick's Patches
- a few english translations added to some german
descriptions of routines
Highwire.c
- changed GEM Menu version to .2 (I think there has been enough
expansion to justify at least that)
- changed Core version to .4 (getting ready for release )
Rainer's Patches
AEI.C
- added loader.h and logging.h
- new routine WORD appl_xgetinfo()
- wind_handler() replaced printf() with errprintf()
- removed GLOBAL and MALLOCMODE defines
- vastart() rewrote routine to handle dequoting of filename
- doGSCommand() changed return value to BOOL, simplified routine
- process_messages() changed return value to BOOL, simplified routine
av_prot.c
- Receive_AV()
- Changed return value to BOOL.
- Send_AV()
- Changed return value to BOOL.
- Simplified;
defs.h
- Moved macro numberof() from scanner.c.
- Deleted POINT_SIZE.
- removed ENCODING encoding from frame_item
Frame.c
- new_frame()
- removed encoding initialization
- Changed POINT_SIZE to variable font_size.
Global.h
- added externs for active_keyboard_frame, font_size, alternate_text_on
help_file
- ignore_colours now BOOL
- page_load() now BOOL
- removed get_decoder_type and load_file prototypes
Highwire.c
- externs added for xaccname,gslongname,gsi,va_helpbuf
- init_netlayer() failure now returns EXIT_FAILURE
- Moved and merged all allocating of GLOBAL memory. Added check for NULL.
- Activated scrolling in background, only for AES >= 4.00.( WF_BEVENT )
- many replacements of numerals with Defines
keyinput.c
- added include for logging.h
- added routine frame_next()
- key_pressed()
- Added CTRL+R and F5 for reload.
- Added F7 to toggle logging.
- Added F8 to toggle pictures or alternative text.
- Added F1, Help to load help_file.
- Added keyboard scrolling for first_frame: left, right, (page) up,
(page) down, home, end.
- Added + to increase and - to decrease font_size.
- Using global active_keyboard_frame. Added Tab to cycle frames.
Loader.c
- added prototype for static load_file()
- parser_job()
- removed frame->encoding
- Sets global active_keyboard_frame.
- new_loader()
- variable i changed to size_t from int
- modifications to while loop controls
- Set MIME type of a directory listing or default file to HTML.
- loader_job()
- modification of load_file() call. Old call kept in REM since I'm not
certain this is correct (baldrick May 10, 02)
- find_application()
- Added missing comma in list[].
- new_loader_job()
- Parameter address == NULL: reread the file with default_encoding.
- modifications to new_loader() call
- encoding = default_encoding moved to new location (physically and struct)
- modifications to test line printout
- load_file()
- changed prototype to static and parameter to LOCATION from char *
- If there is no file name, try to open index.htm[l].
- Updated handling of encoding.
- added char help_file[HW_PATH_MAX];
- page_load()
- changed to BOOL declaration
- FSEL_CANCEL replaces 0
- init_path()
- Added help_file, initialized with "...\hwdoc.htm#Use".
Loader.h
- removed ENCODING from struct s_loader
Location.c
- added include Logging.h
- _alloc
- added encoding and Anchor init
- new_location()
- IF NOT LIBWWW section added
- Added a conversion of "http://" or "ftp://" to "C:\WWW\".
This is my personal web collection. HighWire should read the
path from config file. ( We may need to modify this when
writing online sections - baldrick)
- line 69 path modification added
- line 87 modification of path testing
- logprintf call added at bottom of routine
Location.h
- ENCODING encoding added to s_location struct
Logging.c, Logging.h
- New files. errprintf() prints always, logprintf() if switched on with F7.
Mouse_R.c
- button_clicked()
- Mouse click to background changes active_keyboard_frame.
parser.c
- removed numberof define. it's elsewhere now
- parse_tag()
- Corrected comment parsing.
PC_START.S
- New startup code for PureC compiles
render.c
- added Logging.h and time.h includes
- removed stdio.h include
- Created a macro EOP() for global adjustment of eop_space.
- list_indent() replaced POINT_SIZE with font_size
- set_blockquote_text()
- Renamed to parse_blockquote_tag(). Corrected description. I tried to
implement the TITLE attribute. This leads to a need for the future.
- parse_anchor() addition of test for KEY_ID
- parse_d_tag()
- Save indent calculated at DL parsing for DD.
- parse_div_tag()
- Corrected former negative space between paragraphs.
- parse_font_tag() (I've included this in the source between #if 0
#endif for testing)
- Made the hard coded 12 point size using fonststep.
- parse_header_tag(), parse_hr_tag(), parse_menu_tag(), parse_ol_tag(),
parse_ul_tag(), parse_p_tag()
- Added eop_space before lists.
- parse_meta_tag()
- enconding now points to Location->encoding
- parse_img_tag()
- Alternative text for pictures, toggled with F8.
- parse_frameset()
- printfs replaced by errprintf()
- parse_html(), parse_text()
- Longer buffers for lines with unrecognized UTF-8.
- Check for too long lines.
- Enhanced white space ignoring. (<A ...> ...</A>)
- timing and debugging info added
- brackets added around start_tag code in TAG_IMG
scanner.c
- numberof() moved out of file
- FIGURE SPACE 560 instead of Space_Code for the NO-BREAK SPACE, since the
latter is ignored when drawing at line start.
- Corrected Unicode_to_BICS[].
Token.H
- added TAG_TITLE, TAG_TEXTAREA
Variable.c
- regrouped items in file
- Added font_size.
- Added active_keyboard_frame.
gem.h (placed in 'includes' folder)
- Added "#define MAP_UNICODE 2".
uni_bics.c, uni_bics.prj (placed in 'tools' folder)
- New files.
Creates a HTML file with the Unicode characters supported by HighWire.
May 3, 2002
Gamer's patches
HwDOC.htm & highwire.doc updated
AltF4 patches
global.h:
- changed declaration of new_image().
W_Struct.c:
- line 108 (word_store): corrected calculation of minimum width
for image items.
Paragraph.c:
- line 86 (add_paragraph): 'origin' must be inherited from current
paragraph.
image.c:
- changed declaration of new_image().
Table.h:
- extended declaration for table_row().
Table.c:
- line 105 (table_row): better support for missing <tr> tags.
render.c:
- parse_img_tag(): small improvements, removed obsolete comment.
Redraws.c:
- line 549 (draw_image): make use of vrt_cpyfm() for images with
color depth > 1.
May 2, 2002
AltF4 patches (these are from the end of april)
defs.h:
- line 246: new struct s_image. the leading members are full
compatible to a MFDB of the VDI for easy casting.
- in struct frame_item, added a struct named_location ** to the
'current' substructure.
- in struct named_location, changed the link pointer to a const
char pointer.
- modified the url_link structure to have a union of either a
target name pointer or a struct named_location pointer.
global.h:
- line 141: new declarations for image functions.
- changed declarations of new_url_link(), new_named_location(),
paragraph_calc(), content_calc().
image.c:
- new file image functions.
W_Struct.c:
- new_word() + word_store(): adapted to handle word_items with
images.
- line 47 (new_word): adapted to changed struct url_link.
Paragraph.c:
- line 273 (content_maximum): additional check against empty
word_items.
- line 312 (content_calc): removed handling of PAR_IMG since this
isn't a special case anymore.
- paragraph_calc(): removed allocating of named_location structs,
this is already done by the renderer function.
- content_calc(): removed handling of named_location structs, no
longer necessary here.
token.h:
- line 97: new key 'ALT' for <IMG> tags.
render.c:
- line 1390 (parse_img_tag): completely overworked for new image
handling.
- parse_anchor(): all strings are allocated here since
new_url_link() doesn't make copies anymore. for anchor tags
<A NAME=...> the needed struct named_location is also created
here.
Redraws.c:
- draw_image(): overworked to make usage of new image structure.
- draw_contents(): removed handling of PAR_IMG since this now
handled by the draw_paragraph() function.
Makefile, purewire.prj, highwire.prj:
- Updated.
O_Struct.c:
- new_url_link(): strings are now taken over without duplication
to avoid needless mallocs.
Table.h, Table.c:
- table_calc(): removed handling of named_location structs, no
longer necessary here.
Frame.c:
- new_frame(): setting of struct named_location ** in 'current'
substructure.
- frame_calculate(): removed handling of named_location structs,
no longer necessary here.
- frame_anchor(): adapted to changed struct url_link.
Mouse_R.c:
- line 146 (button_clicked): adapted to changed struct url_link.
April 25, 2002
AltF4 Patches
AEI.c:
- new function wind_handler() to recive messages generated by
containers.
Loader.c:
- parser_job(): replaced wind_redraw() call by containr_notify()
to let an asigned callback do necessary things after page loading
finished.
- new_loader_job(): inserted containr_notify() for page loading
started notification.
- load_file(): removed setting of window title, this function
isn't responsible for that anymore.
- init_load(): registers the wind_handler() function (in AEI.c)
as the callback for containers.
render.c:
- parse_title(): makes now usage of containr_notify() to let a
callback handle the <title> contents.
- parse_html() + parse_text(): removed setting of mouse form,
these functions aren't responsible for that anymore.
Containr.h, Containr.c:
- new function containr_register() to assign a callback function
to a container hirachy. the callback will be called for every
dynamycal change in the container hirachy to avoid AES calls
inside library functions. for details see the header file.
April 24, 2002
AltF4 Patches
global.h:
- removed global variables event_messages and the_first_frame.
- changed declaration of process_messages(), button_clicked(),
check_mouse_position(), key_pressed().
Variable.c:
- removed global variables event_messages and the_first_frame.
- initialize current_highlighted_link_area and ..._frame.
Table.h, Table.c:
- new attribute for TableStack to save alignment outside of the
table.
Frame.c:
- delete_frame(): added a check against NULL pointers.
- frame_calculate(): corrected if condition for horizontal slider.
Containr.c:
- containr_clear(): removed handling of the_first_frame.
render.c:
- parse_html(): cases TAG_TABLE, TAG_TD, TAG_TH adapted to changed
table functions.
Loader.c:
- parser_job(): removed handling of the_first_frame.
keyinput.c:
- key_pressed(): overworked to have combinations with ALT key
working.
Mouse_R.c
- button_clicked(): removed usage of the_first_frame.
AEI.c:
- process_messages(): the function argument is the message array
now, instead of using a global.
HighWire.c:
- adapted the event loop to changed function declarastions.
April 23, 2002
AltF4 Patch via mailing list
frame.c
- line 130 changed >= to > in test line
April 16, 2002
AltF4's Patches
global.h, AEI.c:
- new functions wind_redraw() and wind_scroll().
- line 300 (process_messages): case WM_REDRAW now results in a
wind_redraw() instead of a direct containr call.
Redraws.c:
- frame_draw(): argument list changed to take now a const pointer.
Containr.h, Containr.c:
- new function containr_scroll() which allows eight-direction
scrolling.
- temporary function frame_next() removed.
Mouse_R.c:
- functions button_clicked() and frame_clicked(), overworked to
make use of new functions.
Loader.c:
- line 91 (parser_job): containr_redraw() replaced by wind_redraw.
April 14, 2002
AltF4's Patches
defs.h:
- line 337: removed frame_named_location from struct frame_item,
not longer used.
global.h:
- line 77: changed argument for new_frame().
W_Struct.c:
- line 47 (new_word): anchors aren't any longer inherited from
previous words, only links are. this reduces the list of anchors
to the necessary length and makes the search after a user click
shorter.
Paragrph.c:
- line 129 (paragraph_calc): more restricted while condition to
make it possible to find also empty anchors.
Frame.c:
- new_frame(): modified to take a location instead of an anchor as
argument.
- frame_calculate(): removed calculation of absolute anchor
offsets.
- new function frame_anchor() to find an anchor in a frame's
content.
Containr.h, Containr.c:
- new function containr_Anchor() to calculate the distance between
the current content's origin and an anchor.
- new function containr_shift() to update a content's origin and
it's sliders.
render.c:
- line 299 (parse_anchor): modified to avoid wrongly underlined
anchors and also avoid switching off underline after a wrong </p>
tag.
Redraws.c:
- line 35 (frame_draw): removed the search for an anchor, this is
no done elsewhere.
Mouse_R.c:
- line 189 (frame_clicked): modified to make use of new anchor
func tions instead of make the calculations itself.
Loader.c:
- parser_job(): adapted to changed new_frame() argument list.
April 13, 2002
AltF4's Patches
defs.h:
- line 324 (struct frame_item): collected slider related struct
members into own substructures.
global.h:
- line 66: added missing prototypes.
Frame.c:
- frame_calculate(): adapted to make use of slider substructures.
- new function frame_slider() to calculate the slider position from
the scroll value.
Mouse_R.c:
- frame_clicked(): overworked to take advantage of precalculated
values of the slider substructures.
- button_clicked() + check_mouse_position(): adapted to slider
substructures.
Redraws.c:
- draw_vbar() + draw_hbar(): overworked to take advantage of the
precalculated values of the slider substructures.
Containr.c:
- line 505 (containr_redraw): disable drawing of fill perimeters.
April 10, 2002
Baldrick's patches
- updated HIGHWIRE.DOC, HWDOC.HTM & DLETTER.HTM
April 8, 2002
AltF4's patches
Location.h, Location.c:
- new module to store locations from where data were loaded.
defs.h:
- struct frame_item: new attribute Location.
Loader.h:
- attributes FileName, Anchor, Address are now held by new
attribute Location.
- declarations for new_loader() and new_loader_job() changed to
make use of Location.
Loader.c:
- line 62 (parser_job): set frame's loacation.
- line 138 (new_loader): removed old attribute settings.
- new_loader_job(): reworked to make use of Location attribute.
- init_load(): additional NULL parameter for new_loader_job().
render.c:
- line 1552 (parse_embed) 1582 (parse_frameset): additional
location argument.
- line 1557 (parse_embed) 1642 (parse_frameset): additional frame
location parameter for new_loader_job() call.
Frame.c:
- line 21 (new_frame) + 68 (delete_frame): new attribute Location.
Mouse_R.c:
- line 322 (frame_clicked): additional frame location parameter
for new_loader_job() call.
keyinput.c:
- line 52 + 59 + 62 + 65 + 68 (key_pressed): additional frame
location parameter for new_loader_job() call.
Makefile, purewire.prj, highwire.prj:
- updated.
April 05, 2002
AltF4's patches
F_Struct.c, F_Calc.c:
- merged together in new file "Frame.c".
P_Struct.c:
- renamed to "Paragrph.c".
- new_paragraph() + add_paragraph(): adapted to changed structure.
Table__N.c:
- renamed to "Table.c".
- paragraph_calc() + content_calc(): moved over to Paragrph.c
where they belong to.
defs.h:
- removed several definitions which are also located in gem.h.
- struct paragraph_item: removed unused left_border, right_border,
current_paragraph_height, area.
- struct frame_item: removed unused frame_width, frame_page_width,
current_page_height, frame, current_indent_distance.
global.h:
- removed already outcommented declarations.
Table.h:
- moved some declarations over to defs.h:
render.c:
- removed all occurences of current_indent_distance, this value was
always only calculated but never read by any part of the code.
- replaced all occurences of two line expressions
*active_word = ..; active_word++; by one *(active_word++) = ..;
Loader.c:
- line 724 + 752: replaced number values by defined MagX_cookie.
Redraws.c:
- removed already outcommented functions.
Makefile, purewire.prj, highwire.prj:
- updated.
April 03, 2002
AltF4's patches
defs.h:
- struct frame_item: new attributes page_minimum, page_width,
page_height to replace ambigous frame_width, frame_page_width,
current_page_height and struct clipping_area frame.
global.h:
- out commented not longer used function declarations
calculate_frame_height() and calculate_frame_locations().
F_Struct.c:
- new_frame(): adapted to new frame attributes.
F_Calc.c:
- new function frame_calculate() to merge calculate_frame_height()
and calculate_frame_locations(). this makes calculations a bit
faster.
Containr.c:
- containr_relocate(): fixed wrong settings of absolute frame
offsets.
render.c
- line 2341 (parse_html) + 2422 (parse_text): adapted to new frame
attributes.
Redraws.c:
- draw_vbar() + draw_hbar(): adapted to new frame attributes.
- blit_block(): simplified the code and removed useless vs_clipp()
calls. added missing v_hide_c() and v_show_c().
Mouse_R.c:
- frame_clicked(): adapted to new frame attributes.
April 01, 2002
AltF4's patches
defs.h:
- new enum for languages (by rainer).
- replaced all 'enum bool' by BOOL.
- removed old alignment enums.
global.h:
- removed #ifdef _NEW_TABLES.
- removed global variable 'frames_recalculated'.
HighWire.c:
- adapted core version to current 0.3.
Table__N.c:
- moved #include "token." before <gem.h>.
Variable.c, Mouse_R.c:
- removed 'frames_recalculated'.
config.c:
- replaced 'false' and 'true' by uppercase.
W_Struct.c, P_Struct.c:
- replaced old alignment enum.
F_Calc.c:
- replaced 'false' and 'true' by uppercase.
- removed 'frames_recalculated'.
Redraws.c:
- replaced all occurences of old alignment enums.
- removed 'frames_recalculated'.
render.c:
- replaced last both occurences of lower case 'true'.
- replaced all occurences of old alignment enums.
- applied patches of Mar. 26, 27, 28.
Container.c, render.c:
- applied patches of Mar. 26, 27, 28.
March 30, 2002
Rainer Seitel's patches (these may appear elsewhere as well)
- For compiling with Pure C 1.1 (file size 226538, file date 1992-10-25), I had
to move the declarations from Table__N.c to Table.h, then including Table.h
and Containr.h at the end of defs.h.
- I marked places with bugs or to do's with a comment beginning with the
searchable "BUG: ".
- I hope I replaced all path and file name sizes by HW_PATH_MAX. In defs.h it
is defined as 260, which is the VFAT standard. This should done dynamically.
- Added "/* @(#)highwire/filename.ext" as first line to all files changed by
me. Exact two empty lines before every function.
purewire.prj
- Default char is explicitely unsigned char.
- Stack size is explicitely set (open source!).
render.c
- scan_html(), scan_text()
- Corrected control character interpretation.
- Added tags META, PLAINTEXT.
- parse_li_tag()
- Added two vst_arbpt() for caculating minimum width in list_marker().
- list_marker()
- Added Roman numerals.
- Extended numbers and alphabet numerals.
- Make shure there is enough place for long numbers.
Same as CAB, but shall we set the maximum to all when reaching </OL>?
- Marked all BICS with a searchable comment "/* U+".
- parse_anchor()
- Check also for CHARSET and ID.
- New: parse_meta_tag(), checks for Content-Type ... charset.
- New: parse_q_tag(), prints language dependent qoutation marks.
- Replaced all "int flag" by "BOOL start_tag" and deleted several
explanations, only stating that flag means start tag. Using FALSE, TRUE.
token.h:
- Added tags META, PLAINTEXT, Q; keys CHARSET, CONTENT, HTTP_EQUIV,
ID, LANG.
scanner.c, scanner.h, render.c
- Added support for HTML files with ISO-8859-1 or windows-1252 (default),
ISO-8859-2, UTF-8, atarist 8-bit encoding. Text files must be loaded from
an HTML file with <A CHARSET="..." HREF="...">...</A>.
- Added all with BICS possible named character entities from HTML 4.
- Added Unicode entities. Added conversion table Unicode to BICS (Bitstream
International Character Set). (Better than the one in NVDI.) Added
conversion table Unicode to Atari ST system font. Both are one character
to multiple glyph conversions.
- Added many const and static.
scanner.c
- scan_key()
- Converts '-' to '_'.
- Added all possible named character entities from HTML 4.
- Added Unicode entities. Added conversion table Unicode to BICS (Bitstream
International Character Set). (Better than the one in NVDI.) Added
conversion table Unicode to Atari ST system font. Both are one character
to multiple glyph conversions.
- scan_color()
- Use isxdigit() for hexadecimal colors.
Loader.c
- Removed mint_flag, since the existence of Fxattr() ist checked by calling
it!
- page_load(), build_fname()
- Moved from keyinput.c.
- Initialize the fsel path with start directory.
- Added check for NULL pointer.
- identify_AES(), can_extended_maxalloc()
- Replaced Super() by Setexc(). This is prefered for MiNT.
- parser_job(), new_loader_job(), load_file()
- Extended to pass the CHARSET attribute from <A HREF...>.
- load()
- Added check after open(), malloc().
global.h, HighWire.c, Loader.c
- Added enum for the source file encoding.
- Renamed can_mxalloc() to can_extended_mxalloc().
HighWire.c
- main()
- Set "HighWire HTML" as name in the application menu.
- Moved setting of window info line to Loader.c load_file().
- Added check for a Speedo fonts GDOS.
aei.c
- doGSCommand(), process_messages()
- Uses extended Mxalloc() mode only if possible.
- Added const where possible. Added spaces around operaters.
keyinput.c
- key_pressed()
- Was keyboard layout dependent before. (Using NKCC is better.)
- Added 1, 2, A, U to reread file with new default encoding.
highwire.cfg
- Better description.
av_prot.c
- get_avserver()
- Added "!= NULL" to avoid warning from Pure C.
color.c
- Deleted unused #includes.
parser.c, parser.h
- Added some const.
redraws.c
- UWORD for character buffers.
gemx.h
- Changed 16-bit character parameters to unsigned.
AltF4's patches
global.h:
- line 72 + 114: removed declarations of list_marker(), map(),
list_indent(), convert_to_number() since they are static in
render.c now.
render.c:
- parse_q_tag(): replaced the multi-character-constants by macros.
- moved long2decimal() and long2alpha() just before list_marker().
scanner.c:
- line 845 (scan_char_to_Atari8bit) + 928 (scan_char_to_16bit):
placed '()' around '&&' expression.
- line 753 + 775 + 791 (scan_namedchar) + 875
(scan_char_to_Atari8bit) + 974 (scan_char_to_16bit): inserted
missing cases to make gcc happy.
Makefile:
made char unsigned by default.
March 28, 2002 (post release version)
render.c:
- line 1761 (parse_html): inserted a loop to finish open tables at
the end of parsing. this is necessary to avoid crashes due to
forgotten </table> tags.
Table__N.c:
- inserted #ifdef .. #endif around debug outputs.
March 28, 2002
Baldrick's patches
highwire.c
- updated core version number in alert box to 0.3
AltF4's patches
Redraws.c:
- line 24 ff: new functions frame_draw(), draw_hbar(), draw_vbar()
to replace the previous draw functions.
F_Calc.c:
- calculate_frame_locations(): several corrections for proper
slider calculation.
Container.c:
- line 10: corrected rounding for calculation with percents.
- line 67 (containr_fillup): corrected if() for '1*' expressions.
- line 105 + 110 + 118: corrected rounding for calculation of
percents.
- line 372 (containr_calculate): modified to dial with fix sized
frame geometries.
- line 429 (containr_redraw): modified to take over handling of
window's rectangle list. this should never be done in a lib.
Mouse_R.c:
- line 159 + 271 (frame_clicked): replaced draw_frame_borders() by
new draw_vbar()/draw_hbar() calls.
color.c:
- removed #include "stptok.h" (last occurence in the project).
- replaced <gemx.h> by <gem.h> and sorted the other lines a bit.
March 25, 2002
AltF4's patches
defs.h:
- new enum types for horizontal and vertical alignments.
- removed obsolete enum 'possible_message_types'.
- added forward declaration for TABLE and TBLSTACK.
- replaced rectangle forward declaration by conditional
definition.
- new structure 'word_line' to be used as a list of first word
items for the lines of a paragraph.
- removed old table stuff from paragraph definition.
- added 'offset' attributes to structs clickable_area and
named_location.
global.h:
- line 63: shortend parameter list of draw_contents() by grouping
several discrete arguments into one GRECT structure.
- line 146: removed old table declarations.
O_Struct.c:
- new_clickable_area() + new_named_location(): adapted to new
'offset' attributes.
W_Struct.c:
- add_word(): modified to only produce a new word item if the text
buffer isn't empty.
- word_store(): corrected size calculation for the paragraph's
min_width.
P_Struct.c:
- new_paragraph() + add_paragraph(): removed old table stuff,
adapted to new 'offset' attributes.
- content_minimum() + content_maximum(): corrected size
calculation.
F_Struct.c:
- new_frame(): removed old table stuff.
F_Calc.c:
- calculate_frame_height(): overworked to make use of the same
code as for table cell calculation. only the locations of
clickable_arae and named_location (anchors) are to be set here.
Table.h:
- added anchor pointer to table_calc().
- replaced discrete coordinate arguments by a rectangle structure
in table_draw() declaration.
Table__N.c:
- table_start(): added paragraph's horizontal alignment.
- table_cell(): added linking of table cell paragraph offset back
reference.
- table_calc(): removed handling of clickables and anchors. this
is completely done now by the content_calc() function. instead
cell offset relative to their table are stored in a 'offset'
structure.
- table_draw(): make use of table cells offsets.
These both functions should be located somewhere else:
- content_calc(): moved over text related calculations to a own
funtion.
- paragraph_calc(): new function to take over all calculations of
text paragraphs. also responsible for generating of word_line
structure list.
render.c:
- set_center_text(): outcommented modification of 'paragraph->
eop_space' to avoid strange displaying of centered text.
- parse_p_tag(): added 'justify' alignment.
- parse_li_tag(): removed setting of word_item's line_brk, already
done in parse_html().
- parse_table_tag(), parse_td_tag(), parse_th_tag() removed.
- parse_html(): new variable 'stored_word' used to avoid empty
word_items and several small modifications to avoid multiple
spaces.
Redraws.c:
- blit_block() + redraw_frame(): overworked to make use of long
coordinates.
- draw_paragraph(): completely overworked to make use of
paragraphs word_line structures.
- draw_table(): removed.
- draw_contents(): completely reworked to make the code readable.
Mouse_R.c:
- check_mouse_position(): overworked to make use of long
coordinates.
Loader.c:
- line 309 (search_for_named_location): accesses now 'offset.Y'
instead of 'position' attribute.
Makefile, purewire.prj, highwire.prj:
removed old table module and updated dependencies.
March 21, 2002
AltF4's patches
defs.h:
- line 398: added line_start to struct list_stack_item which is
intended to point to the first word just behind the last <li> tag
for nested lists.
O_Struct.c:
- line 112 (new_stack_list_item): added resetting of new
line_start attribute.
render.c:
- parse_menu_tag() + parse_ol_tag() + parse_ul_tag(): modified to
take care for paragraph distances of nested lists.
- line 1541 (list_marker): removed check for empty current_list.
- line 1861 (parse_html): added check for being inside of a list
to the case TAG_LI:.
- line 1843: moved the case TAG_HTML: to the end of the switch
and replaced writing to the input buffer by searching for the
trailing '\0'.
Table.h:
- renamed top_of_page and frame_h to clip_top and clip_bottom parameters
in table_draw().
Table__N.c:
- line 907 renamed top_of_page and frame_h to clip_top and
clip_bottom parameters in table_draw().
- line 935: expanded the if() for a (y + cell->height > clip_top)
wrapper to avoid drawing things that we can't see anyway.
Redraws.c:
- line 196 (redraw_frame): moved the vsf_color() call into the
innermost loop scope to avoid misscolored frame backgrounds.
March 20, 2002
Baldricks patches
Table__n.c + Table.h
- changed def for table_draw to take y as long instead of short
- added short frame_h parameter to table_draw()
- added short top parameter to table_draw()
- line 968 - added test for y > frameh if so break
- line 938 - test (y + row->height > top) wrapper around while(cell)
avoids drawing things that we can't see anyway
Redraws.c
- line 1246 - added frame_h parameter to call of table_draw()
- added top_of page parameter to call of table_draw()
AltF4's patches
TABLE__N.C
- line 147 - replace with calls allowing 'border' to work for older
pages
March 19, 2002
AltF4's Patches (several days patches at once )
Redraws.c:
- line 736 + 796 + 839 + 866 (draw_paragraph): corrected word
width of first word items of a line that has leading Space_Code.
also alignment_spacer needn't to be modified anymore.
- line 48 (blit_block) + 223 (redraw_frame): adapted to
frame.current substructure.
Table.h:
- added clickable pointer to table_calc() call.
Table__N.c
- table_cell(): fixed missinterpretition of percent width.
- table_calc(): added support of clickables (preliminary
implementation).
- content_calc(): added generating of clickables (temporary
implementation).
- line 101 (table_start) + 313 (table_cell) + 430 + 623
(table_finish): adapted to frame.current substructure.
(only the main changes are listed)
- table_row(): added alignment.
- table_finish(): new calculation for fixed width cells.
- table_calc(): new calculation of fixed table height.
F_Calc.c
- line 184 (calculate_frame_height): added clickable pointer to
table_calc() call.
- line 141 (calculate_frame_height): outcommented height_spacer
and previous_word_height.
- line 379: outcommented the switch (current_word->vertical_align)
because it makes nothing sensefull.
render.c:
- line 281 (parse_anchor): added underline attribute to links.
- at all occurences, removed the active_word_buffer argument from
the functions argument lists since this is now stored in the
frame's 'current' substructure. same done for function calls.
- at all occurences, replaced '->current_word' by '->current.word',
'->current_paragraph' by '->current.paragraph',
'->current_font_size' by '->current.font_size', '->active_word'
by '->current.text'.
- adapted all calls of add_paragraph() word_store() to changed
argument list.
- parse_anchor(): new local 'word'.
- parse_div_tag(): new local 'paragraph'.
- parse_header_tag(): new local 'current'.
- parse_menu_tag(): new local 'current'.
- parse_p_tag(): new local 'paragraph', removed prev_alignment
variable, wasn't necessary.
- parse_ol_tag(): new locals 'current' and 'paragraph'.
- parse_ul_tag(): new locals 'current' and 'paragraph'.
- parse_hr_tag(): new local 'current'.
- parse_img_tag(): new local 'current'.
- list_marker(): changed to make use of the frame's text buffer.
- parse_html() and parse_text(): adapted to frame.current
substructure.
- line 872 + 836 (parse_ul_tag) + 807 + 770 (parse_ol_tag) + 649
+ 625 (parse_menu_tag) + 381 + 371 (parse_d_tags) + 252 + 247
(set_blockquote_text): setting of paragraph indent.
- line 354 ff (parse_d_tags): replaced access of current_paragraph
by local variable.
- line 14: removed #include "stptok.h".
- parse_html(): in case TAG_TABLE added word_store() and
add_paragraph().
defs.h:
- line 371 ff (struct frame_item): integrated attributes
current_paragraph, current_word, active_word and current_font_size
into a own substructure. this way we have all attributes necessary
for paragraph/text building grouped together and the substructures
name 'current' let the code looking very similar to the previous
state.
- line 276 (struct paragraph_item): added attribute Indent.
global.h:
- line 84: removed argument filename from new_frame().
- line 142: changed parameter list of new_paragraph() and
add_paragraph().
- line 162: removed obsolete declarations of to_do.. functions.
- line 165: changed parameter list of new_word(), add_word(),
word_store().
- line 143: changed return type of add_paragraph().
W_Struct.c:
- line 36 (new_word): changed parameter list.
- line 75 (add_word): changed parameter list, adapted to
frame.current substructure.
- line 86 (word_store): changed parameter list, reworked for
better performance.
- line 100 (word_store): removed adding of horizontal offset,
doesn't work with tables.
P_Struct.c:
- new_paragraph(): adapted to frame.current substructure, made it
setting the current->word to the new paragraph's word_item
- add_paragraph(): adapted to frame.current substructure.
- line 130 (content_maximum) + 111 (content_minimum): uses now
paragraph indent for calculations.
- line 71: changed return type of add_paragraph() to make the
usage more handy.
Loader.c:
- line 60 (parser_job): removed loader->FileName from new_frame()
call.
F_Struct.c:
- line 14 (new_frame): removed argument filename.
- line 44 ff: adapted to frame.current substructure.
keyinput.c:
- line 30 + 39 (key_pressed): outcommented current_frame.
token.h:
- line 112: keyword VALIGN added.
March 15, 2002
Baldrick's patches
Scanner.c
- replaced 'power n' mapping in atari_char[]
- created ISO88592[] maps ISO-8859-2 to Speedo index
March 13, 2002
Baldrick's last minute notes
TABLE.C
- I had to move the #ifndef _NEW_TABLES to get it to compile
properly under PureC on my machine
- I placed the define for _NEW_TABLES in global.h so that it
was in the same location as GEM_MENU
- the binary in the archive is compiled with NEW TABLE routines
and a GEM Menu
- Lattice HIGHWIRE.PRJ updated
AltF4's Patches
defs.h:
- line 367: new attribute TableStack in struct frame_item.
- line 284: struct table_step, table_child, table_row, table_item
surrounded by #ifndef _NEW_TABLES.
- line 272: new attribute Table in struct paragraph_item.
global.h:
- line 142 - 154: surrounded by #ifndef _NEW_TABLES.
P_Struct.c
- line 125 (content_maximum): added check for NULL in word_item.
- line 76 (add_paragraph): setting of attribute Table.
- line 35 (new_paragraph): setting of attribute Table.
- line 18 (destroy_paragraph_structure): #ifndef around
destroy_table_structure().
F_Struct.c:
- line 50 (new_frame): setting of attribute TableStack.
F_Calc.c:
- line 183 (calculate_frame_height): call of table_calc().
- line 8: #include "Table.h"
render.c:
- line 1951 (parse_html): in cases TAG_TABLE, TAG_TD, TAG_TH,
TAG_TR new table function calls.
- line 1195 (parse_th_tag) + 1076 (parse_td_tag)
+ 892 (parse_table_tag): surrounded by #ifndef _NEW_TABLES.
- line 18: #include "Table.h".
Redraws.c:
- line 1222 (draw_contents): call of table_draw().
- line 889: draw_table() surrounded by #ifndef _NEW_TABLES.
- line 8: #include "Table.h".
table.c:
- the complete file is surrounded by #ifndef _NEW_TABLES.
Table__N.c, Table.h:
- temporary files updated.
Makefile, purewire.prj:
adapted for temporary files.
Baldrick's patches
Scanner.h
- added prototype for scan_upperchar()
Scanner.c
- new routine scan_upperchar()
- added static WORD atari_char[]
Render.C
- line 2146 added case for handline *symbol < 0 or = 127
we are handling symbol as a signed char so there really
is no case where symbol > 127 (at least on compilers where
signed chars are default). So upper chars come in below
0 (except 127)
Char.txt
- a text file with (hopefully) all of the upper range characters
from the atari asci set.
March 12, 2002
AltF4's Patches
Redraws.c:
- new function draw_border() to make 3D borders around tables,
buttons, etc.
Table__N.c, Table.h:
-temporary files for new table functions.
W_Struct.c
- line 104 (word_store): always reset the frame's word buffer after
storing the actual word.
- in most functions I changed the argument list for better
readability.
- line 111 (word_store): added setting of paragraph's min_width.
- line 79: removed setting of frame's page_width and table childs'
min_width. this is handled now by word_store() in combination
with the renderer functions.
P_Struct.c:
- in all functions I changed the argument list for better
readability.
- line 43 (new_paragraph): setting of min_width and max_width.
- line 97 (add_paragraph): setting of min_width and max_width,
rearranged the other lines a bit.
- new function content_minimum() to determine the smallest width
that is nedded for a list of paragraphs, used for frames and
table cells.
- new function content_maximum() to determine the largest width
that occures in a list of paragraphs, used for table cells.
defs.h:
- line 26: forward declaration for struct graphic_rectangle.
- line 266 (struct paragraph_item): added typedef PARAGRPH.
- line 276: new attributes min_width and max_width.
global.h:
- line 70: new function draw_border().
- line 134: new functions content_minimum() and content_maximum().
reformated this block a bit for better readability.
render.c:
- removed a lot of occurences of lines which reset the word buffer
"p_frame->active_word = active_word_buffer;" because this is now
handled by word_store().
- line 978 (parse_table_tag): set the table_childs min_width by
using content_minimum().
- line 1329 (parse_img_tag): removed setting of the frame's
page_width, isn't necessary at this point.
- line 2107 (parse_html) + 2196 (parse_text): set the frame's
page_width by using content_minimum().
March 7, 2002
Baldrick's Patches
Render.C
- parse_font_tag()
- line 478 - modifications to font size setting
to make output more closely match other browsers
AltF4's Patches
defs.h
- line 11: removed enum word_codes, isn't needed anymore.
- line 257: in struct word_item, replaced word_code by BOOL
line_brk.
- line 356; in struct frame_item, removed frame_filename since it
isn't used anymore.
global.h:
line 57: renamed draw_frame_contents() to draw_contents().
Redraws.c:
- line 63 + 86 + 107 + 128 (blit_block) + 219 (redraw_frame):
renamed draw_frame_contents() to draw_contents().
- line 44 (blit_block) + 218 (redraw_frame): reset
current_paragraph to frame->item (not shure if that is really
necessary).
- line 728 + 734 (draw_paragraph): replaced word_code by line_brk.
- line 739: added an if() to filter out single spaces.
- removed struct frame_item * parameter from draw_table() routine
- renamed draw_frame_contents() to draw_contents() and removed the
frame argument which isn't used anymore.
W_Struct.c:
line 66 (new_word): replaced word_code by line_brk.
P_Struct.c:
line 78 (add_paragraph): replaced word_code by line_brk.
F_Calc.c:
line 306 (calculate_frame_height): replaced word_code by line_brk.
table.c:
line 424 (calculate_table_height) + 702
+ 707 (walk_table_children): replaced word_code by line_brk.
render.c:
line 753 (parse_li_tag)
+ 1833 (parse_html): replaced word_code by line_brk.
F_Struct.c:
- line 27 (new_frame): changed initialisation of background_colour
to light gray as other browsers are also doing. Also uses now
color definitions from gem.h (same for text_colour).
- line 40: removed frame_filename initialisation.
- line 3: added #include <gem.h>.
- line 68 (delete_frame): removed frame_filename deleting.
March 6, 2002
Baldrick's Patches
SCANNER.C
- scan_color()
- added char *old - tracks initial value in 3rd case
- in third case if col < 0, then attempt to convert
the original text to a long.
- scan_namedchar()
- line 297 - subtract 32 if less than BEG_NUM
RENDER.C
- parse_anchor()
- in closing anchor current_word->colour = font_step->color
March 5, 2002
Baldrick's Patches
SCANNER.C
- scan_color()
- scan for some color indexs that are just numbers
no " or # involved. Slashdot has one of these
lines 450 - 453
March 4, 2002
Baldrick's Patches
F_STRUCT.C
- new_frame()
- moved frame->current_font_size = POINT_SIZE; to
before new_paragraph() call
Render.C
- parse_font_tag()
- added support for font_step->colour in lines 504 & 514
- parse_html()
- set current_font_step->colour to frame->text_color after
line calling new_step(3)
Defs.H
- added WORD colour; to font_step struct
AltF4's Patches
token.h:
new tag keywords BGSOUND and EMBED.
render.c:
- line 1778 (parse_html): inserted new cases in switch() for
TAG_BGSOUND and TAG_EMBED.
- line 1436: new function parse_embed().
Loader.c:
- line 217 (new_loader_job): corrected handling for NULL target
arguments.
- line 206: new function find_application().
- line 36: added #include <ctype.h>.
Makefile:
corrected OPTS macro definition.
March 4th morning...
<Big NOTE... History text was accidentally
overwritten on March 4th. I was able to scavenge
large parts of the missing history from my drive.
But unfortunately there are missing bits of
history between Feb 15 and March 4, 2002>
<recovery point missing data in here covering addition of
p_frame * to alot of routines and their prototypes also covers
some work in render.c covering always creating a fontstep in
parse_font >
P_Struct.c
- add_paragraph()
- added p_frame to call of new_word()
- new_paragraph()
- added frame_item * parameter
- added p_frame to call of new_word()
F_struct.c
- new_frame()
- added frame parameter to call of new_paragraph()
Table.C
- new_table_row()
- added frame_item * parameter
- added p_frame to call of new_paragraph()
- new_table_child()
- added frame_item * parameter
- added p_frame to call of new_paragraph()
February 25, 2002
AltF4's Patches
HighWire.c:
- line 228 (handle_menu): replaced highwire_ex() by exit().
P_Struct.c:
line 37 (new_paragraph) + 92 (add_paragraph): replaced enum none
by PAR_NONE.
F_Calc:c:
in calculate_frame_height(), replaced in all paragraph_code =
lines the right hand side by the new enums, eg. hr -> PAR_HR.
table.c, Redraw.c:
replaced huge number of accessing of structure members and also
pointer-pointer-pointer-... addressing by the usage of local
variables. this makes the code better readable and also allows the
compiler to make better optimazions.
defs.h:
- replaced enum paragraph_codes by typedef enum PARAGRAPH_CODE
with upper cased members to avoid confusion with lower case
variables of the same names.
- in struct table_item, removed temp_val and temp_long. this is
now handled by local variables.
Render.C
- line 923 replaced enum table by PAR_TABLE.
- line 1248 replaced enum hr by PAR_HR.
- line 1296: replaced enum img by PAR_IMG.
February 22, 2002
Baldrick's Patches
RENDER.C
- line 1697 renamed font_step to fontstep to avoid confusion with
the struct name
- supplemental changing of font_step in the rest of the routine
- renamed parameter font_step to fontstep in parse_li_tag() supplemental
renaming throughout routine
- renamed parameter font_step to fontstep in parse_font_tag() supplemental
renaming throughout routine
February 19, 2002
Baldrick's Patches
Defs.h
- new struct table_row()... start of a major overhaul of the
table code. Once more into the breach!
- addition of table_row *row to table_item struct
Table.C
- new routine struct table_row *new_table_row (void) - creates
new row containers
AltF4's Patches
Loader.c:
-line 230 (new_loader_job): replaced app_id by gl_apid.
keyinput.c:
- line 82 (key_pressed): replaced highwire_ex() by exit().
av_prot.c:
- line 62 + 83 (Send_AV): replaced app_id by gl_apid.
AEI.c:
- line 91 (doGSCommand) + 231 (process_messages): replaced app_id
by gl_apid.
- line 141 (doGSCommand): replaced highwire_ex() by exit().
Variable.c:
- line 24: removed global variable app_id.
HighWire.c:
- line 63: this was a serious bug, moved the Init_AV_Protocol()
call behind the initialisation of the va_helpbuf variable in
line 101.
- line 171: removed highwire_ex() call, would cause an infinite
loop.
- line 61: reordered appl_init() and V_Opnvwk() calls and placed
an atexit() call between.
- line 16: added declaration of highwire_ex().
- line 174 ff (highwire_ex): is declared static now. also
reordered sequence of program shutdown and added forgotten
v_clsvwk().
global.h:
- line 25: removed global variable app_id because this value is
already stored in the gemlib's gl_apid variable.
- line 82: removed highwire_ex() declaration. it is now declared
static instead and will be registered as a exit function with the
atexit() call in the mai
<recovery point... data lost in here somewhere >
(This is a Baldrick patch from some date )
- new routine can_mxalloc() just looks for Mint or Magic flags
and reports 1 if found 0 if not found
Highwire.c
- modifications of method used to determine if we can Mxalloc()
using new routine and seperated from older Mint flag test
AltF4's patches
Container.h:
added a lot of explanations of mechanisms and about how to use
containers.
Containr.c:
- line 446 (frame_next) + 304 (containr_calculate)
+ 267 (containr_relocate) + 232 (containr_byName)
+ 218 (containr_Base): added checks for NULL pointers.
- new function containr_byCoord() to find a container that includes
a given coordinate.
AEI.c:
line 274 + 282 + 297 (process_messages): removed access to global
the_first_frame variable.
Mouse_R.c:
- line 285 (frame_clicked): replaced redraw() by
containr_redraw().
- line 301: reworked check_mouse_position() to make use of
container funtions and avoid access of the global the_firt_frame
variable and the temporary frame_next() call.
F_Struct.c:
line 79 (delete_frame): invalidate current_highlighted_link_frame
and _area if the related frame becames invalid.
Redraws.c:
line 805 (draw_paragraph): added an extra check to make shure that
the correct clickable will be highlighted.
Loader.h:
- added enum MIMETYPE definition.
- in CONTAINR declaration, changed attribute Decoder to MimeType.
Loader.c:
- line 455 (init_load): removed initialisation of a default frame,
no longer necessary.
- line 402 (load_file): removed creating of an error text, is now
handled to avoid strange loop hangings.
- line 150 (new_loader_job): added evaluation of possible mime
types.
- line 132 (loader_job): handling of not found files added.
- line 122: function delete_loader() implemented.
- line 103: implemented a rudimatary way of resolving of mime
types.
- in parser_job(), switched over from Decoder to MimeType attribute
and added delete_loader() call.
render.c:
- in parse_text():
- line 2174: removed free (start_symbol), is now done by
delete_loader().
- line 2111: removed current_highlighted_link_area = 0, this is
wrong at this place.
- line 2094 + 2089: removed variable start_symbol, not longer
used.
- removed several outcommented lines which are not longer used.
- in parse_html():
- line 2070: removed free (start_symbol), is now done by
delete_loader().
- line 1731: removed current_highlighted_link_area = 0, this is
wrong at this place.
- line 1714 + 1705: removed variable start_symbol, not longer
used.
- removed several outcommented lines which are not longer used.
February 15, 2002
Baldrick's patches
AV_PROT.C
- rewrote most of the functions based on routines from GEMagnetic
NOTE I'm not certain what needs to be done exactly for PDF_AV_OPEN_FILE
I've left the original code in with a modification while putting
some potential example code that doesn't work.
Highwire.C
- ~line 91. In test for Aes_type malloc va buffer based on
return.
GLOBAL.H
- added extern for char *va_helpbuf; /* GLOBAL memory buffer for AV */
DEFS.H
- added def's for GLOBAL & ALLOCMODE
TABLE.C
- ~ line 739 - in calculate_table_width(); insertion of walk_table
_children into fixed width tables
AltF4's patches
- Containr.c
line 275 - added frame.x and frame.y modification
February 14, 2002
Baldrick's Patches
TABLE.C
- line 279 applied temp_height = 0 outside of end of row test in
empty children
AV_PROT.C
- added MAGXDESK and STRNGSRV to Av server search id's
- Send_AV () changed msg to short, set all msg[2] to 0
AltF4's Patches
purewire.prj, highwire.prj and makefile completed dependencies
Highwire.c
- line 218 (handle_menu): removed the return 0; from this void function.
February 13, 2002
Baldrick's patches
Loader.c
- cleaned up load_file() by changing the 2 #ifdef's to one
#ifndef LATTICE
Rafal Kaweki's patches
AV_COMM.H & AV_PROT.C new files
Highwire.c
- line 63 added Init_AV_Protocol()
- line 168 added Exit_AV_Protocol()
LOADER.C
- line 44 added #include "av_comm.h"
- line 275 added static const char *pdf_ident=".pdf";
- line 302 added else case for my_pdf handling
purewire.prj, highwire.prj and makefile added av_prot.c file
AltF4's patches
defs.h:
in struct frame_item, removed attributes frame_height, frame_left,
frame_top, next_frame, frame_name. their meanings are handled now
by containers.
global.h:
- line 118: removed obsolete check_to_do_list() declaration.
- line 111: removed reset_frame() and destroy_frame_structure().
- line 110: expanded argument list of new_frame() and moved it to
the F_Struct section (line 74).
- line 75: removed temp_frame() and added new delete_frame().
- line 67: removed first argument of frame_clicked().
- line 36: removed previous_frame variable declaration.
Variable.c:
- line 57: removed global variable previous_frame, no longer used.
F_Struct.c:
- removed destroy_frame_structure(), reset_frame(), temp_frame().
- moved init_frame() into new_frame() since there are no other
callers for it anymore.
- new function delete_frame().
- added #include <string.h>.
F_Calc.c:
line 39 - 88 (calculate_frame_locations): removed outcommented
stuff, is now handled properly by containers.
render.c:
- line 289 + 295 (parse_anchor): replaced the frame_name argument
because that was not correct in this context (or at least not
necessary).
- in parse_html() and parse_text(), outcommented several initial
settings which are already done by new_frame().
Loader.c:
- in parser_job(), removed debug output, inserted delete_frame()
calls. also adapted new_frame() argument list.
- in init_load(), adapted new_frame() argument list.
Containr.h:
- new function containr_byName() to find a named container in the
tree.
- removed C_get_percent() and C_get_offset(), not longer needed.
Containr.c:
- in containr_setup(), removed setting of frame_name.
- in containr_clear(), added delete_frame().
- new function containr_byName().
- removed C_get_percent() and C_get_offset().
Mouse_R.c:
- line 28 + 39: removed first argument of frame_clicked().
- line 275: make use of containr_byName() to find named target.
- added #include "Containr.h" line.
HighWire.c:
- line 178 (highwire_ex): removed destroy_frame_structure() call,
it makes no sense to free memory just before exiting but slows
down program quit.
February 12, 2002
Baldrick's Patches
TABLE.C
- moved temp_height = 0; out of end of row test to a location
after row height check.
February 11, 2002
AltF4's Patches
defs.h:
- line 15: added forward declaration for CONTAINR and a #pragma
to keep off PureC from complaining about a unknown structure.
This is a bug in PureC because the ANSI C standard explicitely
allows this kind of declaration.
- line 308: changed the type of Container attribute.
Containr.h:
- moved over the typedef to defs.h
Containr.c:
- line 34 + 193: containers get the attribute Border from their
parents (if any).
- line 181: take care of global the_first_frame variable.
- line 7: removed #include "Loader.h".
Loader.h
- changed the type of Target attribute.
- removed TmpFrame and ParseType attributes, not longer used.
- changed argument list of new_loader_job().
Loader.c:
- overworked parser_job() to avoid the need of temporary frames.
- removed set_parser_job().
- loader_job() registers the parser job itself now.
- init_load() adapted new_loader_job() arguments.
render.c:
- line 1439 (parse_frameset): removed start_frame variable.
- line 1510 (parse_frameset): adapted new_loader_job() arguments
and removed temp_frame.
keyinput.c:
line 64 (key_pressed): adapted new_loader_job() arguments and
removed temp_frame.
Mouse_R.c:
line 305 + 323 (key_frame_clicked): adapted new_loader_job()
arguments and removed temp_frame.
February 09, 2002
AltF4's Patches
global.h:
- removed global variable declarations add_to_do and read_to_do,
no longer in use.
- added frame and clipping_area arguments to
calculate_frame_locations().
defs.h:
- replaced the 'struct frame_item {...}' by 'typedef struct
frame_item {...} * FRAME'. this allows shorter argument lists
for function declarations and better readable code.
- removed all of the 'Flow Control Constructs' at the end (the
to_do_... declarations), no longer in use.
Variable.c:
- removed global variables add_to_do and read_to_do, no longer in
use.
Container.h:
- added structure members Area, Name, Border, removed _debug.
- new functions containr_setup(), containr_Base(),
containr_relocate(), containr_calculate(), containr_redraw().
Container.c
new functions:
- containr_setup() to attach a frame to container,
- containr_Base() to get the base parent container of a frame,
- containr_relocate() to new positions for container and frames,
- containr_calculate() to calculate positions and sizes of
containers and frames,
- containr_redraw() as replacement for the frame based redraw().
Loader.h:
- moved over the typedef FRAME to defs.h.
Loader.c:
- in parser_job():
- added containr_setup() and containr_calculate() calls.
- containr_redraw() is called for every redy frame now. this way
the user can start viewing while there are still parts to be
parsed. this also helps debugging.
- in init_load(), resorted window setting.
AEI.c:
all changes in process_messages():
- case WM_MOVED: replaced wind_set() by wind_set_grect() and
calculate_frame_locations() by containr_relocate().
- case WM_SIZED: replaced calculate_frame_locations() by
containr_calculate().
- case WM_REDRAW: replaced redraw() by containr_redraw().
- case WM_FULLED: replaced calculate_frame_locations() by
containr_calculate().
render.c:
- all changes in parse_frameset():
- added argument container.
- variable border removed, will be handled in the tag scopes
instead.
- variables cur_xoffset and cur_yoffset removed since geometric
calculations are no longer done here but in containr_setup().
- in parse_html() case TAG_FRAMESET, added container argument to
parse_frameset() call.
F_Calc.c:
all changes in calculate_frame_locations():
- added frame and clipping_area arguments to function.
- outcommented a lot of stuff that is now already done by
containr_calculate().
Makefile:
improved for different processor targets.
February 8, 2002
AltF4's Patches
Containr.c, Containr.h:
new module for struct CONTAINR to take over structural aspects of
frame_item. there are nearly no comments in it, I will make up for
this soon.
defs.h:
line 308 ff:
- added temporary anonymous pointer attribute Container.
- outcommented atrribute next_frame. declared temporary function
frame_next() to be used instead (just behind the struct).
render.c:
- line 941 (parse_table_tag) + 1135 (parse_td_tag):
set color to -1 if not defined as tag attribute to allow
transparency for table items.
- function parse_html() completely reworked to make use of the new
container structure/functions.
Redraws.c:
- line 987 + 940 (draw_table):
added if(color >= 0) to allow transparency for table items.
- line 164 (redraw):
replace acces to next_frame attribute by frame_next() call.
Loader.c
made a lot of changes to make use of the new container structure/
functions. sensless to write them down because most of the will
be changed again in the very near future.
F_Calc.c:
- line 45 + 200 (calculate_frame_locations):
replace acces to next_frame attribute by frame_next() call.
- line 24:
new macro PercentOf() for calculating absolute values from
percents. this seems also solve the problem that sometimes a one
pixel column at the very right side of the window wasn't filled.
- in calculate_frame_locations(), replaced all calculations of
absolute values from percent by the new PercentOf() macro.
F_Struct.c:
- line 10: (destroy_frame_structure)
replaced while by if, no more need to walk through a list.
- line 8 + 20 + 22: (destroy_frame_structure)
removed acces to next_frame attribute.
- line 37: (init_frame)
initialize anonymous pointer attribute.
- line 39: (init_frame)
removed acces of next_frame attribute.
Mouse_R.c
- line 32 (button_clicked) + 318 (frame_clicked)
+ 375 (check_mouse_position):
replace acces to next_frame attribute by frame_next() call.
keyinput.c
- line 55 (key_pressed):
replace acces to next_frame attribute by frame_next() call.
Makefile, purewire.prj, highwire.prj: updated
February 7, 2002
Baldrick's Patches
TABLE.C
- calculate_subtable_height() no longer called. Possibly will
be removed shortly
- left_border removed in calculate_table_height()
- table->borders.left used in place of left_border
- removed calculate_subtable_height() routine no longer used
- cleaned up some old remmed out lines involving the old
colspan implementation
- some other unused snipets that were rem'd out removed
- reworked system in caculate_table_height() text processing
now in else { }
- reworked system in walk_table_children() text processing now
in else { }
- fixed a typo in sub table height calculation
February 6, 2002
Baldrick's Patches
TABLE.C
- new routine set_p_area() - sets a paragraphs area coordinates
- modificaitons of calculate_table_height to use set_p_area.
February 5, 2002
Baldrick's Patches
DEFS.H
- added struct table_item *parent; to table_step struct
- renamed paragraph * in table_step to entry
modifications in table.c, render.c and redraws.c
TABLE.C
- added table_item *parent parameter to new_table_step() and
add_table_step()
- patched empty_child routines
- modification of colspan handling in all routines that
modified based on colspan
GLOBAL.H
- new definitions for new_table_step() and add_table_step()
RENDER.C
- modifications for new table step routines and struct
- modifications for insertion of empty children to make
space for colspan rowspan
REDRAWS.C
- modifications for new table step routines and struct
- modification of colspan handling in draw_table routine
- removed draw_subtable() it was no longer used
AltF4's Patches
render.c
- line 1862: renamed calculate_frame() to parse_html().
- line 1571: removed #else .. #endif part, wasn't used anymore
since a longer time. parse_frameset()
- line 1556 + 1565: replaced add_load_item_to_to_do_list() by
new_loader_job(). parse_frameset()
- line 1556: the 't_frame->frame_name' gets its value from
get_value_str() now to avoid useless copies. parse_frameset()
- line 1538: removed the #if 1 and the following
if (!get_value...) block, not longer used. parse_frameset()
- line 1393: removed frame_name[], no longer in use. parse_frameset()
- line 12: added #include "Loader.h".
HighWire.c
- line 30: changed the timer value from 100 to 1.
- line 162: replaced check_to_do_list() by schedule().
- line 14: added #include "schedule.h".
Mouse_R.c:
- line 312 + 329: replaced add_load_item_to_to_do_list() by
new_loader_job()
- line 8: added #include "Loader.h".
keyinput.c:
- line 73: replaced add_load_item_to_to_do_list() by
new_loader_job()
- line 15: added #include "Loader.h".
Makefile, purewire.prj, highwire.prj:
updated: inserted schedule.c, removed To_do.c
schedule.c, shedule.h:
- new module for general purpose job control. the functions here
don't know anything about internal structures like frame_item
but are handeling all arguments as anonymous pointers. This way
it can also be used later for eg. decoding images.
Loader.c:
- new functions new_loader(), loader_job(), new_loader_job() to
take over some functionalities from To_do.c and make use of
schedule.c instead.
- new functions parser_job(), set_parser_job() to take over some
functionalities from To_do.c and make use of schedule.c instead.
this both functions should really placed somewhere else but atm
I'm not shure about the right file.
- added #include "schedule.h" and "Loader.h".
- replaced add_load_item_to_to_do_list() by new_loader_job().
Loader.h
- I placed here some declarations which I will need to change soon
again. this way at least gcc compiles much faster after changes.
To_do.c
all of its functionality is now splitted off into schedule.c and
Loader.c, so it becomes obsolete now.
global.h
- renamed calculate_frame() to parse_html() because that matches
more its functionality, corresponding to parse_text(). Also
moved this declaration to the render.c section where it belongs.
February 4, 2002
Baldrick's Patches
TO_DO.C
changed include aes.h to gemx.h
REDRAWS.C
experiments walking paragraphs around table draws
recall draw_table() instead of draw_subtable()
draw_table() replaced left_border, right_b.. and bottom_b...
with current_table->current_borders.
DEFS.H
new struct BORDERS tracks left, right bottom
added sturct borders current_borders to table item
P_STRUCT.C
added init to 0 in new_paragraph() for paragraph.area values
TABLE.C
uncovered the fact that paragraph.area values weren't being
set for tables. This was a problem since the redraw routines
needed these values
Alot of undocumented changes :< all in table routines though. Drawing
calculating and parsing.
February 1, 2002
Baldrick's Patches
#if 0'd out the empty child insertion routines for the moment
going to sync the updates and can't finish it in time.
TO_DO.C
included aes.h for PureC for graf_mkstate
AltF4's patches
O_Struct.c:
- removed the unnecessary #include <gemx.h>.
AEI.c:
- resorted the #include lines for better readability.
- replaced <gemx.h> by <gem.h> to make compiling a bit faster.
HighWire.c:
- resorted the #include lines for better readability.
- in the event loop, moved the check_to_do_list() call to the end
(line 135 -> 158) to avoid double redrawing at start up. Not
doing so let HighWire recive the initial redraw message of the
wind_open() just after redrawing of the finished page.
- the check_mouse_position() is now triggered by MU_M1 events
instead of MU_TIMER. this way it is only called if the mouse
really moved and saves some cpu time for background processes
(11% -> 8% cpu load on my system).
- replaced evnt_multi() by evnt_multi_fast(). the latter gets
only three pointers instead of a LOT and saves this way some cpu
time. the apropriated EVMULT_IN struct just before the main()
function.
To_do.c:
- line 104: added check_mouse_position(), else the changes above
dosn't work properly with links in frames.
- line 112:
removed an old #ifdef, was only used for speed meassurment in
the past.
- removed the unnecessary #include <gemx.h> and resorted the other
include lines for better readability.
- added new function copy_to_do() to avoid duplicate code in
check_to_do_list().
- in add_load_item_to_to_do_list() replaced malloc()/strcpy()
calls by strdup().
- reformatted the complete code to get the code readable.
January 31, 2002
Baldrick's Patches
TABLE.C
current_height replaced with current_table->temp_long in calculate
table height routines
removed test for table->num_cols > 1 in advacing table height
in calculate table height and subtable height routines
new routine struct table_child *insert_empty_child (struct
table_child *prev). this inserts our empty holders into table
structures to fill the spaces left by colspan and rowspan
REDRAWS.C
removed test for table->num_cols == 1 in righ border setting in
draw_table routine
WORD pts[4] use in draw_table() and draw_subtable() replaced with
current_table->screen_pts
variable WORD u removed from draw_frame_contents()
variable WORD junk removed from draw_subtable()
#if 0 rem'd out hopefully not needed test in draw_table() and
draw_subtable(). if we still need it make certain to remove
line after #endif
RENDER.C
created table child walking routine in parse_table_tag() close to
insert empty children into table child structure. This is to help
with the support for colspan and rowspan
DEFS.H
addition of WORD screen_pts[4]; /* on screen rectangle of table */
to struct table_item
Global.h
insert prototype for insert_empty_child
January 30, 2002
Baldrick's Patches
REDRAWS.C
bottom border now long
y_offsets in many routines converted back to longs
Render.c
changed tests in parse td tags to be num_rows == 1 instead of <= 1
in case TAG_TR added a test to see if the number of columns in the table
is greater than 0. If it is then it adds a new row. The reason is
the default value for number of rows is 1 now, this is to cope with
some sites with bad html, missing the initial tr tag before the first
row.
TABLE.C
num_rows default 1 now in new_table(). The logic behind this
is a bit odd, but it works. The reason is that there are
sites with bad html that do not have a tr tag before the first
row, but do later on. So if it is 0 then we end up with a
table with one row instead of 2. See note in render regarding
tr tag
January 29, 2002
Baldrick's Patches
DEFS.H
added long temp_long; /* a temp long used mainly for height tracking */
to table_item struct
TABLE.C
temporarily removed table walking in height calculations
REDRAWS.C
removed current_line_width in draw_table routines, now use
direct value since it wasn't being modified
renamed some parameters in the drawing routines just
to ease my reading them today
removed variable old_height and use y offset directly since
it was not modified in the table drawing routines
variable u renamed to junk since this is what it is in table
drawing routines
new routine static void set_veffects(struct word_item *current_word)
just some standard recurring vdi effects in this module
set_veffects() replaces code in draw_frame_contents and table
drawing routines
table_item->temp_long replaces current_height in table drawing
routines
Note once we get this sorted out we can see about reducing some of
these struct entries again
Some notes.
Subtable isn't always being entered
We need to set pts array in table drawing closer to calling sub routines
January 28, 2002
Baldrick's Patches
TABLE.C
experiments with walking table paragraphs in height calculations
AltF4's Patches
Loader.c:
in get_decoder_type():
- line 103: replaced strchr() by strrchr(), else a file named
like 'foo.bar.htm' is taken as a raw text file because the
'.bar' is found as extension instead of '.htm'.
- line 114: added 'php' as an extension for html files -- this
makes testing of downloaded pages easier.
parser.h, parser.c, render.c:
- the parse() function is now renamed to parse_tag() because the
previous function name is really too unspecific.
- comments are now handled by parse_tag() in parser.c. this way
it is also working for framesets and titles.
render.c:
- removed comment handling (is done by parse_tag() now).
- implemented skip_style() and skip_script() to filter out the yet
not interpreted css and javascript parts.
token.h:
added SCRIPT, NOSCRIPT, STYLE keywords.
January 25, 2002
Baldrick's patches
TABLE.C
- current_table->temp_val used to replace temp_cols in
calculate_table_height() and calculate_subtable_height()
- almost all routines in TABLE.C drop current_paragraph variable
in favour of using the pointer in the table_item
- word_item *current_word replace with frame->current_word in
calculate_table_height() and calculate_subtable_height()
- current_child replaced with table->current_child in
calculate_subtable_height() and calculate_table_height()
- table_w in calc subtable_height() and calc table_height()
replaced with current_table->actual_width
- modifications to increase current_height in one column tables
DEFS.H
- added current_paragraph * to table_item struct, this lets
us track paragraphs inside seperate tables
- removed container value from frame_item struct
REDRAWS.C
- removed table_paragraph * from draw_table() replaced with
table->current_paragarph
- a test routine, draw_subtable() this isn't permanent, I'm
using it for some testing
January 24, 2002
Baldrick's patches
TABLE.C
- put width test back into calculate_table_height() when walking
words.
- check if table has more than 1 column before testing and reset
of column/row data in calculate_table_height(),
walk_table_children(), calculate_table_width(),
calculate_subtable_width(),calculate_subtable_height()
NOTE there is the potential of rewritting how col_span is handled
which would eliminate the need for these tests
January 23, 2002
Baldrick's patches
LOADER.C
- short test forcing PureC to use stat() call. It works here
I sent a message out to the list to clarify if we really
need all these tests in load_file()
AltF4's patches
LOADER.C
- line 155:
removed unused definition of file_info (is also defined in the
following else scope).
- line 189:
reordered the #ifdef to enable again the gcc binary to load
files without MiNT/Magic.
HighWire.c:
- line 42:
removed leading '\\' of the address string to make shure that
the start page is also found without MiNT/Magic.
parser.c, parser.h:
- added new functions get_value_char() to get only the first
character of a value and get_value_unum() to get a value as a
unsigned number directly.
render.c:
- modified parse_li_tag() for use of new get_value_char() and
get_value_unum() functions. this avoids the output of funny
markers for something like <LI VALUE="-7"> or <LI VALUE="1%">.
Furthermore the marker toggeling of <UL>s inside other <UL>s is
working correctly now.
- in parse_ol_tag(), parse_table_tag(), parse_td_tag(): modified
for use of new get_value_char() and get_value_unum() functions.
- in parse_div_tag(), parse_header_tag(), parse_img_tag(),
parse_hr_tag(), parse_p_tag(), parse_ul_tag(): modified for use
of new get_value_char() function.
January 22, 2002
AltF4's patches
GLOBAL.H
- changed parameter list of new_word()
- corrected comments with respect of renamed files.
- removed some obsolete function declarations:
line 103: variable()
line 106: special_char_map_str()
W_Struct.c:
- expanded the argument list of new_word(). if the parameter
copy_from is non-zero it is taken as a source to copy some
attributes from.
- took over word_store() function from render.c
P_Struct.c:
- in add_paragraph(), replaced malloc of struct word_item by
new_word(). no function should malloc and init foreign data
structures by itself but call appropriated functions for that
because this is a very common source of errors.
- removed #include <string.h>, was only used for memset().
- removed #include <gemx.h>, was nowhere used.
F_Struct.c:
- new function init_frame() used by new_frame(), reset_frame()
and temp_frame(). this makes the code a bit shorter and
decreases the possibility of bugs depending on forgotten
attribute initializing.
- removed #include <string.h>, was only used for memset().
- removed #include <gemx.h>, was nowhere used.
defs.h:
- expanded the enum bool to a typedef BOOL. this makes code a bit
better readable. there are also two defines to have earlier code
still working.
parser.h, parser.c:
- return value of get_value() changed to BOOL.
parser.c:
- reworked the parse() function to get it more stable with faulty
html code. it now uses the scan_tag() and scan_key() functions
which are already defined in scanner.c (was forgotten in some
previous patch).
scanner.h, scanner.c:
- changed parameter 'lookup' of function scan_key to BOOL.
render.c:
- removed a lot of duplicate code in parse_th_tag(). Instead it
calls now the function parse_td_tag() and does only the few
things which are different for TH tags in comparsion to TD tags.
- moved the function word_store() over to W_Struct.c where it
belongs to more.
AEI.c:
- changed full_window(), iconify_window(), uniconify_window() to
static function type to make gcc happy.
- outcommented unused GRECT r in uniconify_window().
January 21, 2002
David Leaver's patches
addition of #include <dos.h> in loader.c
version 0.2 finally released
January 18, 2002
Baldrick's patches
AEI.C
new routine full_window(WORD win); Handles growing\shrinking
window when the FULLER is clicked
WM_FULLED case calls full_window();
new routine iconify_window(WORD win, GRECT *new); handles
iconifying a window (NO ICON ATM)
new routine uniconify_window(WORD win, GRECT *new); handles
uniconifying a window
WM_ICONIFY and WM_UNICONIFY now supported
F_STRUCT.C
added current_table = 0 init's to new_frame(), reset_frame()
and temp_frame() - fixes random crash after loading a table
page
global.h
added externs for win_status and pre_status
Loader.C
set win_status = 0 in init_load()
modified read_config() line. It's no longer a test. I had
changed it to be an Alert, but found it too annoying atm.
Highwire.C
Commented out wind_set(...WF_BEVENT..). I don't know why it
was there and no one ever answered the question on the list.
It also get's rid of not being able to easily retop the Highwire
window.
variable.c
new variable WORD win_status; determines what state our window is
currently in 0 normal, 1 fulled, 2 iconified
new variable WORD pre_status; tracks status before iconfication;
January 17, 2002
John Kromylos Patches
modifications of load_file() to make TOS happy
MiNT_Flag moved to top of loader.c
January 16, 2002
Baldrick's patches
Applying patches so we can compile a menu version on the fly
Most notably the inclusion of #ifdef GEM_MENU and Matthias Jaap's
menu code and RSC file.
modified files. Global.h, Highwire.c,AEI.C and Keyinput.c
AltF4's January 12 patches
Highwire.c - unused variable numSets commented out
keyinput.c - variable 'i' commented out, we might want to track
the return on page_load() at some point in time
aei.c - moved WM_CLOSED and AP_TERM cases in switch to end of
switch statement
scanner.h
removed the #include, it was only meant for testing.
scan_color() prototype updated
scanner.c -
added #include "token.h" before include "scanner.h"
added length argument to scan_color(). this way the color
expression needn't a trailing '\0' anymore.
removed the #ifndef NULL ... lines, useless.
values.c
added #includes for global.h and scanner.h
removed the #ifndef NULL ... lines, useless.
added new function Variable_color() which returns directly the
remapped VDI color value of a given attribute. this has the
advantage that we can save some useless copy actions and also
makes some parse_...() functions a little bit more lean.
parse.c
#include section at the begining resorted or a better overview.
removed a lot of obsolete debug macros (the DBG(..) lines).
parse_body(), parse_table_tag(), parse_td_tag(), parse_th_tag(),
parse_font_tag():
modified to use the new Variable_color() function.
line 1821 - split if statement to keep PureC quiet
line 1987 - improved recognition of comments, <!--..--> and <!-..->
are now also working if going over more than one line and if a
html tag is inside
AltF4's January 14 patches
NETLAYER.C
- added a dummy line to avoid PureC warning 'unused variable'.
values.c:
is now renamed to parser.c because this matches its meaning
much better.
the Variable..() functions are renamed now to more descriptive
names get_value(), get_value_str(), get_value_color().
the function declarations are now placed in the header file
parser.h where they belongs.
added some explanation comments.
Parse.c:
is now renamed to render.c because this matches its meaning
much better.
removed obsolete Variable..() declarations, is now placed in
parser.h. #include "parser.h" added.
in all functions, replaced the obsolete Variable..() calls by
the appropriate get_value..() calls (51 times).
Makefile, purewire.prj, highwire.prj - updated
January 11, 2002
Baldricks patches
current_width lines deleted in walk_table_children()
WORD temp_val added to table_item structure
just a temporary word for use in table calculations I'm using
it for replacing temp_cols at the moment, but made a generic
name in case we find other uses for it.
walk_chilren and table_width routines adapted to use table_item->temp_val
current_width determination in percentage width tables moved to
after walk_children in case sub tables have been processed
draw_table() adapted to use table->temp_val
draw_frame_contents() added new parameter frame_item *current_frame
draw_table() added new parameter frame_item *current_frame
current_word in draw_table() changed to frame->current_word
draw_table() parameter 2 now table_item * instead of paragraph_item *
current_child in draw_table() now refrences current_table->current_child
draw_table() changed to long return - subtable heights were being lost
January 10, 2002
AltF4's patches
PARSE.C line 15 #include "scanner.h" lower case
HIGHWIRE.C line 37 \\HTML\\ now lower case \\html\\
Edited .HTM files for lower case file names
Baldricks patches
current_child * moved from frame_item to table_item this will let
us track multiple children for subtables
calculate_table_width() modified to use table->current_child instead
of local variable (this is an intermediary step)
walk_table_children() modified to use table->current_child instead
of local variable (this is an intermediary step)
WORD min_width; added to struct table_child should track the size
of the largest word in the child (ie child can be no narrower than
this value)
word_store() routine tracks child->min_width if inside of a table
cleaned out come current_paragraph tracking that did nothing in
calculation of table_width
ok trying to reuse frame->current_word in walk_table_children()
current_width commented out in walk_table_children() it wasn't really
used and I'm not certain why it was in there
sub tables are now parsing partially. This isn't finished yet.
however they are at least not crashing.
January 9, 2002
David Leavers update Lattice Highwire.prj included
AltF4's patches from the 8th included. These replace baldricks
changes for Var_len() and in parse_anchor()
Baldricks patches
patches in draw_table() for visual representation of colspan
finally first and second tables in table1.htm display approximately
correctly.
January 8, 2002
AltF4's patches from the 5th
New Purewire.prj (purec prj file)
New Makefile
Patched scanner.c and scanner.h
new values.c
Rafal Kawecki patches
string.h added to F_STRUCT.C, P_STRUCT.C
baldricks patches
experimental Var_len() routine in values.c gets the length of
the value of an attribute to a tag
patches to parse_anchor() to use Var_len routine
%width tables now set relative to clip width
%width table width now checked against the minimum size of
the table if it's smaller than the minimum size it becomes the
minimum size.
in redraws.c in draw_table() in paragraph code. left_border now
set to 0 instead of paragraph->left_border. I'm not sure why I did
that.
added WORD min_width to table_item
if table->actual_width > frame_page_width and table is a percentage
of the clip area. frame_page_width is set to table->min_width
January 7, 2002
Cleaned out lattice #ifdefs since we have all 3 main compilers
working with GEM.LIB. Thanks to Ralph Lowinski updating the
PureC version and David Leaver creating a Lattice version.
January 4, 2002
Moved *.HTM sample files into HTML folder
Changed default page in Highwire to point to HTML folder files
Changed version number to 0.2
January 3, 2002
AltF4 has rewritten a large portion of the parser.
He didn't document his changes in a short list and
there are way too many for me to try and detail while
still having time to get any programming done.
Basically it's easiest to say, it's alot faster now.
Baldrick Updated PRJ files for Lattice and PureC.
Dec 28, 2001
AltF4's patches
PARSE.C
in parse_th_tag() test for table rows put back in for num_cols modification
GLOBAL.H
line 111 remap_color(long value) not remap_color(long *value)
COLOR.C
line 68 remap_color(long value) not remap_color(long *value)
SCANNER.C and SCANNER.H updated
Baldrick's patches
These are experiments that might be dumped
attr_step() struct added to defs.h
attr_step *current_attr added to frame_item struct
new_attr() and add_attr() added to parse.c
attr_list() added to parse.c
Idea is to break the input area for a tag into a linked
list of attr_step's to speed parsing
current_attr init'd to 0 in routines in F_STRUCT.C
Modified parse_p_tag() and parse_td_tag() to use attr_list routine
old code kept in #ifdef incase new routines are dropped
Dec 26, 2001
Modifications to handle compiling with GEM.LIB.
Removal of GEMParBlk code, it was basically to test
if the program was running under AES 4.x (atari Multitos)
added cyan and magenta to the COLORNAME array color
probably not exact, I just guessed something close
AltF4's patches
VARIABLE.C fonts{} modified
TO_DO.C line 126 first_frame changed to the_first_frame
TABLE.C
line 135 param top changed to tab_top
line 136 param top changed to tab_top
line 140 param top changed to tab_top
line 144 line_end rem'd out as unused atm
line 147 height_spacer rem'd out as unused atm
line 149 previous_word_height rem'd out as unused atm
line 157 temp_rows rem'd out as unused atm
line 169 bottom_border & right_border rem'd out as unused atm
line 331 href changed to lnk_href
walk_table_children() param top changed to tab_top
also now a static routine
line 519 current_line_width now init'd at 0
calculate_table_width() param top now tab_top
calculate_subtable_width() param top now tab_top
calculate_subtable_height() param top now tab_top
line 810 temp_rows rem'd out as unused atm
line 975 href changed to lnk_href
SCANNER.C
added include ctype.h
struct NAMEDCHAR reworked
scan_color() routine modified and moved
Color index array moved here
REDRAWS.C
draw_box() routine now static void
draw_hr() routine now static void
draw_img() routine now static void
draw_paragraph() routine now static WORD
{ and } added to if (current_word->changed.colour == TRUE) test in
draw_paragraph()
draw_table() routine now static void
P_STRUCT.C
add_paragraph() new_paragraph and new_word variables now paragraph and word
dropped 'new_' this modifies most of the lines in some small way
PARSE.C
removed color_array it's now in SCANNER.C
kill_to_end() routine now static char *
set_pre_font() now static void
set_font_bold() now static void
set_font_italic() now static void
set_font_strike() now static void
set_font_underline() now static void
set_center_text() now static void
set_blockquote_text() now static void
parse_color() routine removed now scan_color() is used
parse_anchor() now static void
href changed to lnk_href in new_url_link() calls in parse_anchor()
name changed to lnk_name in new_url_link() call in parse_anchor
parse_body() routine rewritten
parse_d_tags() now static void
parse_div_tags() now static void
parse_font_tag() now static void
variable WORD temp removed
color handling modfied
parse_header_tag() now static void
parse_menu_tag() now static void
parse_p_tag() now static void
parse_li_tag() now static void
parse_ol_tag() now static void
parse_ul_tag() now static void
parse_table_tag() now static void
variable WORD temp removed
color handling modified
parse_th_tag() now static void
color handling modified
parse_td_tag() now static void
color handling modified
parse_hr_tag() now static void
parse_img_tag() now static void
parse_title() now static char *
parse_frameset() now static char *
list_marker() routine variable new_word changed to n_word
- modifications to handle this
NETLAYER.C
in request_uri() #ifdef USE_LIBWWW moved to before char *url
MOUSE_R.C
in check_mouse_position() href changed to lnk_href in last test
LOADER.C
get_fname() now static void
get_fpath() now static void
init_load() first_frame changed to the_first_frame
KEYINPUT.C
in key_pressed() char test; rem'd out as unused atm
in page_load()
n[80] added = ""
variable int b; removed
WORD butt added
variable int result removed
*n = EOS removed
HIGHWIRE.C
in main()
enum bool quit renamed to exit
variable id rem'd out as unused atm
while loop now tracks exit
MU_ handling routines now use the_first_frame instead of first_frame
in highwire_ex()
the_first_frame used instead of first_frame in destroy_frame...
F_CALC.C
in calculate_frame_locations()
the_first_frame used instead of first_frame
in calculate_frame_height()
current_line_width added = 0
href now addressed as lnk_href
CONFIG.C
equ_txtn() now static WORD
COLOR.C
remap_color now WORD remap_color(long value)
best_no now init'd to 0
unsigned char *rgb added
RGB1000 color added as variable
new routines for modifications of color values
changes to remap to color from * color
parse_convert_hex() and parse_convert_colour() routines removed unused now
AEI.C
vastart() now static void
nextToken() now static char *
doGSCommand() now static WORD
DEFS.H
enum link_mode settings now lnk_href and lnk_name
GLOBAL.H
line 10 dev renamed to vdi_dev
line 26 first_frame renamed to the_first_frame
line 111 parse_convert_colour() replaced with remap_color()
line 134 param top changed to tab_top
line 135 param top changed to tab_top
SCANNER.H
long scan_color() protoype added
Dec 22, 2001
AltF4's patches
New makefile
include osbind.h in AEI.C
wind_set_str() modification for WF_INFO call in main()
modfications for identify_AES for GNUC
Baldrick's patches
Line 290 in MOUSE_R.C modified first_frame to
current_highlighted_link_frame hopefully avoids one of the
extraneous redraws
modified vs_clip()'s in blit_block. They now turn off old window
level clipping and then localize it to redraw area
modified current_height > h test near bottom of draw_table()
it now checks to see if you are in the last column of a table
This probably isn't perfect. But it works for the example
files
Dec 21, 2001
Matthias Jaap's patches for Gemscript
baldrick - modified int's in Gemscript support to WORD's
David Leavers patches
WORD pts2[2] now WORD pts2[4] in draw_box() routine.
Line 187 in TO_DO.C +1 added to malloc(strlen())
Line 184 in TO_DO.C +1 added to malloc(strlen())
#ifdef LATTICE wrapper for wind_set(WFNAME) added in init_load()
#ifdef LATTICE wrapper for wind_set(WF_INFO) added in main()
Header modifications in COLOR.C
Baldricks patches
WORD identify_AES(void) added to LOADER.C this searches the cookie
jar for the AES. Hopefully compiles with all of our compilers
A number of defines to support identify_AES() added to DEFS.H
WORD AES_type added to main(). This tracks AES type used. Mostly
used to detect AES_single atm.
identify_AES() called to issue appropriate Pdomain(). This is code
scavenged out of Qdialer. Hopefully it works appropriately allowing
single TOS to load files AND compiles under all compilers.
void walk_table_children() routine created. It handles the walking
of a tables children and it's paragraphs to get the table actual_width
if a td or th has a colspan adjust the table->num_cols by colspan - 1
to adjust for 1 already added at start of tag processing
Dec 20, 2001
AltF4's patches
Parse.c special_char_map() routine removed (unused code)
Color.c int coltab[3]; now WORD coltab[3]; line 42
Highwire.c int vwork_out... changed to WORD vwork_out... line 38
/* */ put around line in IFDEF 0 - I disabled ...
Baldricks patches
Added 'v. 0.1' to About Highwire dialog in key_pressed() routine
WORD ignore_colours added to variable.c
ignore_colours determines whether color settings in tags
are parsed or ignored.
ignore_colours = 1; added to planes < 2 test in main().
parse_body() checks ignore_colours before parsing color attributes
parse_font_tag() checks ignore_colours before parsing color attribute
parse_table_tag() checks ignore_colours before parsing bgcolor
attribute. if ignore colours is 1, then it sets the table
backaground to frame background
parse_th_tag() checks ignore_colours before parsing bgcolor attribute
parse_td_tag() checks ignore_colours before parsing bgcolor attribute
output[100] removed from parse_title() routine
WORD actual_width added to table_item struct. Tracks real width
of table
Several instances of table_width replaced with actual_width.
WORD actual_width and WORD actual_height added to table_child
structure. Tracks what the real dimensions of the child are.
tag variable height now parsed in th and td tags
tag variable width now parsed in th and td tags
Test made in calculate table height and calculate sub table height to
see if the html specified a larger height than the data warrants
Test made in calculate table width and calculate sub table width to
see if the html specified a larger height than the data warrants
WORD forced_width; removed from table_item structure. It wasn't needed
anymore
cell_spacing and cell_padding reversed. They had been used
backwards previously.
Dec 19, 2001
AltF4's patches
New Purewire.PRJ
Inlude SCANNER.C and SCANNER.H
Moved ISO array out of PARSE.C
parse_title() modified to use new scanning routines
'&' parsing modified to use new scanning routines
Dec 18, 2001 (afternoon - after morning code release)
modified test in parse_td_tag() num_rows <= 1
Dec 18, 2001 (morning)
Alot of experimentation with new table_step routines
to get them functioning correctly
minimum_width removed from parse_text and calculate frame
Dec 17, 2001
rem'd out a test in redraw_frame. frame->frame.h isn't being properly
initialized so the test is bad.
prev_alignment added to parse_p_tag(). This tracks the previous paragraphs
alignment and sets the new paragraph to this if it is not specifically
defined.
ALTF4's patches from Dec 16th applied
PARSE.C ( wind set patch)
LOADER.C
HIGHWIRE.C
COLOR.C
AltF4's patches to parse.c Dec 17th applied
amp lookup modified in htmlchars
modifications of special_char_map_str()
modifications to parse_menu_tag() for flag variable so that it
handles closing tags as well
WORD current_font_size added to frame item structure
WORD current_font_size removed from calc_frame... modifications
to use frame item *
WORD current_font_size parameter removed from parse_d_tags()
modifications to use frame item *
WORD current_font_size parameter removed from parse_font_tag()
modifications to use frame item *
WORD current_font_size parameter removed from parse_header_tag()
modifications to use frame item *
WORD current_font_size parameter removed from parse_p_tag()
modifications to use frame item *
modifications to parse_font_tag() for flag variable so that it
handles closing tags
modifications to parse_header_tag() for flag variable so that it
handles closing tags
modifications to parse_ol_tag() for flag variable so that it handles
closing tags
modifications to parse_div_tag() for flag variable so that it
handles closing tags
modifications to parse_ul_tag() for flag variable so that it
handles closing tags
modifications to parse_anchor() for flag variable so that it
handles closing tags
parse_th_tag() routine created. Handles Table Header Cells
table_item *current_table & table_child *current_child added
to frame_item structure
parse_td_tag() routine created. Handles Table Data Cells
parse_table_tag() routine created. Handles Table tags ;)
struct table_step created. (defs.h)
struct table_step *parent_table; added to frame_item struct
struct table_step *new_table_step (struct table_item *p_table);
routine added to table.c
struct table_step *add_table_step (struct table_step *old)
routine added to table.c
Dec 14, 2001
frame_item *p_frame added to add_paragraph() routine
word_item *current_word param removed from add paragraph()
* current_paragraph param removed from add_paragraph()
WORD indent param removed from add_paragraph()
WORD *minimum_width param removed from add_paragraph()
add_paragraph() now directly modifies frame->current_paragraph
no longer returns a value
modified all instances of add_paragraph() for new params
set frame->current_word at end of add_paragraph() since
it was always set after add_paragraph anyway
WORD *active_word added to frame structure
WORD *active_word param removed from add_paragraph()
Removed active_word param from most of the recent tag parsing routines
word_store() now takes struct frame_item *p_frame
removed struct word_item *current_word from word_store()
modifications across code to support this
add frame_item* p_frame to add_word() routine
WORD indent param removed from add_word() routine
WORD *minimum_word param removed from add_word() routine
moved word_store() call in add_paragraph() after empty paragraph test
temporarily removed empty paragraph test in add_paragraph() I think the
problem it was trying to cure may be gone now. I'm not really happy
with some of the vertical spacing now, but if we use the old test
we now loose some paragraphs
parse_div_tag() routine created. handles DIV tags...
parse_font_tag() routine created. handles FONT tags...
parse_p_tag() routine created. handles P tags...
Dec 13, 2001
kill_to_end() replaces some code in closing of Title tag
struct word_item *current_word moved to frame structure
parse_hr_tag() reworked again
parse_ol_tag() reworked...
parse_li_tag() reworked...
parse_img_tag() reworked...
parse_ul_tag() reworked...
parse_header_tag() reworked...
parse_anchor() reworked...
list_marker() reworked using expanded frame structure
parse_menu_tag() routine created. parse MENU tags. Possibly
could be eliminated and mapped onto parse_ul_tag() routine.
DIR parsing now just mapped to parse_menu_tag() since they are
functionally the same and both are deprecated officially
set_center_text() routine created. If flag is on new paragraph is
centered. if flag != 1 new paragarph is left justified
set_blockquote_text() routine created. If flag is on new
paragraph is indented
if flag != 1 new paragarphs indentation is reduced
parse_d_tags() routine created. This handles all of the Dx tags
DL, DT, DD. Flag determines operation mode 1 is start != 1 is end of tag
type determines type of D tag we are parsing 0 DL 1 DT 2 DD
Dec 12, 2001
parse_ul_tag() routine created. Just parses UL tags
parse_ol_tag() routine created. Just parses OL tags
parse_li_tag() routine created. Just parses LI tags
list_stack_item *current_list moved to frame structure.
paragraph_item *current_paragraph moved to frame structure.
current_indent_distance moved to frame structure.
current_font_step * moved to frame structure.
simplifying many of the recently added routines to handle
a frame item * instead of all the seperate variables
parse_hr_tag() reworked
parse_header_tag() reworked
parse_img_tag() reworked
Dec 11, 2001
slider_bkg variable added. Controls color of background of frame
sliders
slider_col variable added. Controls color of slider widgets in frame
controls
These were both added to variable.c as a set value. They are
modified in highwire.c for monochrome displays. They should
either be matched to the system settings or user configurable.
Dec 07, 2001
modified the y coordinate test in frame location detection in
in button_clicked() in MOUSE_R.C. If there was no horizontal
scroller for the frame the coordinates for the frame clip were
too large. So the test could find the frame above or to the
left of the frame you were trying to manipulate.
Also modified the tests for the x coordinate in the same location
in a similar manner.
Note it's very possible that these tests could be rewritten into
something that would process faster if we think it's necessary.
parse_img() now retrieves the SRC value and stores it in the
local variable img_file[]; The way the names are stored for
framesets and images should probably be modified to avoid
overflow. Especially if we are looking at URI's since these
can exceed 1000 characters.
Dec 06, 2001
parse_title() now it place. Handles parsing and conversion
of title tags to a GEM window compatible formats and then
sets the window title.
some modifications in IMG location in table height and redraws
Setting of col_widths for tables done now when a column is
of a fixed width.
Dec 05, 2001
parse_img_tag() routine in place. Handles the parsing of IMG
tags to the extant of the current code.
parse_hr_tag() routine in place. parse hr tags.
Dec 04, 2001
modification to set_pre_font() to enable one routine to set and
turn off
set_font_bold() routine created. Modifies current word styles Bold
on and off
set_font_italic() routine created. Modifies current word styles
Italic on and off
set_font_strike() routine created. Modifies current word styles
Strike on and off
set_font_underlined() routine created. Modifies current word
styles Underlined on and off
That's all of the simple text manipulations for reuse elsewhere.
Dec 03, 2001
Put handling for closing td, th and tr tags into parse.c
TH cells are now bold and centered by default
parse_body() routine created. Simply handles the processing
of body tags.
Documented more of the supported tags in parse.c
parse_anchor() routine created. Parses <A ...> tags.
set_pre_font() routine created. Basically 2 lines of common
code use in a number of locations.
Why all the new routines?
Well I'm trying to strip down the reuseable code as much
as possible so that I can expand the table parsing code.
Dec 01, 2001
Found and fixed a bug in variable() that did not appear under
MagicPC.
Found a bug in calculate table height where I had current_paragraph
instead of current_table
moved current_paragraph assignment to top of while loops in calc height
and width of tables. ooops.
Some cleanup and moving of stuff around in the table calculation
routines.
added some word_stores in the child creation.
modified highwire to load highwire.htm by default
Nov 30, 2001
Fixed a bug in border watching that basically forced tables
not to print.
Ok. Simple tables are mostly working. There are problems
and limitations still. However I did promise to give everyone
a look.
Clickable areas in tables aren't working properly. Lookups
in tables are failing as well.
Some table cells have improper sizes.
ie. This isn't finished, it's just for show and to get other
people who might be looking at the code a look at the table
code.
Nov 29, 2001
draw_box() routine created to draw the bounding boxes around
items like tables.
Nov 28, 2001
Ok there was very litle tracking in the history for awhile
alot of things were done to the code and for along time it
was like walking in a dark tunnel with nothing but a broken
flashlight. However finally simple tables are working to
a limited extant.
Nov. 13, 2001
Patches patches everywhere.
Finally partial success on simple tables without defined widths
October 31, 2001
Ok, I'm giving up on the clickable object bug right now. several
days of work and no success. The location of the window on the
desktop does affect this bug.
October 30, 2001
more experimentation involving the mislocation of clickable areas in
tables.
October 29, 2001
getting back into the code after a forced break... sorry about that
numerous problems with tables. Much experimentation.
October 17, 2001
numerous modifications to fix clickable_area's inside of tables
fixed default alignment in table data cells
October 11, 2001
Several patches by Mathias Japp
parse_colour() rewritten using an array
special_char_map_str() rewritten using array
parse_header_tag() modified with strupr
keyinput.c - new defines at top
New Hot Keys
Control O - Open file selector
Contorl I - About Highwire alert
Control Q - Quit Highwire
New routines
page_load() support for Fileselector
build_fname() build filename - support for Fileselector
September 27, 2001
restart of implementation of table support
table_item() and table_child() structs placed back
into defs.h (table_item * put back into paragraph)
Table parsing in parse.c reimplemented (it still needs work)
Start of reimplementation of table rendering
September 26, 2001
some experiments in the redraw code, nothing really
Took a few days off.
September 21, 2001
fixed lockup problem on resizing window. Missed the equal to in
the tests.
September 20, 2001
added clipping_area struct to the paragraph structure. This
will be used in the redraw code to identify if a paragraph
needs to be redraw in relation to the new viewport.
added initialization of clipping area to calculate_frame_height()
experiments with a new draw_frame_contents routine using the
paragraph areas. It's mostly working. However many advantages
from the old system are currently missing.
alot of modification to calculate_frame_height() to get the
objects area's correct.
September 19, 2001
draw_hr() routine created. First fully functional part of a
modular redraw system.
draw_img() routine created. Second functional part of modular
redraw. Note IMG routines do not handle images yet, they
are mearly holders for future use.
added an extra test to compare the height to the frame height
this was to help exit the routine when it had drawn everything
that it had to draw.
modified d_up etc. in blit_block to use pts[3] for the
frame_h on the redraw. This simplifies some things and
apparently breaks nothing. I did this since draw_frame_contents
was drawing past the end of the window (I turned clip off and
discovered this). No sense in wasted processing.
draw_paragraph() routine created. Third functional part of modular
redraw :)
September 17, 2001
More digging in the guts of the redraw code. Something
dreadfully wrong going on somewhere.
Ok I did a reset of the code back to the sept 7 version
with some additions made on September 10th. Hopefully
from here I'll be able to see the way forward again.
variable() and HR patches reimplemented
September 14 & 13, 2001
Very litle time either day for programming.
Mostly experimentations for a new method of drawing
the frame contents.
September 12, 2001
current_table pointer addition to parse html
<tr> increments table->row counter
<table> handles alignment, bgcolor, border, cell_padding,
cell_padding, width
<td> handles bgcolor
September 11, 2001
more modifications to handle new table structures
first parsing of data to new table structures
September 10, 2001
variable() patched again. We need to parse out LF and CR. It
appears that MS considers it legal to place them inside of a
tag.
modification to HR parsing, if there is no width the width
is set to -100 (or 100%)
modification in redraw to handle new HR parsing. Basically its
back to the original with some care to avoid overflows
table_item() structure work started
table_child() structure work started
table.c file added to project
September 7, 2001
frame_name added to frame structure and load_to_do item
NAME parsed in frameset parsing code in PARSE.C
target added to url_link structure.
new_url_link() added target parameter
September 6, 2001
fixed two more integer overflow bugs in f_calc.c
implemented suggestion by Deun for handling integer overflow problem.
implemented a method for adding 1 to frames to fill space
Probably could be done better, but I don't have any manuals here.
Also NOTE we really need to think about how to inform later frames
that their x has moved by one.
renamed this file to HISTORY.TXT
Changed clipping area y to WORD from long. Did some casts to WORD
and other modifications to support this change.
Changed clickable area y to WORD from long. Support casts to WORD
and other modifications necessary done.
Found another overflowing integer in the scroll widget size determination
fixed vertical and horizontal. So scoll bars are working properly now.
September 5, 2001
trashed image as word item experiments
New routine parse_text() for handling ordinary text files
like this one.
new Routine get_decoder_type() for determining the appropriate
decoder for a file based on it's extension.
Modifications of parse_to_do item and add_parse_to_do to handle
the decoder type extension
Modified the size of several buffers in parse.c, the reason was
we were over flowing them. This would be a good area to investigate
alternatives.
patched draw_frame_contents to watch for right border not allowing
words to fit
border now parsed in parse_frameset (well used now at least)
modifications in calculate frames. We were overflowing the buffer
if our framesize was a percentage and getting erroneous results
September 4, 2001
experiments with making images a word item...
August 31, 2001
Not perfect but the blocks for the images are at least partially
working. It needs some improvement which might involve some major
shifting around in the code. But most of the time it works without
locking up.
Mikes patches for lattice window title code in place.
August 30, 2001
changed default output in special_char_map_str() to Space_Code
modified strike out display location in draw_frame_contents from
divided by 3 to divided by 2
August 29, 2001
I had missed Fuchsia in the parse_color() routine.
August 28, 2001
experiments with <IMG>
addition of img to enum for paragraph types (can we put it here)
Updates to char 10 parsing
August 26, 2001
Catch char 10 (line feeds) in parsing
Paragraphs now default left (was failing sometimes)
blockquote support
August 25, 2001
Modified parse_header_tag to take current_word as a parameter
August 24, 2001
removed a couple of now useless tests for " on return from variable()
August 23, 2001
New file CONFIG.C
reads and parses a config file
Hopefully config file is self explanatory for the moment
Slight Warning... Somethings are a bit strange since I
decided to rework the variable routine. ie. somethings
that did work fail. I'm slowly tracking these down. The
new code, basically lets us get rid of a bunch of silly tests
that were elsewhere in the code.
August 22, 2001
...patches for variable() routine to parse out begining "
and trailing " and spaces.
This will probably involve alot more patching as we go on.
Modifications to the parse_color routine
August 21, 2001
Added WORD text_colour and link_colour to frame struct
modifications in redraw and parsing to handle new color indexs
August 20, 2001
New routine to parse header tags. Just cleans up alot of duplicated
code in the main parse routine.
New routine parse_colour()
used to map "white" etc to appropriate VDI index
Support for parse_colour in a few places
Moved background_colour from a define to a WORD /* probably should dump it? */
Removed new_frame pointer from frame struct
Added WORD background_colour to frame struct
Modified redraw routines to handle frame->background_colour
New file "color.c" handles color mapping, palette storing etc.
August 14, 2001
Added support for border in add_load_to_do() call
had to modify calculate frame again
Success finally
removed container value from frame structure
added init_paths() to preload last_location for
filename searching.
Warning, there is probably junk I've inserted into the code
while working out framesets to this point, that do not really
get used. Sorry about that, we will just have to watch and
play cleanup.
ALSO there are some serious redraw problems with multiple
frames. I haven't sorted these out yet. I don't think it
has anything to do with the frameset parsing. I think there
are just some bad tests somewhere in the code.
August 10, 2001
Frameset parsing moving along.
Added container value to frame structure, if true then redraw
etc doesn't worry about this frames contents.
Modified calculate_frame to take frame_item *
August 8, 2001
Still more modifications of frame routines.
Creation of previous_frame *, this points to the last created
frame. So when we create a new frame we have a standard place
to put it in the list.
August 3, 2001
Hey found part of what I was looking for.
frame_left controls the offset of the frame into the window
now I can really start to get closer on the multiple frames
in pages.
history file lost stuff, did alot of things that went no where.
Into the code and back out again. Howver the following have
been done recently.
init_load() routine modified. Basically alot didn't need to
be there.
some code cleanups. However Lattice compiles now not working
100% :<
July 31, 2001
experiments with cur_frame and frame_list to no end
July 30, 2001
JUNKED ... started the construction of page_item() to handle all the frame_items
for a page. Just a higher level container basically so that
the frame_items can be dynamic and not static.
modifications to <font size = 2> code and <\font> code
however not alot. I'm not certain how to really fix this.
The problem we have is that sometimes fonts become way!!!! too small.
Really the code works probably about the way it should except we end
up with font sizes of 4 and smaller. Too small for most to read.
modified variable() routine again. stptok() in one instance, replaced
by strchr()
July 20, 2001
changed 'noshade' check to != '!' instead of '*' since if there is another
variable after the NOSHADE there will be a value in out
heavy modifications to variable() routine. I discovered it had some
bleeding values creeping in. Also replaced all strrchr() with stptok()
July 19, 2001
Changed current_word->vertical_align = middle; from bottom in end
of <sub sup> processing. Old method dropped it too low.
Fixed a missing space in TEST2.HTML ;)
default height spacer in redraw frame is now line_tail (not perfect but
makes sub sup tags happier, in effect all text was drawn below the
baseline in the past.
Extra check in ISO processing '& ' is not processed but dumped straight
as it is shown.
Modified iso character processing for strings to take a conversion type
0 gives you the ISO Latin conversions
1 gives you Atari Ascii conversions (where existing)
This allowed me to get the ISO char codes working for the window title.
changed default height spacer in vertical alignment (redraw frame) to line_tail
July 18, 2001
Finished up &szlig; style ISO entity processing. Should have all
the standard ones in place now.
<Hx> tags are now made bold. I believe this is the standard practice
added space_found = false; to ISO processing
July 16, 2001
First off sorry about the bad archive (missing files + bad filenames)
on the 15th of July
Modification of init_load() routine. Now sets window title to
<file> in case we don't get a title later on.
additional special char support (new routine, new processing)
It's not completely finished however and parts that are done
are not correct
<title> code modified again. \r and \n caught in while() loop now.
July 15, 2001
slash conversion on local file names / to \
<pre> <\pre> partial initial support. (still has some problems)
July 14, 2001
found vs_clip() problem on TT with Nova card and NVDI
July 13, 2001
<hr> code modified in parsing routines so that changed.font = TRUE
seems to fix some of the problems with text display after a <hr SIZE x>
tag
<hr> code modified in redrawing routines so that <hr> covers the width
of the frame unless it has a defined width.
removed second current_paragraph->paragraph_code = hr in <hr> parsing
<br> modifications to reduce excess space that were added sometimes
added a changed.font = TRUE
July 12, 2001
Modifications to <title> routines to handle a couple
of badly formatted pages I threw at the parser.
(title code still needs work as of July 15, 2001)
July 11, 2001
<title><\title> now sets the window title (except under Lattice for
some strange reason)
<UNDO> backs up to the previous page viewed
(this is a limited version that needs replaced
in the long run, just needed something atm)
<dd> tags were causing problems. Patched this