diff options
author | Vincent Sanders <vince@netsurf-browser.org> | 2010-10-04 15:50:39 +0000 |
---|---|---|
committer | Vincent Sanders <vince@netsurf-browser.org> | 2010-10-04 15:50:39 +0000 |
commit | 02ab2db00f3ccd9e9e912877122fe32d8369e5e1 (patch) | |
tree | 8cd46d4c5ac5edacf35f1d9b7b8c5e06bade92ed /Docs | |
parent | fb75227b77e023c7b7191717a57bac0fdc980bc9 (diff) | |
download | netsurf-02ab2db00f3ccd9e9e912877122fe32d8369e5e1.tar.gz netsurf-02ab2db00f3ccd9e9e912877122fe32d8369e5e1.tar.bz2 |
Add flexible toolbar support and docuemnt it
svn path=/trunk/netsurf/; revision=10862
Diffstat (limited to 'Docs')
-rw-r--r-- | Docs/BUILDING-Framebuffer | 17 | ||||
-rw-r--r-- | Docs/USING-Framebuffer | 181 |
2 files changed, 190 insertions, 8 deletions
diff --git a/Docs/BUILDING-Framebuffer b/Docs/BUILDING-Framebuffer index 70a1d7db5..b6583df71 100644 --- a/Docs/BUILDING-Framebuffer +++ b/Docs/BUILDING-Framebuffer @@ -88,8 +88,9 @@ The font system is configured at runtime by several options. The fb_font_monochrome option causes the renderer to use monochrome - glyph rendering which is faster but less visually appealing. The - remaining seven options control the files to be used for font faces. + glyph rendering which is faster to plot but slower to render and + much less visually appealing. The remaining seven options control + the files to be used for font faces. fb_face_sans_serif - The sans serif face fb_face_sans_serif_bold - The bold sans serif face @@ -160,17 +161,17 @@ Index: framebuffer/font_freetype.c using the NetSurf Framebuffer library (libnsfb). This library provides an abstraction layer to input and output devices. - The frontend used by libnsfb is selected by using the -fe switch to - netsurf when executed. A frontend in this context is simply the - combination of input and output devices. + The surface used by libnsfb is selected by using the -f switch to + NetSurf when executed. A surface in this context is simply the + combination of input and output devices. - A frontend output device may be any linearly mapped area of + A surface output device may be any linearly mapped area of memory. The framebuffer may be treated as values at 32, 16 or 8 bits per pixel. The input device is typically selected to complement the - output device and is completely specific to the frontend. + output device and is completely specific to the surface. There are several configuration options which may influence the - framebuffer frontends. These are: + framebuffer surfaces. These are: fb_refresh - The refresh rate (for physical displays) fb_depth - The depth (in bits per pixel) of the framebuffer diff --git a/Docs/USING-Framebuffer b/Docs/USING-Framebuffer new file mode 100644 index 000000000..e63d47ae2 --- /dev/null +++ b/Docs/USING-Framebuffer @@ -0,0 +1,181 @@ +-------------------------------------------------------------------------------- + Usage Instructions for Framebuffer NetSurf 2nd October 2010 +-------------------------------------------------------------------------------- + + This document provides usage instructions for the Framebuffer version of + NetSurf. + + Framebuffer NetSurf has been tested on Ubuntu and Debian. + +Overview +======== + + What it is + ---------- + + The NetSurf framebuffer front end is primarily intended for kiosk + and embedded applications where there is insufficient Operating + System support for a full graphical windowing environment. + + The framebuffer frontend features: + + * A trivial occluded rectangle window management toolkit + + * Font handling system using either: + - A trivial internal monochrome bitmap glyph set. + - An interface to fully anti-aliased glyphs using libfreetype 2 + + * Uses libnsfb to provide transparent support for: + - Numerous surface providers allowing usage on Linux, X, SDL, VNC + and any mapped linear memory region. + - Surface depths of 8, 16, 24 and 32bpp + - Optimised software plotters for lines, rectangles, polygons, + arbitrary ellipses (including circles), cubic and quadratic + splines, font glyphs and 32bpp RGBA bitmaps. + - Abstracted input handling. + + What it is not + -------------- + + The framebuffer frontend is not a replacement for full native + ports. It lacks functionality and flexibility compared to such + implementations. + + Limitations include: + - Single window interface. + - No tabbed interface. + - Expects to control the entire plotting surface. + - No ability to re-size a surface after initialisation. + - Inflexible input character mapping. + - Limited history view. + + In addition it should be noted support for some libnsfb surfaces has + been implemented purely for debugging functionality (SDL + especially) and is not intended to replace native surface + handlers. + + If a high level windowing system is available then a native NetSurf + frontend is almost certainly a better choice than attempting to use + the framebuffer frontend. + + If there is a graphical environment which supports GTK then using + the GTK frontend is a vastly superior choice. The framebuffer + frontend will appear exceptionally limited on such capable systems. + + +Configuring +=========== + + Several resources are set at *compile* time and are not changeable at + run time such as the icon bitmaps, the font system to use and what + default surface to use. Refer to the BUILDING-Framebuffer document + for details. + + Toolkit Options + --------------- + + The trivial toolkit has some configuration parameters allowing the + user to alter specific aspects of the UI. All the sizes are in + surface pixels however that is mapped. + + fb_furniture_size + This is the size allowed for the scroll bar elements. + + fb_toolbar_size + The height of the toolbar. + + fb_toolbar_layout + The layout of the toolbar, layout uses a string to define buttons + type and position each character adds an element to the toolbar: + + b - back + l - local history + f - forward + s - stop + r - refresh + u - url bar expands to fit remaining space + t - throbber/activity indicator + c - close the current window + + The default layout is "blfsrut" there should be no more than a + single url bar entry. If the option is set to the empty string (no + spaces permitted) the toolbar is disabled altogether. + + fb_osk + Whether the on screen keyboard should be enabled for input. + + + Framebuffer Surface + ------------------- + + There are four command line switches which override compiled in + defaults these are: + + -f <handler> + Selects a surface handler to pass to libnsfb instead of the + default. (e.g. x, sdl, mem, linux) + + -b <depth> + Selects the pixel depth to pass to libnsfb instead of the + compiled in default. (one of 8, 16, 24, 32) + + -w <width> + Selects the surface width to pass to libnsfb instead of the + compiled in default. + + -h <height> + Selects the surface height to pass to libnsfb instead of the + compiled in default. + + As with any NetSurf frontend run-time configuration is read from a + "Choices-fb" file. This file is a simple key:value list. In addition + to the standard values supported by the NetSurf core there are a + number of values to control specific aspects of the framebuffer + version. + + The libnsfb surface parameters are controlled with: + + fb_refresh - The refresh rate (for physical displays) + fb_depth - The depth (in bits per pixel) of the surface + fb_device - The path to the device (for physical displays) + fb_input_devpath - The path to the input devices (for linux input layer) + fb_input_glob - The input device selection glob (for linux input layer) + window_width - The width of the framebuffer + window_height - The height of the framebuffer + + The defaults are for 800 by 600 pixels at 16bpp and 70Hz refresh rate. + + The documentation of libnsfb should be consulted for further + information about supported surfaces and their configuration. + + Fonts + ----- + + If the compile time option is set to use the freetype font system + then several configuration options are available. If the simple + bitmap glyphs are used none of these options apply. + + The font glyphs are, by default, rendered as 256 level transparency + which gives excellent visual results even on small font sizes. + + The default font is the Vera truetype font set. The default path they + are sourced from is /usr/share/fonts/truetype/ttf-bitstream-vera/ . + + The font selection may be changed by placing truetype font files + in the resources path. The resource files will be the generic names + sans_serif.ttf, sans_serif_bold.ttf etc. The selection may also be + overridden by setting options. + + The font system is configured at run-time by several options. The + fb_font_monochrome option causes the renderer to use monochrome + glyph rendering which is faster to plot but slower to render and + much less visually appealing. The remaining seven options control + the files to be used for font faces. + + fb_face_sans_serif - The sans serif face + fb_face_sans_serif_bold - The bold sans serif face + fb_face_sans_serif_italic - The italic sans serif face + fb_face_sans_serif_italic_bold - The bold italic sans serif face. + fb_face_monospace - The monospaced font + fb_face_serif - The serif font + fb_serif_bold - The bold serif font |