From 90e77a0d4f9b0b14023353f06f76274285296a98 Mon Sep 17 00:00:00 2001 From: James Bursa Date: Tue, 30 Sep 2003 14:48:04 +0000 Subject: [project @ 2003-09-30 14:48:03 by bursa] Add config file for Doxygen. svn path=/import/netsurf/; revision=334 --- Docs/developer | 90 ++++++++++++++++++++++------------------------------------ 1 file changed, 34 insertions(+), 56 deletions(-) (limited to 'Docs/developer') diff --git a/Docs/developer b/Docs/developer index 7278dc81c..8acaca65a 100644 --- a/Docs/developer +++ b/Docs/developer @@ -1,27 +1,22 @@ -Documentation for Developers +/** \mainpage NetSurf Documentation for Developers This document contains an overview of the code for NetSurf, and any other information useful to developers. -________________________________________________________________________________ - -Source Code Overview +\section overview Source Code Overview The source is split at top level as follows: +- \ref content +- \ref css +- \ref render +- Non-platform specific front-end (desktop/) +- RISC OS specific code (riscos/) +- Unix debug build specific code (debug/) +- Misc. useful functions (utils/) -content -- fetching, caching, and converting content -css -- CSS parser and interfaces -debug -- defines functions which allow debugging under *nix -desktop -- non-platform specific front-end -render -- HTML processing and layout -riscos -- RISC OS specific code -utils -- misc. useful functions - -________________________________________________________________________________ - -content -- fetching, caching, and converting content +\section content Fetching, caching, and converting content (content/) -Each URL is stored in a struct content. This structure contains a union with +Each URL is stored in a struct ::content. This structure contains a union with fields for each type of data (HTML, CSS, images). The content_* functions provide a general interface for handling these @@ -38,11 +33,7 @@ Code should not usually use the fetch_* and cache_* functions directly. Instead use fetchcache(), which checks the cache for a url and fetches, converts, and caches it if not present. -See content/overview for more information. - -________________________________________________________________________________ - -css -- CSS parser and interfaces +\section css CSS parser and interfaces (css/) CSS is tokenised by a flex-generated scanner (scanner.l), and then parsed into a memory representation by a lemon-generated parser (parser.y, ruleset.c). @@ -50,12 +41,10 @@ memory representation by a lemon-generated parser (parser.y, ruleset.c). Styles are retrieved using css_get_style(). They can be cascaded by css_cascade(). -http://lex.sourceforge.net/ -http://www.hwaci.com/sw/lemon/ - -________________________________________________________________________________ +- http://lex.sourceforge.net/ +- http://www.hwaci.com/sw/lemon/ -render -- HTML processing and layout +\section render HTML processing and layout (render/) This is the process to render an HTML document: @@ -82,41 +71,30 @@ parent node. The box tree can then be rendered using each node's coordinates. -box.[ch] -- definition of the box tree, conversion from xml tree, normalising -html.[ch] -- interface to HTML processing -layout.[ch] -- layout engine +\section links Other Documentation -________________________________________________________________________________ - -RISC OS specific protocols - -Plugin http://www.ecs.soton.ac.uk/~jmb202/riscos/acorn/funcspec.html +RISC OS specific protocols: +- Plugin http://www.ecs.soton.ac.uk/~jmb202/riscos/acorn/funcspec.html http://www.ecs.soton.ac.uk/~jmb202/riscos/acorn/browse-plugins.html -URI http://www.ecs.soton.ac.uk/~jmb202/riscos/acorn/uri.html -URL http://www.vigay.com/inet/inet_url.html -Nested WIMP http://www.ecs.soton.ac.uk/~jmb202/riscos/acorn/nested.html - -________________________________________________________________________________ +- URI http://www.ecs.soton.ac.uk/~jmb202/riscos/acorn/uri.html +- URL http://www.vigay.com/inet/inet_url.html +- Nested WIMP http://www.ecs.soton.ac.uk/~jmb202/riscos/acorn/nested.html -Specifications +Specifications: +- HTML 4.01 http://www.w3.org/TR/html401/ +- XHTML 1.0 http://www.w3.org/TR/xhtml1/ +- CSS 2.1 http://www.w3.org/TR/CSS21/ +- HTTP/1.1 http://www.w3.org/Protocols/rfc2616/rfc2616.html +- PNG http://www.w3.org/Graphics/PNG/ -HTML 4.01 http://www.w3.org/TR/html401/ -XHTML 1.0 http://www.w3.org/TR/xhtml1/ -CSS2 http://www.w3.org/TR/REC-CSS2/ -HTTP/1.1 http://www.w3.org/Protocols/rfc2616/rfc2616.html -PNG http://www.w3.org/Graphics/PNG/ - -________________________________________________________________________________ - -Libraries +\section libs Libraries Get these compiled for RISC OS with headers from http://netsurf.strcprstskrzkrk.co.uk/developer/ +- libxml (XML and HTML parser) http://xmlsoft.org/ +- libcurl (HTTP, FTP, etc) http://curl.haxx.se/libcurl/ +- OSLib (C interface to RISC OS SWIs) http://ro-oslib.sourceforge.net/ +- libpng (PNG support) http://www.libpng.org/pub/png/libpng.html +- zlib http://www.gzip.org/zlib/ -libxml (XML and HTML parser) http://xmlsoft.org/ -libcurl (HTTP, FTP, etc) http://curl.haxx.se/libcurl/ -OSLib (C interface to RISC OS SWIs) http://ro-oslib.sourceforge.net/ -libpng (PNG support) http://www.libpng.org/pub/png/libpng.html -zlib http://www.gzip.org/zlib/ - -________________________________________________________________________________ +*/ -- cgit v1.2.3