Notes:
Short: HTMLview custom class for MUI, v13.4
Author: HTMLview.mcc Open Source Team
Uploader: Jens Langner <Jens.Langner@light-speed.de>
Type: dev/mui
Version: 13.4
Replaces: dev/mui/MCC_TextEditor-12.6.lha
Requires: AmigaOS 3.0+ or MorphOS, MUI 3.8+, 68020+/PPC604e+
Architecture: ppc-amigaos >= 4.0.0; m68k-amigaos >= 3.0; ppc-morphos >= 1.4.2
ABOUT HTMLview.mcc
******************
HTMLview.mcc is a custom class for MUI which offers HTML viewing capabilities.
The class supports most of the HTML 4.0 standard as defined by W3C, it is
infact often more accurate than most browsers.
It is very well suited for mail programs or similar, which just wants to
display HTML fast, and the class really is fast, I have still not seen anything
like it :-)
Please note that the class should be regarded as a prototype. It is still
not finished are mature yet.
Its main features are:
* Incremental rendering of the page, using a seperate process for the
parsing, which allows the MUI application to be fully responsive while
chewing on a document.
* Progressive display of images for which a decoder module exists
(currently GIF / GIFAnim, JPEG & PNG)
* Text can be marked and copied to the clipboard.
* Allows searching in the document.
* Extensive HTML support, including floating tables with background images,
frames, forms etc.
* And, it's very fast...
Known "bugs":
* Text outside a <Body> ... </Body> pair is not shown. Thus those pages
which doesn't have such tags are simply rendered blank.
* Entities without an ending semi-colon are not interpreted. E.g. & must
be written as & before HTMLview accepts it.
* The Floyd Steinberg dither has a tendency to append less diffusion to
edges, which can make tiled backgrounds look as if a line was drawn
between each tile.
* The datatype wrapper, for image decoding, only seems to work with the P96
picture.datatype.
LEGALESE
********
HTMLview.mcc was originally written in 1995 and is Copyright (C) 1995-2000
by Allan Odgaard. As of version 13.4, released in December 2007, the gadget is
maintained and Copyright (C) 2005-2007 by the HTMLview.mcc Open Source Team.
HTMLview.mcc is distributed under the GNU Lesser General Public License
(LGPL) and the development is hosted at SourceForge.net:
http://www.sourceforge.net/projects/htmlview-mcc/
Please consult the included "COPYING" file for more detailed information
about the licensing of the gadget and its source code.
CHANGES SINCE THE LAST RELEASE
******************************
Please note that the v13 version of HTMLview.mcc is the first open source
version available. It is still largly untested and therefore may not work
as expected. We are currently working hard on getting HTMLview ready for
a larger crowd so that applications can use this class for providing
HTML viewing capabilities. But for now this v13 release is just meant to
be the first developer snapshot since the release of the sources under
an open source license.
In addition, please note that the v13 version of the mcc is currently only
available for AmigaOS4 and MorphOS. Versions for AmigaOS3 systems are to
be available later on. So for the moment the v12.6 version for 68k is
included due to backward compatibility reasons. Also the image decoders
are currently only available as m68k versions. We are currently
investigating the possibility to replace them or provide them as native
PowerPC versions.
Please refer to the included ChangeLog in the archive for a detailed information
on the changes since the last public release.
Changes:
2007-12-21 Jens Langner <Jens.Langner@light-speed.de>
* misc: preparations for the first new official release for AmigaOS4
and MorphOS. Please note, however, that the class is still in very
early beta state. So expect anything to happen :)
* include/mccinit.c, mcc: adapted sources to get compiled for AmigaOS4
again.
2007-12-15 Alfonso Ranieri <alforan@tin.it>
* FormClass.cpp: Fixed a buffer overflow
2007-12-03 Vit Sindlar <sindlarv at centrum dot cz>
* mcp/locale/czech.ct: added Czech catalog translation
2007-11-25 Jens Langner <Jens.Langner@light-speed.de>
* mcc, mcp: applied another large patch kindly provided by
Alfonso Ranieri which heaps of changes - well, at least they seem to
compile. Here are the documented changes by Alfonso:
- All the new calls was changed to new (sdt:nothrow). This is needed
to make for "new nothrow" to be able to fail. Of course, any new usage
must be checked for failure. This is not easy, because of many
structures and classes memebers are allocated via new and anywhere
they are always aspected to exist. I tried to do my best, but, on too
few memory condition, HTMLview might now fails badly (when it would
have been put in a loop) before, simply because I forgot to check
something :P From now, when looking at the code, you should always check
if something that is used without caring about is there or not. In
Memory.cpp if CANTFAILNONONO is not defined, this new "can fail mode"
is on. I used it for hours and everything warked on. I mean, I made
malloc fails from time to time with no problem.
- On MorphOS 1.45 and MUI 4 and ttf fonts, links are rendered in a very ugly
way. It happens with the old 68k HTMLview, so it must be new problem. A
very temporary hack was implemented in TextClass.cpp so that the
background is redrawn, before rendering a link.
- Even on MorphOS, waiting for the 500k of the MCC code to load may be
annoying when the MUIPrefs creates the sample in HTMLview.mcp. So the
sample is now opened on request.
- Changed mcp catalog name to HTMLview.catalog, because of many strings
there may be used by the mcc itself (there is some string in mcc code).
- Localized. I hate to use shortcuts not in the string with a _ preparse.
But the need for a "name" to be given to the MUI20 menus make it impossible
to be solved in another easier way.
- Many other changes I truly don't remember.
2007-11-21 Jens Langner <Jens.Langner@light-speed.de>
* mcc: made the source compile for OS4 again - however, the builds still
seems to be broken and needs some closer look - volunteers? :)
* mcc: exchanged all kprintf() uses by proper D() uses.
* mcc: applied patch kindly provided by Alfonso Ranieri which will make
our sources compile/run on MorphOS and bring them to a more compatible
level so that hopefully we will soon have a completly running version
for all platforms. However, there is still heaps of work to do to
stabilize the sources - especially for different GCC versions -
but we are getting near. Thanks again, Alfonso.
2007-08-19 Jens Langner <Jens.Langner@light-speed.de>
* include/mccinit.c: updated to latest 1.10 version
2007-07-27 Jens Langner <Jens.Langner@light-speed.de>
* mcc: fixed broken compilation due to recent changes.
2007-07-25 Thore Böckelmann <tboeckel@gmx.de>
* #?/library.c: now really uses the 3 parameter version of GETINTERFACE()
defined in mccinit.c instead of the old obsolete version in mcc_common.h.
The user definable functions (i.e. ClassInit()) must be declared before
the inclusion of mccinit.c.
* include/mccinit.c: updated to latest 1.8 version which really uses the
GETINTERFACE() macro with 3 parameters.
2007-07-25 Jens Langner <Jens.Langner@light-speed.de>
* include/mccinit.c: updated to latest 1.7 version
2007-07-24 Thore Böckelmann <tboeckel@gmx.de>
* include/mccinit.c: updated to latest 1.6 version which fixes an unbalanced
if statement.
2007-07-23 Jens Langner <Jens.Langner@light-speed.de>
* include/mccinit.c: updated to latest 1.5 version which should take care
of stack issues.
2007-07-05 Jens Langner <Jens.Langner@light-speed.de>
* include/mccinit.c: updated to latest 1.4 version and adapted all our
library.c files to make use out of the new stack enforcing mechanisms.
2007-06-13 Thore Böckelmann <tboeckel@gmx.de>
* #?/Debug.c: unified the _DPRINTF() functions for all platforms.
2007-06-11 Jens Langner <Jens.Langner@light-speed.de>
* TreeClass.cpp: fixed incorrect va_arg() usage which ended up in an incorrect
memory access crash. Now HTMLview-Test should at least run again.
2007-06-10 Jens Langner <Jens.Langner@light-speed.de>
* mcp: adapted source to compile with new mccinit.c instead of mccheader.c
* misc: integrated a large patch kindly provided by Jörg Strohmayer. Beside
cleaning up the C++/C linkage some cleanups in the library init code should
make htmlview.mcc less error prone. In addition, some fixes should finally
enable us to build a running version which we can base our future changes
on. However, still a lot work needs to be done to get HTMLview.mcc working
as well as integrating Gunther Nikl's image decoders source code into the
repository as well.
2007-05-29 Thore Böckelmann <tboeckel@gmx.de>
* include/mccheader.c: reworked the LibOpen() and LibClose() functions to
increment/decrement the lib_Open counter before obtaining the semaphore to
prevent a possible race condition with LibExpunge().
2007-03-23 Thore Böckelmann <tboeckel@gmx.de>
* #?/Debug.c: fixed wrong final output of debug classes and flags.
2007-03-18 Jens Langner <Jens.Langner@light-speed.de>
* mcc/mcp: fixed another bunch of compiler warnings. Now compiling the mcc
should be quite silent which in fact will hopefully make it easier to hunt
the rest of the issues preventing the MCC from working. In addition, all files
should now contain the proper LGPL header.
2007-03-17 Ilkka Lehtoranta <ilkleht@isoveli.org>
* mcc: now compiles using GCC2. All user CPP con/destructor functions are now
declared in C sections to prevent C++ name mangling. Removed stub genetator
for GCC4.
* mcc: removed some warnings again.
2007-03-15 Jens Langner <Jens.Langner@light-speed.de>
* mcc/library.c: cleaned up the CPP constructor/destructor setups and added
various missing comments about what is going on there.
2007-03-15 Ilkka Lehtoranta <ilkleht@isoveli.org>
* mcc: ScrollGroup custom class was not created causing htmlview.mcc to crash.
Also moved init functions after run_constructors() to make sure malloc() is
available for new operator. The htmlview.mcc no longer crashes in MorphOS but
does not function like original 68k version.
2007-03-14 Ilkka Lehtoranta <ilkleht@isoveli.org>
* include/stubgen.pl: perl script (modified from cvinclude.pl from MorphOS SDK)
to generate 68k vararg stubs for ppc. It is needed since gcc3/gcc4 compilers
for MOS no longer support VARARGS68K.
* mcc: demo app now works to some extent in MorphOS. Replaced VARARGS68K in
TreeClass.cpp/BackUp() to standard version and reworked
ImageManager.c/NewDecoderObject() to build with gcc4/mos.
2007-03-14 Jens Langner <Jens.Langner@light-speed.de>
* mcc/mcp: applied slightly modified patch kindly provided by Joerg
Strohmayer. Now at least the HTMLview-Text app should run on AmigaOS4.
2007-03-13 Ilkka Lehtoranta <ilkleht@isoveli.org>
* mcc: added constructors.c/.h and libnix.c to initialize constructors for
libnix needed to build c++ classes. This required modification to mccheader.c
because constructors/destructors should run only once in this kind of
libraries.
* mcc: now builds for MorphOS.
* mcc/HTMLview-Test.c: now builds for MorphOS.
* mcc: less warnings.
2007-03-13 Jens Langner <Jens.Langner@light-speed.de>
* mcc/#?: fixed a bunch of compiler warnings to get the MCC compiled more
cleanly before we begin to hunt bugs.
* mcc/mcp: replaced all GetAttrs()/get() uses with xget()
2007-03-12 Thore Böckelmann <tboeckel@gmx.de>
* #?/Debug.c: disabling a debug flag was not possible due to a check for the
'!' at a wrong index.
2007-03-12 Jens Langner <Jens.Langner@light-speed.de>
* mcc/mcp: fixed the incorrect GETINTERFACE() usages for the OS4 target and
got the OS4 target compiled again.
2007-03-11 Jens Langner <Jens.Langner@light-speed.de>
* mcc: got rid of the single target makefiles and added a more generalized
'Makefile' which should fit for all supported target platforms. In addition,
the MCC souces should now at least compile for AmigaOS4 - however the
HTMLview-Test application still crashes and as such also the htmlview.mcc
class. More work is required to get the class going, especially on all
supported target platforms.
* mcp: fixed all compiler warnings and adapted sources to cleanly compile
for OS3 and MOS target as well.
2007-03-08 Jens Langner <Jens.Langner@light-speed.de>
* initial LGPL release published at sf.net. Please note that currently
just the mcp compiles cleanly. The mcc sources still require a large
amount of work to get compiled and running...
Copyright © 2009 Geeknet, Inc. All rights reserved. Terms of Use