From 48ee5168d1fa84f45463e81abe944e97359746da Mon Sep 17 00:00:00 2001 From: Graeme Geldenhuys Date: Tue, 28 Sep 2010 15:05:23 +0200 Subject: fpg_base documentation update * removed empty documentation elements. * added some minor documentation to a few elements. --- docs/xml/corelib/fpg_base.xml | 5176 ++--------------------------------------- 1 file changed, 233 insertions(+), 4943 deletions(-) diff --git a/docs/xml/corelib/fpg_base.xml b/docs/xml/corelib/fpg_base.xml index 0d9f56c2..d7e29445 100644 --- a/docs/xml/corelib/fpg_base.xml +++ b/docs/xml/corelib/fpg_base.xml @@ -56,24 +56,6 @@ etc.). - - - - - - - - - - - - - - - - - - Alpha support has not really been implemented in fpGUI yet. @@ -189,7 +171,6 @@ it is shown for the first time. Enum types defining how a gradient must be painted - @@ -364,5142 +345,442 @@ it is shown for the first time. - - + + The default base font used in fpGUI - - - - - + + + A graphical (pixel based) rectangle structure used throughout fpGUI. + +

Note that this structure is not a class, so static allocations are +allowed. This makes it much easier to use in Widgets and in fpGUI internal +messages.

+

Think of the pixel screen/grid like the grid of a spreadsheet (or as a magnified look of the top corner of your screen). +

+
.
+     0   1
+   +---+---+---
+0  | x |   |
+   +---+---+---
+1  |   |   |
+   +---+---+---
+2  |   |   |
+   +---+---+---
+   |   |   |
+
+

x is at (0,0). A pixel is always 1x1, you don't get smaller (we are not using sub-pixels like on LCD screens, because they don't apply to all screens). +

+

So with that example, Width = 1 pixel and Height = 1 pixel. In the case of +Classes.Bounds() the Right and Bottom values are (1,1) which looking at the +above image will be wrong, the pixel only covers one block, so in a screen/pixel +environment, Right, Bottom is also (0,0), the same as Top/Left. This is what +TfpgRect.Right and TfpgRect.Bottom will report. +

+
.
+     0   1
+   +---+---+---
+0  | x | x |
+   +---+---+---
+1  | x | x |
+   +---+---+---
+2  |   |   |
+   +---+---+---
+   |   |   |
+
+

In this example we have a rectangle. Top/Left = (0,0) and Bottom/Right = (1,1). +This means Width = 2 pixels and Height = 2 pixels. Clearly visible in the image +above. +

+

But if we call Classes.Bounds(0,0,2,2) it reports Bottom/Right as (2,2) which +is wrong (again looking at the image above as reference). This is my point. +Bounds() cannot be used in this case in a graphical environment. +

+

The reason I don't use a grid layout as shown below, is +because if the mouse is over the rectangle containing x, the OS (graphics system) reports its +position as (0,0). You don't have to have the mouse pointer over the intersecting +lines at (0,0) as indicated in the image below. The whole square containing +the x is referenced as (0,0), hence the grid layout as show in the images above, +and what fpGUI uses. The same grid layout as used in TfpgStringGrid or any +Spreadsheet program etc. +

+
.
+   0   1   2
+0  +---+---+---
+   | x |   |
+1  +---+---+---
+   |   |   |
+2  +---+---+---
+   |   |   |
+3  +---+---+---
+   |   |   |
+
+
+
- - - + + + + A convenience function to quickly set a rectangle structure. - - - - + + + + Calculates and returns the bottom position of the rectangle. - - - - + + + + Calculates and returns the Right most position of the rectangle. - - - - + + + + Sets the bottom value and recalculates the Height value. - - - - + + + + Sets the Right value and recalculates the Width value. - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - + + - - - - + + - - - - + + - - - - + + - - - - - - - + + + Abstract class use for representing a Window or Widget + fpGUI is a Windowed toolkit. By that we mean that every component +or widget has a window handle. Widgets are essentially embedded windows without +titlebars or borders inside a main parent window. + - - - + + + Abstract class used to represent a Canvas for painting - - - - + + + Abstract class used to represent a Image - - - - + + + + Inverts the Image + . This changes the actual +data of the image. There is no undo function. So if you want to undo this action, +you must keep copy of the original image before you call Invert. + + + + + Allocates OS resources for the Image - - - - + + + + Allocates OS resources for the Image Mask - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A graphical (pixel based) rectangle structure used throughout fpGUI. - -

Note that this structure is not a class, so static allocations are -allowed. This makes it much easier to use in Widgets and in fpGUI internal -messages.

-

Think of the pixel screen/grid like the grid of a spreadsheet (or as a magnified look of the top corner of your screen). -

-
.
-     0   1
-   +---+---+---
-0  | x |   |
-   +---+---+---
-1  |   |   |
-   +---+---+---
-2  |   |   |
-   +---+---+---
-   |   |   |
-
-

x is at (0,0). A pixel is always 1x1, you don't get smaller (we are not using sub-pixels like on LCD screens, because they don't apply to all screens). -

-

So with that example, Width = 1 pixel and Height = 1 pixel. In the case of -Classes.Bounds() the Right and Bottom values are (1,1) which looking at the -above image will be wrong, the pixel only covers one block, so in a screen/pixel -environment, Right, Bottom is also (0,0), the same as Top/Left. This is what -TfpgRect.Right and TfpgRect.Bottom will report. -

-
.
-     0   1
-   +---+---+---
-0  | x | x |
-   +---+---+---
-1  | x | x |
-   +---+---+---
-2  |   |   |
-   +---+---+---
-   |   |   |
-
-

In this example we have a rectangle. Top/Left = (0,0) and Bottom/Right = (1,1). -This means Width = 2 pixels and Height = 2 pixels. Clearly visible in the image -above. -

-

But if we call Classes.Bounds(0,0,2,2) it reports Bottom/Right as (2,2) which -is wrong (again looking at the image above as reference). This is my point. -Bounds() cannot be used in this case in a graphical environment. -

-

The reason I don't use a grid layout as shown below, is -because if the mouse is over the rectangle containing x, the OS (graphics system) reports its -position as (0,0). You don't have to have the mouse pointer over the intersecting -lines at (0,0) as indicated in the image below. The whole square containing -the x is referenced as (0,0), hence the grid layout as show in the images above, -and what fpGUI uses. The same grid layout as used in TfpgStringGrid or any -Spreadsheet program etc. -

-
.
-   0   1   2
-0  +---+---+---
-   | x |   |
-1  +---+---+---
-   |   |   |
-2  +---+---+---
-   |   |   |
-3  +---+---+---
-   |   |   |
-
-
- - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - A convenience function to quickly set a rectangle structure. - - - - - - - - - - - - - - - - - - - - - - - Calculates and returns the bottom position of the rectangle. - - - - - - - - - - - Calculates and returns the Right most position of the rectangle. - - - - - - - - - - - Sets the bottom value and recalculates the Height value. - - - - - - - - - - - Sets the Right value and recalculates the Width value. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Abstract class use for representing a Window or Widget - fpGUI is a Windowed toolkit. By that we mean that every component -or widget has a window handle. Widgets are essentially embedded windows without -titlebars or borders inside a main parent window. - - - - - - - Abstract class used to represent a Canvas for painting - - - - - - - Abstract class used to represent a Image - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Inverts the Image - - - - - - - - - - - - - - Allocates OS resources for the Image - - - - - - - - - - - - - - - - - - - Allocates OS resources for the Image Mask - - - - - - - Creates a mask based on the sample point presented by X and Y parameters - - - - - - - - - - - - - - - Updates the internal image resources and OS resources from image data - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Width of the image - - - - - - Height of the image - - - - - - Color depth of the image. Currently 24/32-bit is all that is supported. - - - - - - - - - - - - Array property to access a specific color of the image based on X and Y co-ordinates - - - - - - - - - - - - - - Encapsulates the resources of a font - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A abstract class representing a base Interpolation filter. - This is used as the base class to implement Interpolation filters like -Gaussian, Sinc etc... These decendant filters are used in the -Canvas.StretchDraw function. - - - - Canvas.StretchDraw - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Draws a rectangle. - - You can specify the size of the rectangle via X, Y, Width and Height parameters or via a TfpgRect parameter. - - - - - - - - - - - - - - - - - - - - - - - - - - Draws a line - - . This method draws a line from (x1,y1) to (x2,y2), but does not draw the last pixel. All supported backends follow the Microsoft API and doesn't draw the last pixel. This optimises consecutive lines being drawn without overlapping pixels. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + Creates a mask based on the sample point presented by X and Y parameters - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + Updates the internal image resources and OS resources from image data - + - - + + Width of the image - - - + + Height of the image - - - + + Color depth of the image. Currently 24/32-bit is all that is supported. - + - - + + Array property to access a specific color of the image based on X and Y co-ordinates - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + Encapsulates the resources of a font - - - - - - + + + + A abstract class representing a base Interpolation filter. + This is used as the base class to implement Interpolation filters like +Gaussian, Sinc etc... These decendant filters are used in the +Canvas.StretchDraw function. + + + Canvas.StretchDraw + - - - - - + + + Draws a rectangle. + + You can specify the size of the rectangle via X, Y, Width and Height parameters or via a TfpgRect parameter. - - - - - + + + + Draws a line + + . This method draws a line from (x1,y1) to (x2,y2), but does not draw the last pixel. All supported backends follow the Microsoft API and doesn't draw the last pixel. This optimises consecutive lines being drawn without overlapping pixels. + Returns the text representation of a keycode. This is mainly used for debugging, but could also be used for Menu Item keyboard shortcuts etc. - - - - - - - - - - - - - - + Detects if the pressed keys represent a Clipboard key shortcut Detects if the pressed keys represent a Clipboard key shortcut. If it does, it returns the correct enum type detected. - - - - - - - - - - - - - - + Converts the TfpgColor to TRGBTriple type This function converts the given TfpgColor into a TRGBTriple type. - TRGBTriple - - - - - - - - + Converts the TRGBTriple to TfpgColor type This function converts the given TRGBTriple into a TfpgColor type. - TRGBTriple - - - - - - - - Returns the Red portion of a color value. - - - - - - - - - - + Returns the Green portion of a color value. - - - - - - - - - - Returns the Blue portion of a color value. - - - - - - - - - - + Returns the Alpha portion of a color value. - - - - - - - - - - + Calculates the average color using the two supplied This function calculates and returns the average color by using AColor1 and AColor2. The Alpha value also gets taken into account. - - - - - - - - - - - - - - + Returns true if APoint is inside ARect rectangle This function is used to detect if the point APoint is inside the given rectangle ARect. If it is, the function returns True, otherwise False. - - - - - - - - - - - - - - + Fixes the Top, Bottom and Left, Right to always represent a valid rectangle This function fixes a rectangle so that the Left point is always smaller than the Right. And the Top is always smaller than the Bottom. - - - - - - - - - - - - - - - - - - - - - - + Draws a line inside a clip rectangle

. This procedure clips a line to the AClipRect boundaries and @@ -5511,32 +792,41 @@ Right. And the Top is always smaller than the Bottom. For a detailed explanation see: http://www.nondot.org/~sabre/graphpro/line6.html

+ Clips the line based on AClipRect boundaries. This does not do any drawing, in only clips the line coordinates. This method is used internally by . + A simple data object representing a file . Some properties are OS dependant. + Name of a file + The extension of a file + Size of a file in bytes + Is this item a symbolic link (on unix-type OSes) + If it is a symbolic link, LinkTarget is what it points too + Last modified timestamp + A record structure holding the RGBA values of a color. This is the same declaration as the one found in FPImage (include with Free Pascal Compiler). In future when FPImage is integrated with fpGUI, I will remove this declaration. @@ -5578,4 +868,4 @@ the streets of Manhattan.

- \ No newline at end of file + -- cgit v1.2.3-70-g09d2