From 5aca96cc8be2e68fa04bc00dfe4b00f480e44b2a Mon Sep 17 00:00:00 2001 From: Graeme Geldenhuys Date: Sun, 18 Mar 2007 16:26:25 +0000 Subject: worked on the documentation a bit. Cleaned up some xml files. Created new docs for the newly added files in the last few revisions. --- docs/xml/gfx/fpgfx.xml | 214 +- docs/xml/gfx/geldirty.xml | 358 +- docs/xml/gfx/gelimage.xml | 241 +- docs/xml/gfx/gfx_x11.xml | 3430 +++++-------- docs/xml/gfx/gfxbase.xml | 10618 ++++++++++++++++----------------------- docs/xml/gfx/unitxft.xml | 1528 +++--- docs/xml/gui/fpgui.xml | 9762 +++++++++++++++++++---------------- docs/xml/gui/motifstyle.xml | 103 + docs/xml/gui/opensoftstyle.xml | 155 + docs/xml/gui/stylemanager.xml | 353 +- docs/xml/gui/windowsstyle.xml | 40 + docs/xml/img/imageio_de.xml | 1408 +++--- 12 files changed, 13462 insertions(+), 14748 deletions(-) create mode 100644 docs/xml/gui/motifstyle.xml create mode 100644 docs/xml/gui/opensoftstyle.xml create mode 100644 docs/xml/gui/windowsstyle.xml (limited to 'docs') diff --git a/docs/xml/gfx/fpgfx.xml b/docs/xml/gfx/fpgfx.xml index 77c05b55..25459e0c 100644 --- a/docs/xml/gfx/fpgfx.xml +++ b/docs/xml/gfx/fpgfx.xml @@ -1,136 +1,92 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xml/gfx/geldirty.xml b/docs/xml/gfx/geldirty.xml index 219bb6b8..677e4773 100644 --- a/docs/xml/gfx/geldirty.xml +++ b/docs/xml/gfx/geldirty.xml @@ -1,220 +1,150 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xml/gfx/gelimage.xml b/docs/xml/gfx/gelimage.xml index 451a5f03..c3b6ab6d 100644 --- a/docs/xml/gfx/gelimage.xml +++ b/docs/xml/gfx/gelimage.xml @@ -1,144 +1,109 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xml/gfx/gfx_x11.xml b/docs/xml/gfx/gfx_x11.xml index 22294f43..b8e7c87b 100644 --- a/docs/xml/gfx/gfx_x11.xml +++ b/docs/xml/gfx/gfx_x11.xml @@ -1,2040 +1,1402 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xml/gfx/gfxbase.xml b/docs/xml/gfx/gfxbase.xml index ba79324e..da931e40 100644 --- a/docs/xml/gfx/gfxbase.xml +++ b/docs/xml/gfx/gfxbase.xml @@ -1,6298 +1,4332 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xml/gfx/unitxft.xml b/docs/xml/gfx/unitxft.xml index 382a292a..ca8ab965 100644 --- a/docs/xml/gfx/unitxft.xml +++ b/docs/xml/gfx/unitxft.xml @@ -1,905 +1,635 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xml/gui/fpgui.xml b/docs/xml/gui/fpgui.xml index 279a8b34..71db669f 100644 --- a/docs/xml/gui/fpgui.xml +++ b/docs/xml/gui/fpgui.xml @@ -7,25 +7,31 @@ ==================================================================== --> - fpGUI is a GUI (graphical user interface) library for Free Pascal - . It is fully object-oriented; its main goal is to provide its services independent of any operating system or graphics environment. All painting is done using fpGFX, while fpGUI provides a comfortable widget set and other high-level classes. + fpGUI is a GUI (graphical user interface) library for + Free Pascal + + . It is fully object-oriented; its + main goal is to provide its services independent of any + operating system or graphics environment. All painting is + done using fpGFX, while fpGUI provides a comfortable widget + set and other high-level classes. - - - + + + - - - + + + - - - + + + @@ -33,514 +39,414 @@ - Abstract unit interfacing to the correct widget set. Part of fpGFX package. + Abstract unit interfacing to the correct widget set. + Part of fpGFX package. - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - + The states a widget can be in. @@ -555,7 +461,8 @@ - If the current size has been forced - no auto resizes + If the current size has been forced - no auto + resizes @@ -571,2316 +478,2983 @@ - - - + + + - + + + - + + + - - - + Internal Button flags or states + + - + + + - + + + - + + + - + + + - + + + - - - + Internal CheckBox flags or states + + - + + + - + + + - + + + - + + + - - - + Enumerated list of message dialog buttons + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - - - + + + - - - + + + - + + + - + + + - + + + - - - + Enumerated arrow directions. + This gets used in drawing the arrow in ComboBox + butons or Scrollbar buttons. + - + + + - + + + - + + + - + + + - The TStyle class is an abstract base class that encapsulates the look and feel of a GUI. - fpGUI contains a set of TStyle subclasses that emulate the styles of the -different platforms supported by fpGUI (TWindowsStyle, TMotifStyle, etc.). By default, these styles are built into the fpGUI library. Styles are -preferably applied application wide, but can also be applied per widget. -fpGUI's built-in widgets use TStyle to perform all of their drawing, -ensuring that they look exactly like the equivalent native widgets. - + The TStyle class is an abstract base class that + encapsulates the look and feel of a GUI. + fpGUI contains a set of TStyle subclasses that + emulate the styles of the different platforms supported by + fpGUI (TWindowsStyle, TMotifStyle, etc.). By default, these + styles are built into the fpGUI library. Styles are + preferably applied application wide, but can also be + applied per widget. fpGUI's built-in widgets use TStyle to + perform all of their drawing, ensuring that they look + exactly like the equivalent native widgets. + + + - - - + + + - - - - + + + + - + + + - - - - + + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - + + + - + + + - + + + - - - - + + + + - + + + - + + + - + + + - - - - + + + + - + + + - + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - + + + - + + + - - - - + + + + - + + + - + + + - + + + - + + + - - - - + + + + - + + + - + + + - + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - + + + - + + + - + + + - - - - + + + + - + + + - + + + - + + + - - - - + + + + - + + + - + + + - + + + - + + + - - - - + + + + - + + + - + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - + + + - + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - + + + - + + + - + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - - - + + + - - - + + + - - - - + + + + - + + + - - - - + + + + - - - - + + + + - + + + - + + + - + + + - + + + - + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - + + + - + + + - + + + - - - - + + + + - + + + - + + + - + + + - - - - + + + + - + + + - + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - + + + - + + + - - - - + + + + - + + + - + + + - + + + - + + + - - - - + + + + - + + + - + + + - + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - + + + - + + + - + + + - - - - + + + + - + + + - + + + - + + + - - - - + + + + - + + + - + + + - + + + - + + + - - - - + + + + - + + + - + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - + + + - + + + - + + + - - - - + + + + - + + + - + + + + - - - - + + + + - + + + - + + + + - - - - + + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - + + + - + + + - + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - - - + + + - - - + + + - - - - + + + + - + + + - - - - + + + + - - - - + + + + - - - - + + + + - + + + - + + + - - - + + + - - - + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - + + + - - - - + + + + - + + + - + + + - - - + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - + + + - - - - + + + + - + + + - + + + - - - + + + - - - - + + + + - - - - + + + + - + + + - + + + - - - - + + + + - - - - + + + + - + + + - + + + - Mouse event - . This is a base event being used by any mouse related events. + + Mouse event + + . This is a base event + being used by any mouse related events. - - - + + + - - - + + + - - - - + + + + - + + + - + + + - + + + - - - - + + + + - + + + - + + + - - - + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - + + + - + + + - + + + - + + + - - - + + + - Mouse button press event - . This occurs when one of the mouse buttons are being depressed. + + Mouse button press event + + . This occurs when + one of the mouse buttons are being depressed. - Mouse button release event - . This occurs when the mouse button was pressed and is now being released. + + Mouse button release event + + . This occurs + when the mouse button was pressed and is now being + released. - - - - + + + + - - - - + + + + - + + + - + + + - Mouse enter event - . This occurs when the mouse enters a Window or a Widget. + + Mouse enter event + + . This occurs when + the mouse enters a Window or a Widget. - - - + + + - Mouse leave event - . This occurs when the mouse leaves the Window or Widget. + + Mouse leave event + + . This occurs when + the mouse leaves the Window or Widget. - - - - + + + + - + + + - + + + - - - - + + + + - - - - + + + + - + + + - + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - + + + - + + + - + + + - + + + - - - + + + - - - + + + - + + + - + + + - + + + - The TWidget class is the base class of all user interface objects. + The TWidget class is the base class of all user + interface objects. -

Widgets are components that are normally visual and the user can see -them and possibly interact with them at runtime. All widgets have properties, -methods and events that describe aspects of their appearance, such as the -position of the widget, the cursor or hint associated with the widget, -methods to paint or move the widget and events that respond to user -actions. -

-

TWidget has many protected properties and methods that are used or -published by its descendants. -

-

If you want to use a TWidget to hold child widgets you will probably -want to add a layout to the parent TWidget.

+

Widgets are components that are normally visual and + the user can see them and possibly interact with them at + runtime. All widgets have properties, methods and events + that describe aspects of their appearance, such as the + position of the widget, the cursor or hint associated + with the widget, methods to paint or move the widget and + events that respond to user actions.

+

TWidget has many protected properties and methods that + are used or published by its descendants.

+

If you want to use a TWidget to hold child widgets you + will probably want to add a layout to the parent + TWidget.

- + + +
- - - + + + - - - + + + - - - - + + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - - - - + + + + - - - - + + + + - + + + - - - - + + + + - + + + - - - - + + + + - - - - + + + + Processes all incoming event objects -

. Inside this event you normally verify the type of event object and pass it to a private event handler method, to do further processing.

-

This method gets called before the DistributeEvent method.

+

+ . Inside this + event you normally verify the type of event object and + pass it to a private event handler method, to do further + processing.

+

This method gets called before the + DistributeEventmethod.

- + + +
- + + + - + + + Distributes event objects to it's children - . This event occurs after the ProcessEvent. - + + . This event + occurs after the + ProcessEvent. + + + - + + + - + + + - - - - + + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - - - - + + + + - - - - + + + + - + + + - + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - - - + + + - - - + + + - Specifies the image used to represent the mouse pointer when it passes into the region covered by the widget. - Change the value of Cursor to provide feedback to the user when the mouse pointer enters the widget. The value of Cursor is the enumerated type of the cursor in the set of cursors maintained by fpGFX (fpGFXBase unit). + Specifies the image used to represent the mouse + pointer when it passes into the region covered by the + widget. + Change the value of Cursor to provide feedback to + the user when the mouse pointer enters the widget. The + value of Cursor is the enumerated type of the cursor in the + set of cursors maintained by fpGFX (fpGFXBase + unit). - - - + + + - - - + + + - - - - + + + + - + + + - - - - + + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - + + + - - - - + + + + - + + + - + + + - + + + - - - - + + + + - - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + Sets or Gets the widget's GUI style -

Sets or Gets the widget's GUI style. The ownership of the style object is not transferred. -

-

If no style is set, the widget uses the application's style, TApplication.DefaultStyle instead. -

-

Warning: -This function is particularly useful for demonstration purposes, where you want to show -fpGUI's styling capabilities. Real applications should avoid it and use one consistent GUI style instead. -

+

Sets or Gets the widget's GUI style. The ownership of + the style object is not transferred.

+

If no style is set, the widget uses the application's + style, TApplication.DefaultStyle instead.

+

+ Warning:This function is particularly useful for + demonstration purposes, where you want to show fpGUI's + styling capabilities. Real applications should avoid it + and use one consistent GUI style instead.

- - + +
- Controls whether the widget responds to mouse, keyboard and timer events. - Use Enabled to change the availability of the widget to the user. To -disable a control, set Enabled to false. Disabled controls appear dimmed. -If Enabled is false, the control ignores mouse, keyboard and timer events. + Controls whether the widget responds to mouse, + keyboard and timer events. + Use Enabled to change the availability of the widget + to the user. To disable a control, set Enabled to false. + Disabled controls appear dimmed. If Enabled is false, the + control ignores mouse, keyboard and timer events. - - - + + + - TContainerWidget is an abstract class that defines the interface for containing other widgets - -. It also implements the distribution of events to child widgets. You can't create an instance of this class, as it contains abstract methods, and doesn't actually define internally how to store references to child widgets. It purely defines the interface in doing so. This class is a decendant of -TWidget - and must be used as a base for container widgets. TLayout - is an example of a container class that can hold multiple children. TBinWidget - is an example of a container class that can hold only a single child widget - normally a TLayout descendant. + TContainerWidget is an abstract class that defines + the interface for containing other widgets + + . It also implements + the distribution of events to child widgets. You can't + create an instance of this class, as it contains abstract + methods, and doesn't actually define internally how to + store references to child widgets. It purely defines the + interface in doing so. This class is a decendant of + TWidgetand must be used as a base + for container widgets. + TLayoutis an example of a + container class that can hold multiple children. + TBinWidgetis an example of a + container class that can hold only a single child widget - + normally a TLayout descendant. - - - + + + - Distributes Event objects to all children widgets - . - - + Distributes + Event objectsto all children + widgets + + . + + - + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - + + + - - - + + + - - - + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - This is a concrete class that implements all the TContainerWidget's abstract methods - -. This class adds the ability to contain a single child widget - normally a TLayout descendant. Examples of such classes are the -TForm - and TGroupBox -. - For examples of container classes that can hold multiple children, look at TLayout - and it's descendants. + This is a concrete class that implements all the + TContainerWidget's abstract methods + + . This class adds the ability + to contain a single child widget - normally a TLayout + descendant. Examples of such classes are the + TFormand + TGroupBox. For examples of + container classes that can hold multiple children, look at + TLayoutand it's + descendants. - - - - + + + + - - - + + + - - - - + + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - - - + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - - - - + + + + - - - + + + - + + + - + + + - + + + - + + + - - - + + + - + + + - + + + - + + + - + + + A data class used internall for TBoxLayout - . It also serves as the base class for other layout items. + + . It also serves as the base + class for other layout items. - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - The fpGUI layout system provides a simple and powerful way of specifying the layout of child widgets + The fpGUI layout system provides a simple and + powerful way of specifying the layout of child + widgets -

.

-

By specifying the logical layout once, you get the following benefits:

+

+ .

+

By specifying the logical layout once, you get the + following benefits:

  • Positioning of child widgets.
  • Sensible default sizes for windows.
  • @@ -2889,7 +3463,8 @@ If Enabled is false, the control ignores mouse, keyboard and timer events.

    Automatic update when contents change:

      -
    • Font size, text or other contents of child widgets.
    • +
    • Font size, text or other contents of child + widgets.
    • Hiding or showing a child widget.
    • Removal of child widgets.
    @@ -2897,672 +3472,783 @@ If Enabled is false, the control ignores mouse, keyboard and timer events. - - - - + + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - - - + + + - - - - + + + + - + + + - - - - + + + + - - - - + + + + - + + + - + + + - A data class used internally for TFixedLayout - . + A data class used internally for + TFixedLayout + + . - - - + + + - - - + + + - The TFixedLayout allows you to arrange widgets at set x and y co-ordinates - . This is like the current Form Designers of Lazarus and Borland Delphi works. + The TFixedLayout allows you to arrange widgets at + set x and y co-ordinates + + . This is like the current + Form Designers of Lazarus and Borland Delphi works. - - + + - - - - + + + + - - - - + + + + - + + + - - - - + + + + - + + + - + + + - + + + - - - - + + + + - + + + - + + + - + + + - - - + + + - - - + + + - + + + - + + + - + + + - + + + - + + + - + + + - - - - + + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - - - - + + + + - - - - + + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - + + + - + + + - - - + + + - - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - + + + - - - - + + + + - - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - Lays out widgets in a horizontal or vertical position. - A TBoxLayout lays out widgets in a horizontal row, from left to right, or in a vertical column, from top to bottom. By default, the TBoxLayout uses the horizontal layout. You can toggle between horizontal and vertical layouts, by using the Orientation property. + Lays out widgets in a horizontal or vertical + position. + A TBoxLayout lays out widgets in a horizontal row, + from left to right, or in a vertical column, from top to + bottom. By default, the TBoxLayout uses the horizontal + layout. You can toggle between horizontal and vertical + layouts, by using the Orientation property. - - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + Toggle the layout of the TBoxLayout class. - Two possible orientations exist - Horizontal (the default) or Vertical. + Two possible orientations exist - Horizontal (the + default) or Vertical. - - - + + + - - - + + + A data class used internally for TGridLayout - . + + . - - - + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - + + + - + + + - + + + - + + + - - - - + + + + - + + + - + + + - + + + - + + + - + + + - The TGridLayout class lays out widgets in a grid. + The TGridLayout class lays out widgets in a + grid. -

    TGridLayout takes the space made available to it (by its parent layout -or by the Parent), divides it up into rows and columns, and puts each -widget it manages into the correct cell. -

    -

    Columns and rows behave identically. A TGridLayout lays out widgets -in a two-dimensional grid. Widgets can also occupy multiple cells. -

    +

    TGridLayout takes the space made available to it (by + its parent layout or by the Parent), divides it up into + rows and columns, and puts each widget it manages into + the correct cell.

    +

    Columns and rows behave identically. A TGridLayout + lays out widgets in a two-dimensional grid. Widgets can + also occupy multiple cells.

    @@ -3584,3244 +4270,3757 @@ in a two-dimensional grid. Widgets can also occupy multiple cells. - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - - - - + + + + - + + + - - - + + + - - - - + + + + - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - Base Edit component with no published properties. - + Base Edit component with no published + properties. + + + - - - + + + - - - - + + + + - + + + - - - - + + + + - + + + - - - + + + - - - + + + - - - - + + + + - + + + - - - - + + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - - - - + + + + - - - + + + - - - + + + - - - + + + Position of cursor in the edit widget - . If CursorPos = 0 then the -cursor in infront of the first character of text. If CursorPos = 1 then -the cursor is after the first character of text, etc. + + . If CursorPos = 0 + then the cursor in infront of the first character of text. + If CursorPos = 1 then the cursor is after the first + character of text, etc. - - - + + + - - - - + + + + - + + + The TEdit widget is a one-line text editor -

    . A TEdit allows the user to enter and edit a single line of plain -text.

    -

    By changing the PasswordChar property of a - TEdit, it can also be used as a "write-only" field, for inputs such as passwords.

    +

    + . A TEdit allows the user to + enter and edit a single line of plain text.

    +

    By changing the + PasswordCharproperty + of a TEdit, it can also be used as a "write-only" field, + for inputs such as passwords.

    - + + +
    - - - + + + - - - + + + Character to use when masking the text input - . The default is ascii char 0, which will then display the -TEdit text as normal. Changing it to any other character, will show the TEdit text masked -with this character. The most used PasswordChar is the '*' character for password fields. + + . The default is + ascii char 0, which will then display the TEdit text as + normal. Changing it to any other character, will show the + TEdit text masked with this character. The most used + PasswordChar is the '*' character for password + fields. - - - + + + - - - + + + - Defines a button that could be embedded in another component. - This class defines a button that could be embedded in another component. - No default minimum size gets applied either. This is the most basic button you - can use. Example of usage: The TScrollbar and TComboBox components use TGenericButtons. - + Defines a button that could be embedded in another + component. + This class defines a button that could be embedded + in another component. No default minimum size gets applied + either. This is the most basic button you can use. Example + of usage: The TScrollbar and TComboBox components use + TGenericButtons. + - - + + - - - + + + Draw the blank button face on the canvas. - This method draws a blank button face on the canvas. Nothing else gets - drawn. This method also takes into account if the button is Embedded on not, - which will affect the buttons look in some ways. eg: Must it have a Focus Rectangle - or not. - - + This method draws a blank button face on the canvas. + Nothing else gets drawn. This method also takes into + account if the button is Embedded on not, which will affect + the buttons look in some ways. eg: Must it have a Focus + Rectangle or not. + + - + + + - - - - + + + + - + + + - - - + + + - Used to create new custom type of button components - Used to create new custom type of buttons normally used in dialogs and windows. -There are also no properties published in this component and in has a default -minimum width set to 75 pixels. + Used to create new custom type of button + components + Used to create new custom type of buttons normally + used in dialogs and windows. There are also no properties + published in this component and in has a default minimum + width set to 75 pixels. - - + + - This draws the Text on the already draw button face. - This draws the Text on the already draw button face. - - + This draws the Text on the already draw button + face. + This draws the Text on the already draw button + face. + + - + + + Calculates the size of the button. - This method calculates the size of the button and also applies the default - minimum size of 75 pixels wide. - - + This method calculates the size of the button and + also applies the default minimum size of 75 pixels + wide. + + - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - + + + - + + + - - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - Resets the Position to its maximum or minimum size - . This is a helper - function used internally. The way it works is as follows. Say the Max Size - of the scrollbar is 10 and the current Position is 10. Now if the user - tries to scroll even further, 11 gets passed to the method. The ClipPosition - sees that 11 is past the Max value, so clips in back to 10. The oposite - is true for the Min value. - - + Resets the Position to its maximum or minimum + size + + . This is + a helper function used internally. The way it works is as + follows. Say the Max Size of the scrollbar is 10 and the + current Position is 10. Now if the user tries to scroll + even further, 11 gets passed to the method. The + ClipPosition sees that 11 is past the Max value, so clips + in back to 10. The oposite is true for the Min + value. + + - + + + - + + + - - - - + + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - - - - + + + + - - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - + + + - The scrollbar orientation + + The scrollbar orientation This can be either Vertical or Horizontal. - Minimum position - This is the minimum position the the scrollbar can move to. + + Minimum position + This is the minimum position the the scrollbar can + move to. - Maximum position - This is the maximum position the scrollbar can move to. + + Maximum position + This is the maximum position the scrollbar can move + to. - - - + + + - Current position of scrollbar - This is the current position of the scrollbar. + + Current position of scrollbar + This is the current position of the + scrollbar. - Determines how much Position -changes when the user clicks the arrow buttons on the scroll bar or presses the -arrow keys on the keyboard. + Determines how much + Positionchanges when + the user clicks the arrow buttons on the scroll bar or + presses the arrow keys on the keyboard. -

    Set SmallChange to specify how much to change the value of Position -when the user clicks on the arrow buttons. The Max and Min properties define the -total range over which Position can vary.

    -

    For example, if Max is 100 and Min is 0, the scroll box can assume 100 -positions. If the SmallChange property setting is 5 and the Position property -is 0, the user can click the down or right arrow button 20 times before the -thumb tab is moved all the way to the end of the scroll bar.

    +

    Set SmallChange to specify how much to change the + value of Position when the user clicks on the arrow + buttons. The Max and Min properties define the total + range over which Position can vary.

    +

    For example, if Max is 100 and Min is 0, the scroll + box can assume 100 positions. If the SmallChange property + setting is 5 and the Position property is 0, the user can + click the down or right arrow button 20 times before the + thumb tab is moved all the way to the end of the scroll + bar.

    - +
    - Determines how much Position -changes when the user clicks the scroll bar on either side of the thumb tab or -presses PgUp or PgDn. + Determines how much + Positionchanges when + the user clicks the scroll bar on either side of the thumb + tab or presses PgUp or PgDn. -

    Set LargeChange to specify how much to change the value of -Position when the user clicks on the side -of the thumb tab (that is, on the -thumb tab track, but not on the thumb tab itself). The Max and Min properties -define the total range over which Position can vary.

    -

    For example, if Max is 100 and Min is 0, the scroll box can assume 100 positions. - If the LargeChange property setting is 20 and the Position property is 0, the -user can click the scroll bar track five times after the thumb tab before it -moves all the way to the end of the scroll bar (100 / 20 = 5).

    +

    Set LargeChange to specify how much to change the + value of + Positionwhen the + user clicks on the side of the thumb tab (that is, on the + thumb tab track, but not on the thumb tab itself). The + Max and Min properties define the total range over which + Position can vary.

    +

    For example, if Max is 100 and Min is 0, the scroll + box can assume 100 positions. If the LargeChange property + setting is 20 and the Position property is 0, the user + can click the scroll bar track five times after the thumb + tab before it moves all the way to the end of the scroll + bar (100 / 20 = 5).

    - +
    - - - + + + - - - + + + - - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - - - - + + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - + + + - + + + - - - - + + + + - - - - + + + + - - - - + + + + - + + + - + + + + - + + + + - - - - + + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + + - + + + + - - - - + + + + - + + + + - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - - - - + + + + - - - - + + + + - + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - + + + - - - + + + - - - + + + - - - - + + + + - - - - + + + + - + + + - - - - + + + + - - - + + + - - - - + + + + - + + + - - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - - - - + + + + - + + + - - - + + + - - - + + + - - - - + + + + - - - - + + + + - + + + - - - - + + + + - - - + + + - - - - + + + + - + + + - - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - - - - + + + + - + + + - - - - + + + + - + + + - - - + + + - - - + + + - - - - + + + + - + + + - - - - + + + + - - - + + + - - - + + + - - - - + + + + - + + + - - - - + + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - - - - + + + + - + + + - - - - + + + + - - - - + + + + - The TGroupBox widget provides a group box frame with a title - . TGroupBox doesn't automatically lay out the child widgets (which are often TCheckBoxes or TRadioButtons but can be any widgets). + The TGroupBox widget provides a group box frame with + a title + + . TGroupBox doesn't + automatically lay out the child widgets (which are often + TCheckBoxes or TRadioButtons but can be any + widgets). - - + + - + - - - + + + - - - + + + - - - - + + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - - - - + + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - - - + + + - - - + + + - - - - + + + + - + + + - - - - + + + + - - - - + + + + - - - - + + + + - + + + - + + + - - - + + + - - - - + + + + - + + + - The TComboBox widget is a combined button and popup list. + The TComboBox widget is a combined button and popup + list. -

    A TComboBox provides a means of presenting a list of options to the user in a way -that takes up the minimum amount of screen space.

    -

    A combobox is a selection widget that displays the current item, and can pop up a -list of selectable items. A combobox may be editable, allowing the user to modify each -item in the list.

    +

    A TComboBox provides a means of presenting a list of + options to the user in a way that takes up the minimum + amount of screen space.

    +

    A combobox is a selection widget that displays the + current item, and can pop up a list of selectable items. + A combobox may be editable, allowing the user to modify + each item in the list.

    - - + + - +
    - - - + + + - - - + + + - - - + + + - - - - + + + + - - - + + + - + + + - + + + - + + + - - - + + + - - - + + + - - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - + + + - - - + + + - - - - + + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - + + + - + + + - + + + - + + + - + + + - - - - + + + + - - - - + + + + - + + + - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - + + + - - - + + + - + + + - - - - + + + + - + + + - - - - + + + + - - - + + + - + + + - + + + - + + + - + + + - + + + - + + + - - - - + + + + - - - + + + - - - - + + + + - + + + - + + + - + + + - + + + - + + + - - - - + + + + - + + + - + + + - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - + + + - + + + - + + + - - - - + + + + - + + + - + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - + + + - + + + - + + + - + + + - - - - + + + + - + + + - - - - + + + + - - - + + + - + + + - + + + - - - + + + - + + + - - - + + + - + + + - + + + - - - + + + - + + + - TCustomForm is a base class from which to derive a window such as a form or dialog. - Derive from TCustomForm to create a custom window. The TCustomForm -descendant can contain other objects, such as TButton, TCheckBox and -TComboBox objects, but they have to be placed into a Layout Manager class. + TCustomForm is a base class from which to derive a + window such as a form or dialog. + Derive from TCustomForm to create a custom window. + The TCustomForm descendant can contain other objects, such + as TButton, TCheckBox and TComboBox objects, but they have + to be placed into a Layout Manager class. - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - + + + - + + + - - - - + + + + - + + + - + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - + + + - + + + - - - - + + + + - + + + - + + + - + + + - + + + - - - - + + + + - + + + - + + + - + + + - + + + - - - - + + + + - + + + - + + + - + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - - - - + + + + - + + + - - - - + + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - + + + - - - + + + - - - + + + - - - + + + - - - + + + - A descendant of TCustomForm with published properties - . - + A descendant of TCustomForm with published + properties + + . + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - - - - + + + + - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - - - - + + + + - - - - + + + + - + + + - - - + + + - - - - + + + + - + + + - - - - + + + + - - - + + + - - - + + + - - - + + + - The TApplication class manages the GUI application's control flow and main settings - . For any GUI application that uses fpGUI, there is precisely -one TApplication object, no matter whether the application has 0, 1, 2 or more windows at -any time. + The TApplication class manages the GUI application's + control flow and main settings + + . For any GUI application + that uses fpGUI, there is precisely one TApplication + object, no matter whether the application has 0, 1, 2 or + more windows at any time. - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - + + + - - - - + + + + - + + + - - - - + + + + - - - - + + + + - - - - + + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - - - - + + + + - - - + + + - - - + + + - - - + + + Global TApplication instance - - is a object that holds all the different parts -together. It stores the instance variables for the TStyle, TScreen, etc. + + is a object that holds all + the different parts together. It stores the instance + variables for the TStyle, TScreen, etc. Returns the smallest value of the two - + + + - + + + - + + + Returns the greater of two values. - + + + - + + + - + + + - Clip the value until it is between min and max - . It is currently used internally in the TScrollBarSlider.EvMouseMove to -limit the amount the user can scroll the scrollbar thumb button. + Clip the value until it is between min and + max + + . It is currently used + internally in the TScrollBarSlider.EvMouseMove to limit the + amount the user can scroll the scrollbar thumb + button. @@ -6841,303 +8040,376 @@ limit the amount the user can scroll the scrollbar thumb button. - - - - + + + + - + + + - + + + - + + + - + + + - + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - + + + - The TMotifStyle class provides Motif look and feel. - This class implements the Motif look and feel. It closely resembles the -original Motif look as defined by the Open Group, but with some minor -improvements. The Motif style is fpGUI's default GUI style on Unix platforms. + The TMotifStyle class provides Motif look and + feel. + This class implements the Motif look and feel. It + closely resembles the original Motif look as defined by the + Open Group, but with some minor improvements. The Motif + style is fpGUI's default GUI style on Unix + platforms. - - + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - + + + - + + + - - - - + + + + - + + + - + + + - + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - + + + - - - + + + - - - + + + - - - - + + + + - + + + - + + + - + + + - - - - + + + + - + + + - + + + - + + + - + + + - + + + - + + + - - - + + + - - - + + + - - - - + + + + - + + + - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - + + + - - - - + + + + @@ -7145,562 +8417,646 @@ improvements. The Motif style is fpGUI's default GUI style on Unix platforms. - - - - + + + + - + + + - - - - + + + + - - - - + + + + - + + + - + + + - - - - + + + + + + + + - + + + - - - - - + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - + + + - + + + - + + + - + + + - - - - + + + + - + + + - + + + - + + + - + + + - - - + + + - - - - + + + + - + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - - - - + + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - + + + - + + + - - - - + + + + - + + + - + + + - + + + - + + + - - - - + + + + - + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - - - - + + + + - + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - + + + - - - - + + + + - + + + - - - - + + + + - + + + - - - + + + - - - - + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - + + + - - - - + + + + - + + + - + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - - - - + + + + - + + + - + + + - - - - + + + + - + + + - + + + - - - + + + diff --git a/docs/xml/gui/motifstyle.xml b/docs/xml/gui/motifstyle.xml new file mode 100644 index 00000000..80d4ab62 --- /dev/null +++ b/docs/xml/gui/motifstyle.xml @@ -0,0 +1,103 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xml/gui/opensoftstyle.xml b/docs/xml/gui/opensoftstyle.xml new file mode 100644 index 00000000..1f768571 --- /dev/null +++ b/docs/xml/gui/opensoftstyle.xml @@ -0,0 +1,155 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xml/gui/stylemanager.xml b/docs/xml/gui/stylemanager.xml index 5a44a9bd..fa3404f3 100644 --- a/docs/xml/gui/stylemanager.xml +++ b/docs/xml/gui/stylemanager.xml @@ -1,145 +1,220 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xml/gui/windowsstyle.xml b/docs/xml/gui/windowsstyle.xml new file mode 100644 index 00000000..7c0a35d6 --- /dev/null +++ b/docs/xml/gui/windowsstyle.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xml/img/imageio_de.xml b/docs/xml/img/imageio_de.xml index cdf6fcca..6b4eeebc 100644 --- a/docs/xml/img/imageio_de.xml +++ b/docs/xml/img/imageio_de.xml @@ -1,722 +1,730 @@ - + - - - - -Bilddateien Lesen und Schreiben - -

    Die Unit ImageIO definiert einige Basisklassen für das allgemeine -Lesen und Schreiben von Bilddateien. Um ein spezielles Dateiformat zu -unterstützen, ist die entsprechende Basisklasse abzuleiten.

    -

    Derzeit wird nur das Lesen von Bildern unterstützt. Die entsprechende -Basisklasse heißt . Unterstützung für das Schreiben -von vorhandenen Bilddaten in eine Datei oder einen Stream wird in einer -zukünftigen Version hinzugefügt.

    -

    Diese Unit ist weitesgehendst unabhängig von anderen Paketen. Auch von fpGFX -werden nur Deklarationen übernommen, es wird aber kein Code verwendet. Dies -ermöglicht eine sehr flexible und effiziente Nutzung von ImageIO -für allerlei spezielle Anwendungen. Komfortfunktionen für die Nutzung mit -fpGFX sind in der Unit zu finden.

    -

    fpImg ist (c) 2000 Areca Systems GmbH / Sebastian Günther -(sg@freepascal.org). Alle Rechte vorbehalten.

    -
    - - -Unterstützung für Exceptions - - - -Unterstützung für Streams - - - -Deklarationen für Pixelformate -und Farbpaletten - - - + Unterstützung für + Exceptions +
    + + + Unterstützung für + Streams + + + + Deklarationen für + Pixelformateund + Farbpaletten + + - - -Allgemeine Fehler-Exception für ImageIO - -Alle speziellen Exceptions, die in ImageIO oder seinen Lese- und -Schreibroutinen auftreten können, sind von EImgError abgeleitet. -Diese Klasse betrifft allerdings nur spezifische Fehlersituationen; allgemeine -Fehlerbedingungen, wie Schutzverletzungen etc., werden über die gewohnten -Standard-Exceptions gemeldet. - - - - + Allgemeine Fehler-Exception für + ImageIO + Alle speziellen Exceptions, die in + ImageIOoder seinen Lese- und Schreibroutinen + auftreten können, sind von + EImgErrorabgeleitet. Diese Klasse betrifft + allerdings nur spezifische Fehlersituationen; allgemeine + Fehlerbedingungen, wie Schutzverletzungen etc., werden + über die gewohnten Standard-Exceptions gemeldet. +
    + - - -Zuwenig Daten für Bild verfügbar - -

    Ein Bild-Lese-Objekt () kann diesen Fehler melden, -wenn es Daten lesen soll, aber keine weiteren Daten zur Verfügung stehen.

    -

    Auf die Anforderung hin, Daten zu lesen, erwartet der Leser auch -entsprechende Daten. Es ist erforderlich, daß mindestens ein Byte an Daten zu -lesen ist. Ist dies nicht der Fall, wird diese Exception ausgelöst.

    -
    - - - -
    - - -Initialisierung mit passendem Fehlertext - -Dieser Konstruktur dient nur zur bequemeren Programmierung: Er initialisiert -die Exception automatisch mit dem passenden Fehlertext. - - - - + Zuwenig Daten für Bild verfügbar + +

    Ein Bild-Lese-Objekt ( + ) kann diesen Fehler melden, wenn + es Daten lesen soll, aber keine weiteren Daten zur + Verfügung stehen.

    +

    Auf die Anforderung hin, Daten zu lesen, erwartet der + Leser auch entsprechende Daten. Es ist erforderlich, + daß mindestens ein Byte an Daten zu lesen ist. Ist + dies nicht der Fall, wird diese Exception + ausgelöst.

    +
    + + + +
    + + + Initialisierung mit passendem Fehlertext + Dieser Konstruktur dient nur zur bequemeren + Programmierung: Er initialisiert die Exception automatisch + mit dem passenden Fehlertext. + + - - -Pixelformat wird nicht unterstützt - -Diese Exception wird von Bildlese- oder Schreibklassen ausgelöst, wenn sie mit -einem Pixelformat konfrontiert werden, welches sie nicht unterstützen (Lesen) -oder nicht unterstützen können (zugrunde liegendes Dateiformat kennt das -geforderte Pixelformat nicht). - - - - -Initialisierung mit passendem Fehlertext - -Dieser Konstruktur dient nur zur bequemeren Programmierung: Er initialisiert -die Exception automatisch mit dem passenden Fehlertext. - - - - -Klassentyp für - -Diese Typdeklaration definiert einen Namen für alle Klassen vom Typ -. Um beispielsweise in einer Variable den Typ -einer Bildlese-Klasse zu speichern, muß diese Variable einfach als vom Typ -TImageReaderClass deklariert werden. - - - . - - - - -Zustandswerte für Bildleser - -Dieser Typ zählt die verschiedenen möglichen Zustände für einen -Bildleser auf. Während ein Bild eingelesen wird, -wird der Zustand an bestimmten Punkten um eine Stufe erhöht. - - - - - - - -Leser hat noch nichts getan - - - -Leser verarbeitet gerade den Header - - - -Leser hat den Header fertig eingelesen - - - -Leser liest gerade die Bilddaten ein - - - -Leser hat seine Arbeit beendet; Header und Bild sind komplett eingelesen. - - - -'Segment gelesen' Ereignistyp - -Dieser Typ definiert ein Ereignis, welches besagt, daß der Sender ein -Bildsegment erfolgreich fertig eingelesen hat. Die Argumente StartY -und Height geben Auskunft darüber, welchen Teil des gesamten Bildes -das gelesene Segment darstellt. - - - - - - - -Auslöser des Ereignisses - - - -Y-Start-Koordinate des Segmentes - - - -Höhe des Segmentes in Pixel - - - + Pixelformat wird nicht unterstützt + Diese Exception wird von Bildlese- oder Schreibklassen + ausgelöst, wenn sie mit einem Pixelformat konfrontiert + werden, welches sie nicht unterstützen (Lesen) oder + nicht unterstützen können (zugrunde liegendes + Dateiformat kennt das geforderte Pixelformat nicht). +
    + + + Initialisierung mit passendem Fehlertext + Dieser Konstruktur dient nur zur bequemeren + Programmierung: Er initialisiert die Exception automatisch + mit dem passenden Fehlertext. + + + + Klassentyp für + + Diese Typdeklaration definiert einen Namen für + alle Klassen vom Typ + . Um beispielsweise in einer + Variable den Typ einer Bildlese-Klasse zu speichern, muß + diese Variable einfach als vom Typ + TImageReaderClassdeklariert werden. + + . + + + + Zustandswerte für + Bildleser + Dieser Typ zählt die verschiedenen möglichen + Zustände für einen + Bildleserauf. Während ein + Bild eingelesen wird, wird der Zustand an bestimmten Punkten + um eine Stufe erhöht. + + + + + + + Leser hat noch nichts getan + + + + Leser verarbeitet gerade den Header + + + + Leser hat den Header fertig eingelesen + + + + Leser liest gerade die Bilddaten ein + + + + Leser hat seine Arbeit beendet; Header und Bild sind + komplett eingelesen. + + + + 'Segment gelesen' Ereignistyp + Dieser Typ definiert ein Ereignis, welches besagt, + daß der Sender ein Bildsegment erfolgreich fertig + eingelesen hat. Die Argumente + StartYund + Heightgeben Auskunft darüber, welchen Teil + des gesamten Bildes das gelesene Segment darstellt. + + + + + + + Auslöser des Ereignisses + + + + Y-Start-Koordinate des Segmentes + + + + Höhe des Segmentes in Pixel + + - - -Basisklasse für Bildleser - -

    Diese Klasse stellt die Basisklasse für alle Bildleser dar. Wie der Name -sagt, ist ein Bildleser eine Klasse, welche Bilder (Images) einlesen kann.

    -

    Durch die gemeinsame Basisklasse gibt es eine gemeinsame Schnittstelle, so -daß verschiedene Leser in Anwendungen sehr leicht ausgetauscht werden können. -Für speziellere Anwendungen kann jeder Bildleser problemlos weitere Fähigkeiten -anbieten; hierbei entfällt dann aber der Vorteil der Austauschbarkeit.

    -

    Alle Daten werden aus einem Stream-Objekt -geladen. Eine weitere Besonderheit ist die Anforderung an alle Leser, daß sie -asynchrones Lesen unterstützen müssen: Der Lesevorgang muß sich nach einer -beliebigen Zahl von gelesenen Bytes unterbrechen und zu einem späteren Zeitpunkt -wieder fortführen lassen.

    - -
    -Der Einlese-Vorgang aus der Sicht von außen -

    Die äußere Anwendung, welche den Leser verwenden will, sollte folgende Dinge -beachten:

    - -
      - -
    • Zunächst wird der Header eingelesen. Dazu wird solange die Methode - aufgerufen, bis der Header -vollständig eingelesen wurde. Die Fertigstellung läßt sich über den aktuellen -Zustand () oder über ein entsprechendes -Ereignis () prüfen.

    • - -
    • Die Anwendung kann nun entscheiden, ob sie die eigentlichen Bilddaten -lesen will oder nicht. Ein Abbrechen an dieser Stelle ist problemlos -möglich. Desweiteren können ab diesem Zeitpunkt die Eigenschaften des Bildes -über die entsprechenden Eigenschaften des Objekts abgefragt werden.

    • - -
    • Das Bild selbst kann auf Wunsch in mehreren Schritten, sogenannten -Segmenten eingelesen werden. Ein Segment ist einfach ein vertikaler -Abschnitt des Bildes.
      Ein Segment muß initialisiert werden, und zwar zu -Beginn des Einlese-Vorgangs und, auf Wunsch, nachdem ein einzelnes Segment -fertig gelesen wurde. Hierzu dient die Methode -. Bemerkenswert hierbei ist, -daß der Aufrufer den Speicher für das Bild verwaltet.

    • - -
    • Um herauszufinden, an welcher Stelle das nächste zu lesende Segment -liegen wird, sollte die Methode -befragt werden. Dies ist nur dann nicht notwendig, falls das Bild in nur einem -Segment gelesen werden soll - hier würde immer der Wert "0" zurückgeliefert -werden.

    • - -
    • Wenn der Leser Bilddaten lesen soll, ist dazu einfach die Methode - aufzurufen. Diese Methode liest -solange Daten, solange welche verfügbar sind oder das Bild fertig eingelesen -wurde.

    • - -
    • Sobald ein Segment fertig gelesen wurde, wird das Ereignis - ausgelöst.

    • - -
    • Wurde das gesamte Bild fertig eingelesen, wird das Ereignis - ausgelöst.

    • - -
    -
    - -
    -Der Einlese-Vorgang aus der Sicht des Lesers -

    Für die Implementierung von abgeleitete Klassen, welche ein konkretes -Bildformat lesen können, sind folgende Punkte zu beachten:

    -
      -
    • Üblicherweise wird kein neuer Konstruktur - benötigt. Es spricht zwar auch nichts dagegen; aber die Präsenz eines -virtuellen Konstruktors in dieser Basisklasse mag für manchen so erscheinen, -als sei dies notwendig. Dies ist nicht der Fall.

    • -
    • Die Verwaltung des aktuellen Zustandes () -wird bereits komplett von der Basisklasse übernommen

    • -
    • Die Methode muß auf jeden -Fall überschrieben werden; sie dient zum Lesen und zur Auswertung des -Bild-Headers. Sobald der Header fertig eingelesen wurde und die entsprechenden -Informations-Eigenschaften gesetzt wurden, muß die neue Methode die Methode - aufrufen.

    • -
    • Die Methode muß -überschrieben werden; sie kann vor dem Lesen eines Segmentes aufgerufen werden, -solange es noch Segmente zu lesen gibt.

    • -
    • Die Methode kann überschrieben -werden, wenn der Bildleser vor Beginn des Einlesens der eigentlichen Bilddaten -noch spezielle Vorbereitungen zu treffen hat.

    • -
    • Die Methode wird in -abgeleiteten Klassen überschrieben, um Bilddaten einlesen zu können. Immer dann, -wenn ein Segment eingelesen wurde, muß die neue Methode die Methode - aufrufen; entsprechend muß - aufgerufen werden, sobald das Bild -vollständig eingelesen wurde.

    • -
    -
    -
    - - -Trifft der Leser im Header auf ein Pixelformat, welches er nicht verarbeiten -kann, so löst er eine Exception aus. -
    -Wird oder - aufgerufen und es können vom -Eingabe-Datenstrom keine Daten gelesen werden, so wird die Exception - ausgelöst. -
    -
    - - -Breite des Bildes - -Dieses Feld gibt die Breite des Bildes in Pixeln an. Es darf nur innerhalb von - gesetzt werden. - - - - - - - -Höhe des Bildes - -Dieses Feld gibt die Höhe des Bildes in Pixeln an. Es darf nur innerhalb von - gesetzt werden. - - - - - - - -Pixelformat des Bildes - -Dieses Feld beschreibt das Pixelformat, in welchem die Pixeldaten -vorliegen. Es darf nur innerhalb von - gesetzt werden. - - - - - - - -Signalisierung: Header fertig eingelesen - -

    Diese Methode wird von abgeleiteten Klassen aufgerufen, sobald diese den -Header des Bildes fertig eingelesen und verarbeitet haben. Der Zustand des -Lesers wird auf gesetzt, und -die Behandlungsroutine des Ereignisses wird -aufgerufen, falls vorhanden.

    -

    HeaderFinished darf nur von überschriebenen Methoden von - aufgerufen werden; der Leser -befindet sich zu diesem Zeitpunkt noch im Zustand -.

    -
    - -Nur Debug-Version: Prüft per Zusicherung auf korrekten Zustand des Lesers. - - - - - -
    - - -Signalisierung: Bildsegment eingelesen - -

    Abgeleitete Klassen rufen diese Methode auf, um zu signalisieren, daß ein -Segment des Bildes fertig eingelesen wurde. Falls vorhanden, wird die -Behandlungsroutine des Ereignisses -aufgerufen.

    -

    SegmentFinished darf nur von überschriebenen Methoden von - aufgerufen werden; der Leser -befindet sich zu diesem Zeitpunkt immer im Zustand -.

    -
    - -Nur Debug-Version: Prüft per Zusicherung auf korrekten Zustand des Lesers. - -
    - - -Y-Start-Koordinate des Segmentes - - - -Höhe des Segments in Pixel - - - -Signalisierung: Bild fertig eingelesen - -

    Eine abgeleitete Klasse ruft diese Methode auf, um anzuzeigen, daß das -gesamte Bild nun eingelesen wurde. Der Zustand des Lesers wird auf - gesetzt, und die Behandlungsroutine -für das Ereignis wird aufgerufen, falls diese -gesetzt ist.

    -

    ImageFinished darf nur von überschriebenen Methoden von - aufgerufen werden; der Leser -befindet sich zu diesem Zeitpunkt noch im Zustand -.

    -
    - -Nur Debug-Version: Prüft per Zusicherung auf korrekten Zustand des Lesers. - -
    - - -Implementierung: Header-Daten verarbeiten - -

    Diese virtuelle Methode muß von abgeleiteten Klassen überschrieben werden, -um Header-Daten einlesen zu können.

    -

    Wenn diese Methode aufgerufen wird, steht mindestens ein Byte zum Lesen vom -angegebenen Stream-Objekt bereit - anderenfalls liegt ein Lesefehler vor. -Implementierungen dieser Methode sollten versuchen, soviel Bytes wie möglich -auf einmal zu verarbeiten; sie müssen aber nach einer beliebigen Anzahl von -gelesen Bytes ihre Arbeit unterbrechen können. Solange der aktuelle Zustand - ist, wird der Aufrufer diese Methode -immer wieder aufrufen, wenn seiner Meinung nach neue Daten zur Verfügung -stehen. Achtung, diese Methode sollte nicht bereits in den Datenbereich -hineinlesen, da alle Bildleser nach Möglichkeit den Datenstrom rein von vorne -nach hinten verarbeiten können sollen, ohne zurückzuspringen.

    -

    Sobald der Header fertig eingelesen wurde und die Bildeigenschaften dieses -Objekts gesetzt wurden, muß aufgerufen -werden, und diese Methode verlassen werden.

    -
    - -Kann nicht mindestens ein Byte vom Stream-Objekt gelesen werden, so muß eine - Exception ausgelöst werden. - - - - -
    - - -Quelle für die Header-Daten - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Breite des Bildes - -Diese Eigenschaft gibt die Breite des Bildes in Pixeln an. Sie wird im Rahmen -des Header-Einlesens gesetzt und besitzt ab dem Zustand - einen gültigen (und -endgültigen) Wert. - - - - - - - -Höhe des Bildes - -Diese Eigenschaft gibt die Höhe des Bildes in Pixeln an. Sie wird im Rahmen -des Header-Einlesens gesetzt und besitzt ab dem Zustand - einen gültigen (und -endgültigen) Wert. - - - - - - - -Pixelformat des Bildes - -Diese Eigenschaft beschreibt das Pixelformat, in welchem die Pixeldaten -vorliegen. Sie wird im Rahmen des Header-Einlesens gesetzt und besitzt ab dem -Zustand einen gültigen (und -endgültigen) Wert. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + Basisklasse für Bildleser + +

    Diese Klasse stellt die Basisklasse für alle + Bildleser dar. Wie der Name sagt, ist ein Bildleser eine + Klasse, welche Bilder (Images) einlesen kann.

    +

    Durch die gemeinsame Basisklasse gibt es eine gemeinsame + Schnittstelle, so daß verschiedene Leser in + Anwendungen sehr leicht ausgetauscht werden können. + Für speziellere Anwendungen kann jeder Bildleser + problemlos weitere Fähigkeiten anbieten; hierbei + entfällt dann aber der Vorteil der + Austauschbarkeit.

    +

    Alle Daten werden aus einem + Stream-Objektgeladen. + Eine weitere Besonderheit ist die Anforderung an alle + Leser, daß sie asynchrones Lesen unterstützen + müssen: Der Lesevorgang muß sich nach einer + beliebigen Zahl von gelesenen Bytes unterbrechen und zu + einem späteren Zeitpunkt wieder fortführen + lassen.

    +
    + Der Einlese-Vorgang aus der Sicht von + außen +

    Die äußere Anwendung, welche den Leser + verwenden will, sollte folgende Dinge beachten:

    +
      +
    • +

      Zunächst wird der Header eingelesen. Dazu + wird solange die Methode + aufgerufen, + bis der Header vollständig eingelesen wurde. Die + Fertigstellung läßt sich über den + aktuellen Zustand ( + ) oder über ein + entsprechendes Ereignis ( + ) prüfen.

      +
    • +
    • +

      Die Anwendung kann nun entscheiden, ob sie die + eigentlichen Bilddaten lesen will oder nicht. Ein + Abbrechen an dieser Stelle ist problemlos + möglich. Desweiteren können ab diesem + Zeitpunkt die Eigenschaften des Bildes über die + entsprechenden Eigenschaften des Objekts abgefragt + werden.

      +
    • +
    • +

      Das Bild selbst kann auf Wunsch in mehreren + Schritten, sogenannten + Segmenteneingelesen werden. Ein Segment ist + einfach ein vertikaler Abschnitt des Bildes. +
      Ein Segment muß initialisiert werden, und + zwar zu Beginn des Einlese-Vorgangs und, auf Wunsch, + nachdem ein einzelnes Segment fertig gelesen wurde. + Hierzu dient die Methode + . + Bemerkenswert hierbei ist, daß der Aufrufer den + Speicher für das Bild verwaltet.

      +
    • +
    • +

      Um herauszufinden, an welcher Stelle das + nächste zu lesende Segment liegen wird, sollte + die Methode + befragt + werden. Dies ist nur dann nicht notwendig, falls das + Bild in nur einem Segment gelesen werden soll - hier + würde immer der Wert "0" zurückgeliefert + werden.

      +
    • +
    • +

      Wenn der Leser Bilddaten lesen soll, ist dazu + einfach die Methode + aufzurufen. + Diese Methode liest solange Daten, solange welche + verfügbar sind oder das Bild fertig eingelesen + wurde.

      +
    • +
    • +

      Sobald ein Segment fertig gelesen wurde, wird das + Ereignis + ausgelöst.

      +
    • +
    • +

      Wurde das gesamte Bild fertig eingelesen, wird das + Ereignis + ausgelöst.

      +
    • +
    +
    +
    + Der Einlese-Vorgang aus der Sicht des + Lesers +

    Für die Implementierung von abgeleitete Klassen, + welche ein konkretes Bildformat lesen können, sind + folgende Punkte zu beachten:

    +
      +
    • +

      Üblicherweise wird kein neuer + + Konstrukturbenötigt. Es spricht zwar auch + nichts dagegen; aber die Präsenz eines + virtuellen Konstruktors in dieser Basisklasse mag + für manchen so erscheinen, als sei dies + notwendig. Dies ist nicht der Fall.

      +
    • +
    • +

      Die Verwaltung des aktuellen Zustandes ( + ) wird bereits + komplett von der Basisklasse übernommen

      +
    • +
    • +

      Die Methode + muß + auf jeden Fall überschrieben werden; sie dient + zum Lesen und zur Auswertung des Bild-Headers. Sobald + der Header fertig eingelesen wurde und die + entsprechenden Informations-Eigenschaften gesetzt + wurden, muß die neue Methode die Methode + aufrufen.

      +
    • +
    • +

      Die Methode + muß + überschrieben werden; sie kann vor dem Lesen + eines Segmentes aufgerufen werden, solange es noch + Segmente zu lesen gibt.

      +
    • +
    • +

      Die Methode + kann + überschrieben werden, wenn der Bildleser vor + Beginn des Einlesens der eigentlichen Bilddaten noch + spezielle Vorbereitungen zu treffen hat.

      +
    • +
    • +

      Die Methode + wird in + abgeleiteten Klassen überschrieben, um Bilddaten + einlesen zu können. Immer dann, wenn ein Segment + eingelesen wurde, muß die neue Methode die + Methode + aufrufen; + entsprechend muß + aufgerufen + werden, sobald das Bild vollständig eingelesen + wurde.

      +
    • +
    +
    +
    + Trifft der Leser im Header auf ein Pixelformat, + welches er nicht verarbeiten kann, so löst er eine + Exception aus. +
    Wird + oder + aufgerufen und es + können vom Eingabe-Datenstrom keine Daten gelesen + werden, so wird die Exception + ausgelöst.
    +
    + + + Breite des Bildes + Dieses Feld gibt die Breite des Bildes in Pixeln an. + Es darf nur innerhalb von + gesetzt + werden. + + + + + + + Höhe des Bildes + Dieses Feld gibt die Höhe des Bildes in Pixeln + an. Es darf nur innerhalb von + gesetzt + werden. + + + + + + + Pixelformat des Bildes + Dieses Feld beschreibt das Pixelformat, in welchem die + Pixeldaten vorliegen. Es darf nur innerhalb von + gesetzt + werden. + + + + + + + Signalisierung: Header fertig eingelesen + +

    Diese Methode wird von abgeleiteten Klassen aufgerufen, + sobald diese den Header des Bildes fertig eingelesen und + verarbeitet haben. Der Zustand des Lesers wird auf + gesetzt, + und die Behandlungsroutine des Ereignisses + wird aufgerufen, falls + vorhanden.

    +

    + HeaderFinisheddarf nur von überschriebenen + Methoden von + aufgerufen + werden; der Leser befindet sich zu diesem Zeitpunkt noch im + Zustand + .

    +
    + Nur Debug-Version: Prüft per Zusicherung auf + korrekten Zustand des Lesers. + + + + +
    + + + Signalisierung: Bildsegment eingelesen + +

    Abgeleitete Klassen rufen diese Methode auf, um zu + signalisieren, daß ein Segment des Bildes fertig + eingelesen wurde. Falls vorhanden, wird die + Behandlungsroutine des Ereignisses + aufgerufen.

    +

    + SegmentFinisheddarf nur von überschriebenen + Methoden von + aufgerufen + werden; der Leser befindet sich zu diesem Zeitpunkt immer + im Zustand + .

    +
    + Nur Debug-Version: Prüft per Zusicherung auf + korrekten Zustand des Lesers. +
    + + + Y-Start-Koordinate des Segmentes + + + + Höhe des Segments in Pixel + + + + Signalisierung: Bild fertig eingelesen + +

    Eine abgeleitete Klasse ruft diese Methode auf, um + anzuzeigen, daß das gesamte Bild nun eingelesen wurde. + Der Zustand des Lesers wird auf + gesetzt, und die + Behandlungsroutine für das Ereignis + wird aufgerufen, falls + diese gesetzt ist.

    +

    + ImageFinisheddarf nur von überschriebenen + Methoden von + aufgerufen + werden; der Leser befindet sich zu diesem Zeitpunkt noch im + Zustand + .

    +
    + Nur Debug-Version: Prüft per Zusicherung auf + korrekten Zustand des Lesers. +
    + + + Implementierung: Header-Daten verarbeiten + +

    Diese virtuelle Methode muß von abgeleiteten + Klassen überschrieben werden, um Header-Daten einlesen + zu können.

    +

    Wenn diese Methode aufgerufen wird, steht mindestens ein + Byte zum Lesen vom angegebenen Stream-Objekt bereit - + anderenfalls liegt ein Lesefehler vor. Implementierungen + dieser Methode sollten versuchen, soviel Bytes wie + möglich auf einmal zu verarbeiten; sie müssen + aber nach einer beliebigen Anzahl von gelesen Bytes ihre + Arbeit unterbrechen können. Solange der aktuelle + Zustand + ist, wird der + Aufrufer diese Methode immer wieder aufrufen, wenn seiner + Meinung nach neue Daten zur Verfügung stehen. Achtung, + diese Methode sollte nicht bereits in den Datenbereich + hineinlesen, da alle Bildleser nach Möglichkeit den + Datenstrom rein von vorne nach hinten verarbeiten + können sollen, ohne zurückzuspringen.

    +

    Sobald der Header fertig eingelesen wurde und die + Bildeigenschaften dieses Objekts gesetzt wurden, muß + aufgerufen werden, + und diese Methode verlassen werden.

    +
    + Kann nicht mindestens ein Byte vom Stream-Objekt + gelesen werden, so muß eine + Exception ausgelöst + werden. + + + +
    + + + Quelle für die Header-Daten + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Breite des Bildes + Diese Eigenschaft gibt die Breite des Bildes in Pixeln + an. Sie wird im Rahmen des Header-Einlesens gesetzt und + besitzt ab dem Zustand + einen + gültigen (und endgültigen) Wert. + + + + + + + Höhe des Bildes + Diese Eigenschaft gibt die Höhe des Bildes in + Pixeln an. Sie wird im Rahmen des Header-Einlesens gesetzt + und besitzt ab dem Zustand + einen + gültigen (und endgültigen) Wert. + + + + + + + Pixelformat des Bildes + Diese Eigenschaft beschreibt das Pixelformat, in + welchem die Pixeldaten vorliegen. Sie wird im Rahmen des + Header-Einlesens gesetzt und besitzt ab dem Zustand + einen + gültigen (und endgültigen) Wert. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- cgit v1.2.3-70-g09d2
    0,0