Unit contains definitions for many fundamental classes and types used in graphic applications
Output font quality, such as antialiasing
Default font quality
Prefer other font features (size, style) against output quality
Prefer output quality against other font features (size, style)
Disable font antialiasing
Use font antialiasing
A record holding Data about the current Font
The Operating System Handle for the current Font
The Height (in pixels) if the current Font
The Pitch (in points) of the currentFont
The Style of the Font
Bold, Italic, Strikeout or Underlined
The Character Set of the current Font (expresed as an integer)
Output Quality of the current Font, such as antialiasing
The Name (as a string) of the current Font
Default Data
for any new

Font

New TFont instances are initialized with the values in this structure.

About font default values: The default font is chosen by the interfaces depending on the context.

For example, there can be a different default font for a button and a groupbox.

How the Text is to be laid out in the Text Rectangle
At the Bottom, Centre or Top of the available window or box
The Style of the Text to be drawn in a rectangle

The Style of the Text to be drawn in a rectangle

- Alignment : TextRect Only: horizontal alignment
- Layout : TextRect Only: vertical alignment
- SingleLine: boolean; If WordBreak is false then process #13, #10 as standard chars and perform no Line breaking.
- Clipping : boolean; TextRect Only: Clip Text to passed Rectangle
- ExpandTabs: boolean; currently ignored
- ShowPrefix: boolean; TextRect Only: Process first single ampersand per line as an underscore and draw double ampersand as a single ampersand
- Wordbreak : boolean; TextRect Only: If line of text is too long to fit between left and right boundaries, try to break into multiple lines between words
- Opaque : boolean; TextRect: Fills background with current Brush
- Opaque : TextOut : Fills background with current foreground color
- SystemFont: Boolean; Use the system font instead of Canvas Font
- RightToLeft: Boolean; For RightToLeft text reading (Text Direction)

Style of Brush to be used
TProgressEvent - for monitoring the progress of a drawing process
The main color of a given control. This color does not mean anything alone and needs to be resolved using a control instance and for example TColor.GetDefaultColor, TColor.GetColorResolvingParent or TColor.GetRGBColorResolvingParent
The color of the background of a widget, for example a TEdit. This is usually white. Don't confuse this with the background of a window, or form, which is given by clForm
The color of the text in menus
The color of the text in a widget, such as for example TEdit. This is usually black. Don't confuse with the color of the window decoration caption or of a raised control such as buttons or anything else.
The color of the face of a button. This color is also utilized in many other places for raised areas such as a panel.
The color that the text in a button or other raised area should have.
Represents the color of the background of a form
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
Deprecated CLX color. Don't use.
TPortableNetworkGraphic
- a PNG image
TGraphicsObject
- Primitive ancestor class, mainly for Delphi compatibility
TGraphicsObject - In Delphi VCL this is the ancestor of TFont, TPen and TBrush.
Since FPC 2.0 the LCL uses TFPCanvasHelper as ancestor.
Changing
- software emulation of OnChanging event
Changed
- software emulation of OnChange event
Lock
- method for locking the object, making it unavailable for changes
UnLock
- method for releasing locked object
OnChanging
- event handler for changing object
OnChange
- event handler for changed object
TFontHandleCacheDescriptor
- descriptor for items in Font Handle Cache
LogFont
- a font used (especially in Windows) for logs
LongFontName
- the long name for the Font
TFontHandleCache
- a resource cache for font handles
FindFont
- returns the Font specified by its handle as a cache item from the FontHandleCache
FindFontDesc
- returns the descriptor for the FontHandle using its LogName and its LongFontName
Add
the Font specified by its handle, LogFont and LongFontName, and returns a descriptor
The Font to be used for drawing Text

Most of the data about the font are dealt with by the protected procedures GetData and SetData which operate on TFontData

Individual properties such as Character Set, colour and size can be accessed in the public area

TFPCustomFont.SetName
SetName
- if AValue is a new name, frees the old reference, calls inherited method and sets the Changed property
TFPCustomFont.SetSize
SetSize
- if AValue is a new size, frees the old reference, calls the inherited method, performs the appropriate rounding and sets the Changed property
TFPCanvasHelper.Changed
Changed
- checks for pending updates (if there are any, returns True) or calls inherited Changed
GetCharSet
- returns the Character Set to be used for this Font
GetHeight
- returns the height of the Font
GetName
- returns the name of the Font
GetPitch
- returns the pitch of the Font
GetSize
- returns the size of the Font
GetStyle
- returns the style of the Font
Bold, Italic, StrikeOut, Underline
SetCharSet
- specify the character set
SetColor
- specify the colour for the font
SetHeight
- specify the height of the Font
SetPitch
- specify the pitch for the Font
SetStyle
- specify which style to use
SetQuality
- specify the quality
Default, Draft, Proof, NonAntialiased, Antialiased

Create - constructor for TFont: Opens a new instance of the class , calling inherited Create and sets defaults for character set, colour, size etc

Create
- constructor for TFont: Opens a new instance of the class, calling inherited Create and setting some defaults
TObject.Create
Destroy
- destructor for TFont: frees reference then performs inherited Destroy
TPersistent.Destroy
Assign
- copies the source settings to itself

Method: TFont.Assign

Source: another font

Returns: nothing

Copies the source settings to itself

Copies the settings from the given font.
BeginUpdate
- start the update process
EndUpdate
- finish the update process
HandleAllocated
- returns True if a handle has been allocated
IsDefault
- returns True if this is the default Font
Operataing system Handle for this Font
Operataing system Handle for this Font - deprecated
PixelsPerInch
- scaling factor for drawing Font
CanUTF8
- returns True if Font can be used for UTF8. This property is deprecated and will be removed, don't use it.
The Character Set to be used by the currentFont
Colour
of the current

Font
Default is the same as the text used for the rest of the Window
The Height of the current Font
Pitch
type of the

Font
Fixed or variable pitch, or Default
Reads or writes a flag to determine pitch type
Output quality of the Font, such as antialiasing
Style
of the

Font
Bold, Italic, Strike out, Underline
Property is a set, so may contain zero or more of the above (if set is empty, Normal font is displayed)
The Data associated with the current Pen
The Operating System Handle associated with the current Pen
The Colour of the curent Pen
The Width in pixels of the current Pen
The Style asociated with the current Pen
The Style asociated with the current Pen
Can take any of the values: psSolid, psDash, psDot, psDashDot, psDashDotDot, psinsideFrame, psPattern,psClear
TPenHandleCache
- Resource Cache for Pen Handles
The current Pen for drawing on the current Canvas
SetColor
- specifies Colour for the Pen
Most of its properties are inherited from the parent class
Create
- constructor for TPen: performs inherited Create then sets some local defaults, style, mode, width and colour
TObject.Create
Most of its properties are inherited from the parent class
Destroy
- destructor for TPen: frees reference then performs inherited Destroy
TPersistent.Destroy
Assign
- copies settings from Source to itself (provided Source is another TPen), then performs inherited Assign
TPersistent.Assign
The Operating System Handle for the current Pen
Reads or writes a flag to determine the handle
The Colour of the current Pen
Reads or Writes a flag to determine the colour. Default is black
Can take any of the values:
pmBlack, pmWhite, pmNop, pmNot, pmCopy, pmNotCopy,
pmMergePenNot, pmMaskPenNot, pmMergeNotPen, pmMaskNotPen, pmMerge,
pmNotMerge, pmMask, pmNotMask, pmXor, pmNotXor
Default is pmCopy
Can be one of the following:
psSolid, psDash, psDot, psDashDot, psDashDotDot, psinsideFrame, psPattern,psClear
Default is psSolid
The Data associated with the current Brush
The Operating System Handle associated with the current Brush
The Colour to be used by the current Brush
The Bitmap on which the current Brush is working
The Style to be used by the current Brush
Enumerated type defined in TBrushStyle
TBrushHandleCache
- resource cache for Brush Handles
The Brush to be used to Paint on the current Canvas
A Brush is typically used to fill an enclosed area on theCanvas with one particular colour or coloured pattern
SetBitmap
- specify the Bitmap for the Brush
SetColor
- specify Colour for the Brush
Method: TBrush.Assign
Params: Source: Another brush
Returns: nothing

Copies the source brush to itself
Assign
- if Source is another TBrush, copies settings to itself, else performs inherited Assign
TPersistent.Assign
Source
- another

Brush
Inherits most of its properties from ancestor Classes
Create
- constructor for TBrush: perform inherited Create then initialise some local variables and SetStyle
TObject.Create
Inherits properties to remove

Brush
and frees

Handle
Destroy
- destructor for TBrush: free reference then perform inherited Destroy
TPersistent.Destroy
The BitMap associated with the current Brush
Reads or writes a flag to determine the current BitMap
Operating System Handle for this Brush
Reads or writes flag to determine system Handle
The Colour of the current Brush
Reads or writes a flag to determine the Colour. Default is White
Style
of the Brush
Enumerated type - default Solid
The Data about the current Region on the Screen or Canvas
At present the Region can only be rectangular; the ability to define it as a Polygon is not yet implemented
Polygon
- a list of points defining a polygon
NumPoints
- the number of points in the polygon list
If True, use Winding mode to construct the Polygon
A Reference made to the current Region
A defined Region on the screen, in which text is written
SetClipRect
- specify the rectangle to use for clipping
GetClipRect
- returns the coordinates of the clipping rectangle
Create
- constructor for TRegion: calls inherited Create and sets FillChar
TObject.Create
Destroy
- destructor for TRegion: frees reference then calls inherited Destroy
TPersistent.Destroy
Assign
- if Source is another TRegion, copies the dimensions of the clipping rectangle
TPersistent.Assign
Operating System Handle for this Region
HRGN THandle
ClipRect
- The rectangle to be used for clipping text
TGraphic
- Base class for dealing with Graphic images
The TGraphic class is an abstract base class for dealing with graphic images such as bitmaps, pixmaps, icons, and other image formats. It does not contain an actual area for displaying the image; this is provided by the descendant classes eg BitMap, Icon etc which have a Canvas element defined
LoadFromFile
- Read the graphic from the file system. The old contents of the graphic are lost. If the file is not of the right format, an exception will be generated.
SaveToFile
- Writes the graphic to disk in the file provided.
LoadFromStream
- Like LoadFromFile except source is a stream (e.g. TBlobStream ).
SaveToStream
- stream analogue of SaveToFile .
LoadFromClipboardFormat
- Replaces the current image with the data provided. If the TGraphic does not support that format it will generate an exception.
SaveToClipboardFormats
- Converts the image to a clipboard format. If the image does not support being translated into a clipboard format it will generate an exception.
Height
- The native, unstretched, height of the graphic.
Palette
- Color palette of image. Zero if graphic doesn't need/use palettes.
Transparent
- Some parts of the image are not opaque, ie the background can be seen through.
Width
- The native, unstretched, width of the graphic.
OnChange
- Called whenever the graphic changes
PaletteModified
- Indicates in OnChange whether color palette has changed. Stays true until whoever is responsible for realizing this new palette (ex: TImage) sets it to False.
OnProgress
- Generic progress indicator event. Propagates out to TPicture and TImage OnProgress events.

As many of the methods and properties are virtual and/or abstract, it is the responsibility of the application programmer to supply suitable methods when implementing any descendant classes
Changed
- software emulation of a call to the OnChange event
Equals
- returns True if the current Graphic is the same as the specified Graphic
DefineProperties
finds out whether the object really is a binary (graphic)
TPersistent.DefineProperties
Method to Draw the Graphic on the specified Canvas, in the specified Rectangle
GetEmpty
- returns True if the Graphic is empty
GetHeight
- returns the height of the Graphic
GetMimeType
- returns the MIME type of the Graphic
GetPalette
- returns a Handle for the Palette
GetTransparent
- returns True if the graphic is transparent
GetWidth
- returns the width of the Graphic
Monitor the Progress of the drawing
ReadData
- reads data for the Graphic from a stream
SetHeight
- defines the height for the Graphic
SetPalette
- deefines the Palette Handle to be used
SetTransparent
- defines whether the graphic is to be transparent
SetWidth
- defines the width for the Graphic
SetModified
- defines whether the graphic has been modified
WriteData
- writes Graphic data to a stream
Assign
- checks if there really is a source to assign (if not, calls Clear), then calls inherited method
TPersistent.Assign
Clear
the resources used by the Graphic, leaving a blank Graphic
Virtual method, so recommend that a constructor be supplied to

override this method in descendant classes
Create
- constructor for TGraphic: calls inherited Create
TObject.Create
LoadFromFile
- Read the graphic from the file system.
LoadFromFile - Read the graphic from the file system.
The old contents of the graphic are lost.
If the file is not of the right format, an exception will be generated.
Incorrect file format generates an exception
The name of the file containing the graphic, held as a string
SaveToFile
- Writes the graphic to disk in the file provided.
SaveToFile
- Writes the graphic to disk in the file whose name is provided.
The name of the file to which the graphic will be written
LoadFromStream
- reads graphic data from a stream (e.g.

TBlobStream
)
LoadFromStream
- Like

LoadFromFile
except source is a stream (e.g.

TBlobStream
)
Identity of the stream from which the graphic data are to be read
SaveToStream
- write graphic data to a stream
SaveToStream
- write graphic data to a stream
Identity of the stream to which the graphic data are to be written
LoadFromMimeStream
- reads graphic data from a MIME stream
MimeType
- the MIME type of the graphic
Load the graphic data from a Lazarus Resource (eg a *.lrs file)
LoadFromClipboardFormat
- Replace the current image with the contents of the clipboard
LoadFromClipboardFormat
- Replaces the current image with the data provided from the clipboard.
If the TGraphic does not support that format it will generate an exception.
Load the data from the clipboard using the format type specified by ClipboardType and the format identifier FormatID
SaveToClipboardFormats
- Converts the image to a clipboard format
SaveToClipboardFormats
- Converts the image to a clipboard format
If the image does not support being translated into a clipboard format it will generate an exception
Identity of the clipboard format
Saves the data to a clipboard of Type ClipboardType using the format FormatID
Gets a list of the MIME types that are supported
Finds the default MIME type
GetFileExtensions
- returns a list of the file extensions available
Is this an empty (blank) graphic?
Height
- The native, unstretched, height of the graphic.
Has the graphic been modified?
Event handler for any change in the data
Event handler for monitoring progress of the graphic
Palette
- Color palette of image
Palette
- Color palette of image. Zero if graphic doesn't need/use palettes
Has the palette of colours been modified?
Transparent
- Some parts of the image are not opaque. ie the background can be seen through
Width
- The native, unstretched, width of the graphic.
TGraphicClass
- class of TGraphic
TPicture
is a

TGraphic
container, used in place of a

TGraphic
if the graphic can be of any

TGraphic
class.

TPicture is a

TGraphic container. It is used in place of a

TGraphic if the graphic can be of any

TGraphic class.

It is not a direct descendant of TGraphic, so you will not see TGraphic listed in the Inheritance chart, but it contains a property Graphic, of type TGraphic, so can contain all the properties of a TGraphic

Defines many private methods for getting and storing various sorts of images such as bitmaps, pixmaps, icons, PNGs etc

It does not itself contain a defined area for displaying the image, but this is supplied by the descendant classes such as BitMap, PixMap, PNG or Icon, which define a Canvas property.

LoadFromFile and

SaveToFile are polymorphic. For example, if the

TPicture is holding an

Icon, you can

LoadFromFile a bitmap file, whereas if the class is

TIcon you could only read .ICO files.

- LoadFromFile
  - Reads a picture from disk. The

  TGraphic
  class created is determined by the file extension of the file. If the file extension is not recognized an exception is generated.
- SaveToFile
  - Writes the picture to disk.
- LoadFromClipboardFormat
  - ToDo: Reads the picture from the handle provided in the given clipboard format. If the format is not supported, an exception is generated.
- SaveToClipboardFormats
  - ToDo: Allocates a global handle and writes the picture in its native clipboard format (CF_BITMAP for bitmaps, CF_METAFILE for metafiles, etc.). Formats will contain the formats written. Returns the number of clipboard items written to the array pointed to by Formats and Datas or would be written if either Formats or Datas are nil.
- SupportsClipboardFormat
  - Returns true if the given clipboard format is supported by

  LoadFromClipboardFormat
- Assign
  - Copies the contents of the given

  TPicture
  . Used most often in the implementation of TPicture properties.
- RegisterFileFormat
  - Register a new

  TGraphic
  class for use in

  LoadFromFile
  .
- RegisterClipboardFormat
  - Registers a new

  TGraphic
  class for use in

  LoadFromClipboardFormat
  .
- UnRegisterGraphicClass
  - Removes all references to the specified

  TGraphic
  class and all its descendants from the file format and clipboard format internal lists.
- Height
  - The native, unstretched, height of the picture.
- Width
  - The native, unstretched, width of the picture.
- Graphic
  - The

  TGraphic
  object contained by the

  TPicture
- Bitmap
  - Returns a bitmap. If the contents is not already a bitmap, the contents are thrown away and a blank bitmap is returned.
- Pixmap
  - Returns a pixmap. If the contents is not already a pixmap, the contents are thrown away and a blank pixmap is returned.
- PNG
  - Returns a png. If the contents is not already a png, the contents are thrown away and a blank png (

  TPortableNetworkGraphic
  ) is returned.
- PNM
  - Returns a pnm. If the contents is not already a pnm, the contents are thrown away and a blank pnm (

  TPortableAnyMapGraphic
  ) is returned.
- Jpeg
  - Returns a jpeg. If the contents is not already a jpeg, the contents are thrown away and a blank jpeg (

  TJPegImage
  ) is returned.

AssignTo
if Dest is of correct (Graphic) type, calls Assign for Dest, otherwise calls inherited AssignTo
TPersistent.AssignTo
Changed
- software emulation of a call to the OnChange event
Monitor progress of drawing process
Create
- constructor for TPicture: performs inherited Create then loads file and clipboard formats
TObject.Create
Any destructor method defined here will override destructors defined in ancestor classes
Destroy
- destructor for TPicture: frees graphic then performs inherited Destroy
TPersistent.Destroy
LoadFromFile
- Reads a picture from disk
LoadFromFile
- Reads a picture from disk. The

TGraphic
class created is determined by the file extension of the file.
If the file extension is not recognized an exception is generated
The name of the file containing the picture, stored as a string
SaveToFile
- Writes the picture to disk
The name of the file to save the picture, stored as a string
LoadFromClipboardFormat
- Reads the picture from the handle provided in the given clipboard format
LoadFromClipboardFormat
- ToDo: Reads the picture from the handle provided in the given clipboard format.
If the format is not supported, an exception is generated
The identifier for the clipboard format
Reads the picture from a clipboard of type ClipboardType using the format FormatID
SaveToClipboardFormats
- Allocates a global handle and writes the picture in its native clipboard format
SaveToClipboardFormats
- ToDo: Allocates a global handle and writes the picture in its native clipboard format (CF_BITMAP for bitmaps, CF_METAFILE for metafiles, etc.). Formats will contain the formats written. Returns the number of clipboard items written to the array pointed to by Formats and Datas or would be written if either Formats or Datas are nil.
Identity of the clipboard format
SupportsClipboardFormat
- Returns true if the given clipboard format is supported by

LoadFromClipboardFormat
Boolean - returns true if format supported
Identity of the clipboard format
Assign
- if the Source is a valid graphic type, copy the relevant details to the current object, otherwise call inherited Assign
Assign
- Copies the contents of the given

TPicture
. Used most often in the implementation of TPicture properties.
TPersistent.Assign
RegisterFileFormat
- Register a new

TGraphic
class for use in

LoadFromFile
RegisterClipboardFormat
- Registers a new

TGraphic
class for use in

LoadFromClipboardFormat
UnRegisterGraphicClass
- Removes all references to the specified

TGraphic
UnRegisterGraphicClass
- Removes all references to the specified

TGraphic
class and all its descendants from the file format and clipboard format internal lists
Clear
- removes the graphic
Bitmap
- Returns a bitmap
Bitmap
- Returns a bitmap. If the contents is not already a bitmap, the contents are thrown away and a blank bitmap is returned
Pixmap
- Returns a pixmap
Pixmap
- Returns a pixmap. If the contents is not already a pixmap, the contents are thrown away and a blank pixmap is returned
PNG
- Returns a png
PNG
- Returns a png. If the contents is not already a png, the contents are thrown away and a blank png (

TPortableNetworkGraphic
) is returned
Icon
contained within the picture
Graphic
- The

TGraphic
object contained by the

TPicture
Height
- The native, unstretched, height of the picture
Width
- The native, unstretched, width of the picture
OnChange
- Event handler for any change in the picture
OnProgress
- Event handler for monitoring progress in drawing the picture
EInvalidGraphic
- exception handler for an invalid graphic
EInvalidGraphicOperation
- exception handler for invalid graphic operation
TCanvas
represents a drawing surface which might be attached to a visual control which might be displayed on the screen or to an offscreen bitmap. It contains a number of drawing functions.
TCanvas
represents a drawing surface which might be attached to a visual control which might be displayed on the screen or to an offscreen bitmap. It contains drawing tools (brush, pen and font) to draw on this surface. This class defines a very large number of drawing methods including methods for pen and colour selection, producing shapes and filling them, setting or clearing individual pixels, and producing graphic text.
GetColor
- finds the Color of the pixels at x, y and returns the value converted to a FPColor
TFPCustomCanvas.GetColor
SetColor
converts the specified FPColor to a Color and applies it to the pixels at x, y
TFPCustomCanvas.SetColor
SetPenPos
moves pen to specified position
TFPCustomCanvas.SetPenPos
GetPixel
- retuns the colour of the pixel at the specified location
CreateBrush
creates necessary handles, sets up local defaults for style, hatching, background colour
TFPCustomCanvas.CreateBrush
CreateHandle
- greates a new Handle for the Canvas
CreatePen
sets up local handles and defaults for Pen creation, sets initial position of Pen
TFPCustomCanvas.CreatePen
CreateRegion
- creates a rectangular region for the Canvas
DeselectHandles
- remove from group of selected handles
PenChanging
- software emulation for call to OnChanging event for Pen
RealizeAutoRedraw
- implement the AutoDraw feature
RequiredState
- the set of Canvas State required (csHandleValid, csFontValid, csPenvalid, csBrushValid, csRegionValid)
SetHandle
- specify a Handle
SetInternalPenPos
- specify position for the Pen
SetPixel
- specify a colour for the stated pixel

Create - constructor for TCanvas: calls inherited Create and sets defaults for many properties and actions

Initialises Font, Pen and Brush, makes event handlers for these, sets up defaults for Alignment, Layout, Clipping and opacity

Create
- constructor for TCanvas: calls inherited Create and sets defaults for many properties and actions
TFPCustomCanvas.Create
TCanvas
and makes its resources available
Destroy
- destructor for TCanvas: frees handles and region, calls inherited Destroy, sets font, pen and brush resources to nil
TFPCustomCanvas.Destroy
Lock
the canvas, making it unavailble for drawing
Unlock
or release a previously locked Canvas
Refresh
the drawing of the Canvas
Changing
- software emulation of a call to the OnChanging event
Changed
- software emulation of a call to the OnChange event
Use Arc to draw an elliptically curved line with the current Pen
Method: TCanvas.Arc

Params: ALeft, ATop, ARight, ABottom, sx, sy, ex, ey

Returns: Nothing

Use Arc to draw an elliptically curved line with the current Pen. The values sx,sy, and ex,ey represent the starting and ending radial-points between which the Arc is drawn.
Use Arc to draw an elliptically curved line with the current Pen
Method: TCanvas.Arc

Params: ALeft, ATop, ARight, ABottom, angle1, angle2

Returns: Nothing

Use Arc to draw an elliptically curved line with the current Pen.

The angles angle1 and angle2 are 1/16th of a degree.

For example, a full circle equals 5760 (16*360).

Positive values of Angle and AngleLength mean counter-clockwise while negative values mean clockwise direction.

Zero degrees is at the 3 o'clock position.

Params: x1, y1, x2, y2, StartAngle16Deg, EndAngle16Deg

Use Chord to draw a filled Chord-shape on the canvas.

The angles angle1 and angle2 are 1/16th of a degree. For example, a full circle equals 5760(16*360).

Positive values of Angle and AngleLength mean counter-clockwise while negative values mean clockwise direction. Zero degrees is at the 3 o'clock position.

Alternatively the starting and ending points may be specified as radial points (sx, sy, ex, ey)

Draw a filled-chord shape starting and finishing at the specified angular positions on the circumference
Chord
draws a filled Chord-shape on the canvas
Method: TCanvas.Chord

Params: x1, y1, x2, y2, StartAngle16Deg, EndAngle16Deg

Returns: Nothing

Use Chord

to draw a filled Chord-shape on the canvas. The angles angle1

and angle2

are 1/16th of a degree. For example, a full circle equals 5760(16*360).

Positive values of Angle

and AngleLength

mean counter-clockwise while negative values mean clockwise direction.

Zero degrees is at the 3 o'clock position.
Copies the rectangle found at Source in SrcCanvas to the destination position Dest
TFPCustomCanvas.CopyRect
TFPCustomCanvas.Draw TCanvas.StretchDraw
Draw
- copies bounds from SrcGraphic, then calls StretchDraw to perform the drawing
TFPCustomCanvas.StretchDraw TGraphic.Draw
StretchDraw
- uses the Draw method of the source graphic ( TGraphic)
Ellipse
draws a filled circle or ellipse on the canvas, using the method for the current interface or widget set
TFPCustomCanvas.Ellipse LCLIntf.Ellipse
Ellipse
draws a filled circle or ellipse on the canvas
Method: TCanvas.Ellipse

Params: X1, Y1, X2, Y2

Returns: Nothing
Use Ellipse to draw a filled circle or ellipse on the canvas.
FillRect
- draw a filled rectangle in the specified coordinate space, using the method for the current interface or widget set
LCLIntf.FillRect
FillRect
- draw a filled rectangle in the specified coordinate space
TFPCustomCanvas.FloodFill LCLIntf.FloodFill
FloodFill
flood-fills an area with the given colour, starting from the specified point; uses the FloodFill method for the current interface or widget set
Frame3d
- produce a frame with 3-D effect (with bevelled edges etc) in the specified rectangle
LCLIntf.Frame3d
Produce a Frame or border around the specified rectangle with a Pen; uses the Frame method of the current interface or widget set
LCLIntf.Frame
Produce a Frame or border around the specified rectangle using a Pen
FrameRect
- produce a border around the specified rectangle with a Brush; uses the FrameRect method of the current interface or widget set
LCLIntf.FrameRect
FrameRect
- produce a border around the specified rectangle using a Brush
RadialPie
- draw a filled pie-shaped wedge on the canvas with specified start and end coordinates, and starting and ending angular positions
RadialPie
- draw a filled pie-shaped wedge on the canvas with specified start and end coordinates, and starting and ending angular positions

Params: x1, y1, x2, y2, StartAngle16Deg, EndAngle16Deg: Integer

Use Pie to draw a filled pie-shaped wedge on the canvas.

The angles StartAngle16Deg and EndAngle16Deg are 1/16th of a degree. For example, a full circle equals 5760 (16*360).

Positive values of Angle and AngleLength mean counter-clockwise while negative values mean clockwise direction. Zero degrees is at the 3 o'clock position.

RadialPie
uses

Pie
to draw a filled pie-shaped wedge on the canvas
Method: TCanvas.RadialPie

Params: x1, y1, x2, y2, StartAngle16Deg, EndAngle16Deg: Integer

Returns: Nothing

Uses Pie

to draw a filled pie-shaped wedge on the canvas.

The angles StartAngle16Deg

and EndAngle16Deg

are 1/16th of a degree.

For example, a full circle equals 5760 (16*360).

Positive values of Angle and AngleLength mean counter-clockwise while negative values mean clockwise direction.

Zero degrees is at the 3 o'clock position
Pie
draws a filled Pie-shaped wedge on the canvas
Method: TCanvas.Pie

Params: EllipseX1, EllipseY1, EllipseX2, EllipseY2, StartX, StartY, EndX, EndY

Returns: Nothing

Use Pie to draw a filled Pie-shaped wedge on the canvas. The pie is part of an ellipse between the points EllipseX1, EllipseY1, EllipseX2, EllipseY2. The values StartX, StartY and EndX, EndY represent the starting and ending radial-points between which the Bounding-Arc is drawn.
Polybezier
draws cubic Bezier curves
Polybezier
draws cubic Bezier curves
Method: TCanvas.PolyBezier

Params: Points, Filled, Continous

Returns: Boolean

Use Polybezier

to draw cubic Bezier curves.

The first curve is drawn from the first point to the fourth point with the second and third points being the control points.

If the Continuous flag is TRUE then each subsequent curve requires three more points, using the end-point of the previous Curve as its starting point, the first and second points being used as its control points, and the third point its end-point.

If the continous flag is set to FALSE, then each subsequent Curve requires 4 additional points, which are used exactly as in the first curve.

Any additonal points which do not add up to a full bezier(4 for Continuous, 3 otherwise) are ingored. There must be at least 4 points for an drawing to occur.

If the Filled Flag is set to TRUE then the resulting Poly-Bezier will be drawn as a Polygon.
Polygon
draws a closed, many-sided shape on the canvas, using the value of Pen
Polygon
draws a closed, many-sided shape on the canvas, using the value of Pen
Method: TCanvas.Polygon

Params: Points: array of TPoint; Winding: Boolean = False; StartIndex: Integer = 0; NumPts: Integer = -1

Returns: Nothing

Use Polygon

to draw a closed, many-sided shape on the canvas, using the value of Pen

. After drawing the complete shape, Polygon

fills the shape using the value of Brush

.

The Points

parameter is an array of points that give the vertices of the polygon.
Winding

determines how the polygon is filled. When Winding

is True, Polygon

fills the shape using the Winding

fill algorithm.

When Winding

is False, Polygon

uses the even-odd (alternative) fill algorithm.
StartIndex

gives the index of the first point in the array to use. All points before this are ignored.
NumPts

indicates the number of points to use, starting at StartIndex

.

If NumPts

is -1 (the default), Polygon

uses all points from StartIndex

to the end of the array.

The first point is always connected to the last point.

To draw a polygon on the canvas, without filling it, use the Polyline

method, specifying the first point a second time at the end.
Polyline
connects a set of points on the canvas
Polyline
connects a set of points on the canvas
Polyline
connects a set of points on the canvas
Method: TCanvas.Polyline

Params: Points: array of TPoint; StartIndex: Integer = 0; NumPts: Integer = -1

Returns: Nothing

Use Polyline

to connect a set of points on the Canvas

. If you specify only two points, Polyline

draws a single line.

The Points

parameter is an array of points to be connected.
StartIndex

identifies the first point in the array to use.
NumPts

indicates the number of points to use. If NumPts

is -1 (the default), PolyLine

uses all the points from StartIndex

to the end of the array.

Calling the MoveTo

function with the value of the first point, and then repeatedly calling LineTo

with all subsequent points will draw the same image on the canvas. However, unlike LineTo

, Polyline

does not change the value of PenPos

.
Draws a Rectangle at the specified coordinates, using the Rectangle method for the current interface or widget set
TFPCustomCanvas.Rectangle LCLIntf.Rectangle
Draws a Rectangle at the specified coordinates
RoundRect
- draws a rectangle at the specified position, with corners rounded by the factors RX, RY; uses the RoundRect mathod of the current interface or widget set
LCLIntf.RoundRect
RoundRect
- draws a rectangle at the specified position, with corners rounded by the factors RX, RY
Writes the Text string at the position X, Y on the canvas and leaves the pen at the end of the text; uses the ExtUTF8Out method of the current interface or widget set
LCLIntf.ExtUTF8Out TFPCustomCanvas.TextOut
TextRect
- writes the specified text string in the rectangle at specified position, with optionally specified style
Writes Text string within a specified rectangle, according to predefined Style
Writes Text string within a specified rectangle, according to predefined Style
The boundaries of the rectangle are specified in ARect
X, Y
specify the starting point for writing the Text within the rectangle
TextStyle
determines whether the text is justified, centered, word-wrapped etc. If the Style argument is omitted, defaults are assumed
TextExtent
- returns the total size of the specified text
TextHeight
- returns the height of the specified text
TextWidth
- returns the width of the specified text
HandleAllocated
- returns True if a handle has been allocated
GetUpdatedHandle
- returns the value of the updated Handle
The colour of the Pixels located at the specified position
The operating system Handle for this object
The TextStyle to be used in this Canvas
AutoRedraw
- if True, the Canvas is to be redrawn automatically after each change or update
The Brush to be used for painting this Canvas
TFPCustomCanvas.Brush
The CopyMode to be used (arbitrary number)
TFPCustomCanvas.Font
The Font to be used for text in this canvas
TFPCustomCanvas.Pen
The Pen to be used for writing in this canvas
The Regionwhere the Canvas is located
Event handler for a change in the canvas
Event handler while canvas is changing
TSharedImage
- base class for reference counted images
Increase reference count
Decrease reference count
Release the handle for this image and free its resources
The number of references to this shared image
Has a handle been allocated for this image?
The place where the actual image of a bitmap is stored

Descendant of TSharedImage for TBitmap.

If a TBitmap is assigned to another TBitmap, only the reference count will be increased and both will share the same TBitmapImage
Release the handle for the bitmap mask
Release the bitmap handle
Is the bitmap image empty?
Find the format for the pixels (ie the number of bits per pixel)
BitmapImage destructor
Determine the type of the bitmap handle
The stream to which the data are to be saved
The type of the stream for saving the data
TBitmap
is the data of an image, and can be loaded from a file, stream or resource in .bmp or .xpm format

TBitmap is the data of an image. The image can be loaded from a file, stream or resource in .bmp (windows bitmap format) or .xpm (XPixMap format)

The loading routine automatically recognizes the format, so it is also used to load the images from Delphi form streams (e.g. .dfm files) or FreePascal/Lazarus form streams (.lfm)

When the handle is created, it is up to the interface (gtk, win32, ...) to convert it automatically to the best internal format. That is why the Handle is interface dependent.

To access the raw data, see TLazIntfImage

BitMap
constructor
BitMap
constructor. The supplied code can

override the definition from ancestor classes
BitMap
destructor
BitMap
destructor. The supplied code can

override the method defined for ancestor classes
Assign
: find out about the Source of the call.
Assign
: find out about the Source of the call. If the

BitMap
data are already in use, the data are shared; if not, a new

BitMap
is produced
Release (remove) the image, freeing the resources used
Is a handle allocated for this bitmap?
Returns TRUE if a handle has been allocated
Is a handle allocated for the bitmap mask?
Returns TRUE if a mask handle has been allocated
Has a colour palette been allocated for this bitmap?
Returns TRUE if a colour palette has been allocated
Create an image in the specified rectangle, using the given bitmap and mask handles
LoadFromDevice
: obtain

BitMap
data from a device with Handle

DC
Checks that the Resource Type specified in the string argument is a valid Lazarus type
Returns TRUE if a valid resource type is found
The target resource type specified as a string
LoadFromLazarusResource
: obtain data from a valid Lazarus Resource Stream
LoadFromLazarusResource
: obtain data from a valid Lazarus Resource Stream

Checks for the presence of a valid Lazarus Resource, then uses

LoadFromStream
to acquire the data
ToDo
ToDo
LoadFromMimeStream
- get

Bitmap
data from the specified MIME stream
Gets a list of the supported MIME types for the source file
Finds the default MIME type
LoadFromXPMFile
: obtain data from file in native

PixMap
format
Masks the bitmap using a transparent colour
Saves bitmap data to a stream
Reads data from a stream
Writes data to a stream
Release the bitmap handle, effectively freeing resources
Release the current palette
Get the appropriate FPReader for the given file extension
Get the default FPReader
Get the default FPWriter
Read Bitmap data from stream using the FPImage reader
Write bitmap data to a native stream
Create an interface image
The canvas on which this bitmap is drawn

The Canvas is where all the drawing and painting is performed.

The properties are described in TCanvas

The operating system Handle ssociated with this bitmap
The type of system handle
The system handle associated with the bitmap mask
Whether using monochrome display
PixelFormat - number of bits per pixel
The transparent colour used for masks etc
The mode used for transparency
PixMap
- a class derived from

TBitMap
, with wrapper to deal specifically with PixMaps (ie using 'XPM' format)
PixMap
- Checks that specified resources (PixMap image, File for storage, Stream for writing) are of correct type and format, organises saving and writing
Returns True if resource type is 'XPM'
WriteStream
- writes PixMap data to specified stream
True
if size of data in stream has been specified
GetDefaultFPReader
- obtains the correct tool
Returns the correct tool for reading
GetDefaultFPWriter
- obtains the correct tool
Returns the correct tool for writing
A class of Bitmap using the FPImage reader and writer (ie customised for FreePascal)
IsFileExtensionSupported
- returns True if the given file extension is supported?
Get the FPReader tool appropriate to the given file extension
Get the FPWriter tool appropriate for the given file extension
Get the default FPReader, if no extension-specific tool
Get the default FPWriter, if no extension-specific tool
Read the data from a Stream
TRasterImage.ReadStream
Write the data to a stream
TRasterImage.WriteStream
Get the default MIME type for this bitmap
TPortableNetworkGraphic
- a PNG image
TIcon
- icons, small images typically associated with applications, controls, etc.

Icons can be loaded from .ICO files, or from Lazarus resources.

An icon resource typically contains several versions of the same image, in multiple resolutions and color depths.

When loading, the largest/most colourful image is loaded as the Bitmap property, and so can be handled as any other bitmap.

Writing to icon files is not (yet) implemented.
Bitmaps
- the list of alternative bitmaps (of various sizes)
TIcon
destructor
TIcon
destructor. Method can

override the destructor defined in ancestor classes
Add a bitmap to the current list
Note that Ownership passes to TIcon
ColorToIdent - given a Color value, find its name (Ident) in the look-up table of Colors
Returns True if there is a valid entry in the Colors look-up table
the Color value to be sought in the look-up table
Ident
- the name of the supplied

Color
as found in the look-up table of

Colors
IdentToColor
- given a colour identifier (name) returns the colour value
Returns True if Ident is part of a valid entry in the look-up table of Colors
Ident
- the suppied name for the required

Color
The Color returned from the look-up table, with the name supplied in Ident
SysColorToSysColorIndex
- if

Color
is one of the system colours, returns the

Index
of the system colour
If Color is not a system color, returns -1
Returns the Index value of the Color if it is a system colour, otherwise returns -1
The Color for processing
ColorToRGB
- given a

Color
value, converts into

RGB
Returns the original Color transformed to RGB
The original Color for processing
ColorToString
- given a colour value, returns a corresponding colour name like 'Green'
Returns the name of the colour, expressed as a string (like 'Green')
The Color value for processing
StringToColor
- given a colour name like 'Blue', returns the corresponding colour value
Returns the colour corresponding to the name in String S
S
- the name of the required colour, expressed as a string
Finds the Blue component of the supplied colour
Returns the Blue component of the colour specified in RGB
The colour for processing, expressed as a RGB value
Finds the Green component of the supplied colour
Returns the Green component of the colour specified in RGB
The colour for processing, expressed as RGB
Finds the Red component of the supplied colour
Returns the Red component of the colour specified in RGB
The colour for processing, expressed as RGB
RedGreenBlue
- decomposes a composite colour into its component Red, Green and Blue values
The colour for processing, expressed as RGB
The Red component of the colour defined in RGB
The Greencomponent of the colour defined in RGB
The Blue component of the colour defined in RGB
FPColorToTColor
- converts a colour specified as a

FPColor
to a colour of type

TColor
Returns the colour specified in FPColor as a colour of type TColor
The colour for processing, expressed as a FPColor
TColorToFPColor
- converts a colour of type

TColor
to one specified as a

FPColor
Returns the colour specified as a FPColor
c
- the supplied colour specified as type

TColor
Check that the Resource specified for reading or writing is a valid type - result True if it is
The Resource type which is to be checked
Load the graphic data from a resource identified by the name ResName with the Handle 'Instance'
Load graphic data from a resource identified by the integer identifier ResID
Loads picture from a named data stream with a specified file extension
Finds a graphic class with the named file extension Ext, returning an exception if not found
Jpeg
- returns a JPEG image

Jpeg - returns a JPEG image

If the contents is not already a JPEG image, the contents are thrown away and a blank JPEG is returned

PNM
- a

PortableAnyMapGraphic image

PNM - a

PortableAnyMapGraphic image

Reads a PNM image. If it is not a valid PNM image, the contents are thrown away and a blank PNM is generated

TJPEGImage
- a class for handling images stored in JPEG (compressed) format

JPEG images are very commonly used for storing digital photographs. They can represent detailed colour photos using a high degree of compression, resulting in very efficient storage, though with some loss of quality.

The properties CompressionQuality (an integer between 1 and 100, with 100 representing the best quality) and Performance (an enumerated variable with two states: BestQuality or BestSpeed ie compression) can be used to determine the balance between efficiency of storage and quality of picture.

Initialise the FreePascal Image reader for this image type
Finalise the FreePascal Image reader
Initialise the FreePascal Image Writer for this image class
Determine the compression quality for this image

Extreme compression can lead to loss of quality at the expense of a small file size

Allowed range is 1..100

100 = best quality, 25 = pretty awful

Is this a grayscale image?
Is progressive encoding used for this JPEG?
Set for best quality or best speed
LoadFromIntfImage
- gets

Bitmap
data from an interface image
Finds the type of resource for the bitmap
Sets handles for the bitmap and its mask
Release the bitmap mask handle
Determine whether this instance of the class can read graphic streams
Free the colour palette used for this bitmap
Release the handle for the bitmap mask
Reklease the handle for the colour palette
The canvas for the bitmap (ie the actual contents of the picture)
The class of stream for saving data
Create
- constructor for TJPEGImage: performs inherited Create then initialises local variables for performance, quality and encoding
TObject.Create TCustomBitmap.Create
Monitoring the progress of drawing a complicated Graphic

TProgressEvent is a generic progress notification event which may be used by

TGraphic classes with computationally intensive (slow) operations, such as loading, storing, or transforming image data.

Event params:

Stage

Indicates whether this call to the OnProgress event is to prepare for, process, or clean up after a graphic operation. If OnProgress is called at all, the first call for a graphic operation will be with Stage = psStarting, to allow the OnProgress event handler to allocate whatever resources it needs to process subsequent progress notifications. After Stage = psStarting, you are guaranteed that OnProgress will be called again with Stage = psEnding to allow you to free those resources, even if the graphic operation is aborted by an exception. Zero or more calls to OnProgress with Stage = psRunning may occur between the psStarting and psEnding calls.

PercentDone | The ratio of work done to work remaining, on a scale of 0 to 100. Values may repeat or even regress (get smaller) in successive calls. PercentDone is usually only a guess, and the guess may be dramatically altered as new information is discovered in decoding the image. The value of this property could usefully be passed to a ProgressBar to show the user how drawing is progressing

RedrawNow

Indicates whether the graphic can be/should be redrawn immediately. Useful for showing successive approximations of an image as data is available instead of waiting for all the data to arrive before drawing anything. Since there is no message loop activity during graphic operations, you should call Update to force a control to be redrawn immediately in the OnProgress event handler. Redrawing a graphic when RedrawNow = False could corrupt the image and/or cause exceptions.

Rect | Area of image that has changed and needs to be redrawn.
Msg | Optional text describing in one or two words what the graphic class is currently working on. Ex: "Loading" "Storing" "Reducing colors". The Msg string can also be empty. Msg strings should be resourced for translation, should not contain trailing periods, and should be used only for display purposes. (Do not use the construct: if Msg = 'Loading' then...)

RGBToColor
- assembles the supplied values for Red, Green and Blue into a composite colour
LoadCursorFromLazarusResource
- loads a named cursor handle from the Lazarus Resource (.LRS)
CreateBitmapFromLazarusResource
- creates a bitmap image using data read into a stream from a Lazarus Resource (.LRS)
InvertColor
- returns the complementary colour to the supplied value - helps to produce a 'negative' image
DecColor
- decrease the component RGBs of a colour by the quantity specified (usually results in a darker colour overall)
TCustomBitMap
- the base class for

TBitmap
TPortableAnyMapGraphic
- a PAM graphic image
TFPCanvasHelper.DoAllocateResources
DoAllocateResources
- calls inherited method then calls GetReference
TFPCanvasHelper.DoCopyProps
DoCopyProps
- calls inherited method; if From argument is another Font, copies specified properties directly
TFPCanvasHelper.DoDeAllocateResources
DoDeAllocateResources
- frees references then calls inherited method
TFPCanvasHelper.SetFlags
SetFlags
- if the passed argument AValue for the Index is the same, returns unchanged; otherwise, calls inherited method and sets style flags as appropriate
TFPCanvasHelper.SetFPColor
SetFPColor
converts TFPColor to TColor
IsEqual
- returns True if this Font is the same as the specified Font
IsMonoSpace
- returns True if this is a MonoSpace Font
SetDefault
- method for setting the default Font
Reference
- References made to this Font
A Reference made to this Pen
DoAllocateResources
- calls inherited method then calls GetReference
TFPCanvasHelper.DoAllocateResources
DoDeAllocateResources
- frees reference then calls inherited method
TFPCanvasHelper.DoDeAllocateResources
DoCopyProps
- if the Fromargument is another Brush, frees reference before calling inherited method, then sets the Changed property
TFPCanvasHelper.DoCopyProps
A Reference made to the current Brush
A Reference to the current Region
GetResourceType
- returns the type of a resource to be used in the graphic
DoCreateDefaultFont
- calls TFont.Create to create a default fomt
TFPCustomCanvas.DoCreateDefaultFont TFont.Create
DoCreateDefaultPen
- calls TPen.Create to create a default pen
TFPCustomCanvas.DoCreateDefaultPen TPen.Create
DoCreateDefaultBrush
- calls TBrush.Create to create a default brush
TFPCustomCanvas.DoCreateDefaultBrush TBrush.Create
SetHeight
- should never be called for Canvas: raises an exception if it is called
If called, raises an exception: 'TCanvas.SetHeight not allowed for LCL canvas'
TFPCustomCanvas.SetHeight
GetHeight
- if a handle has been allocated, returns the height from the device size
TFPCustomCanvas.GetHeight
SetWidth
- should never be called; raises an exception if it is called
Raises an exception: 'TCanvas.SetWidth not allowed for LCL canvas'
TFPCustomCanvas.SetWidth
GetWidth
- if a handle has been allocated, returns the width from the device size
TFPCustomCanvas.GetWidth
DoLockCanvas
- enters critical locking section then calls inherited method
TFPCustomCanvas.DoLockCanvas
DoUnlockCanvas
- leaves the critical locking section then calls inherited method
TFPCustomCanvas.DoUnlockCanvas
DoTextOut
calls TextOut for the specified coordinates and string
TFPCustomCanvas.DoTextOut TCanvas.TextOut
DoGetTextSize
calls TextExtent to find width and height of specified text string
TFPCustomCanvas.DoGetTextSize TCanvas.TextExtent
DoGetTextHeight
calls TextHeight to return the height of the text
TFPCustomCanvas.DoGetTextHeight TCanvas.TextHeight
DoGetTextWidth
calls TextWidth to return the width of the given text string
TFPCustomCanvas.DoGetTextWidth TCanvas.TextWidth
DoRectangle
calls Frame to draw a rectangle in the given bounds
TFPCustomCanvas.DoRectangle TCanvas.Frame
DoRectangleFill
calls FillRect to draw a filled rectangle with the given bounds
TFPCustomCanvas.DoRectangleFill TCanvas.FillRect
DoRectangleAndFill
- calls Rectangle to draw a rectangle and fill it
TFPCustomCanvas.DoRectangleAndFill TCanvas.Rectangle
DoEllipse
draws an Arc of 360 degrees within given Bounds, making an ellipse
TFPCustomCanvas.DoEllipse TCanvas.Arc
DoEllipseFill
calls Ellipse
TFPCustomCanvas.DoEllipseFill TCanvas.Ellipse
DoEllipseAndFill
- calls inherited DoEllipseAndFill
TFPCustomCanvas.DoEllipseAndFill
DoPolygon
calls PolyLine to draw a series of lines through the points
TFPCustomCanvas.DoPolygon TCanvas.PolyLine
DoPolygonFill
calls Polygon for the suppied points
TFPCustomCanvas.DoPolygonFill TCanvas.Polygon
DoPolygonAndFill
calls inherited method
TFPCustomCanvas.DoPolygonAndFill
DoPolyline
calls PolyLine
TFPCustomCanvas.DoPolyline TCanvas.PolyLine
DoFloodFill
calls FloodFill
TFPCustomCanvas.DoFloodFill TCanvas.FloodFill
DoMoveTo
calls MoveTo
TFPCustomCanvas.DoMoveTo
DoLineTo
calls LineTo
TFPCustomCanvas.DoLineTo
DoLine
calls Line to draw from x1, y1 to x2, y2
TFPCustomCanvas.DoLine
DoCopyRect
checks that SrcCanvas is of correct type then copies coordinates and calls CopyRect
If SrcCanvas is not of type TCanvas then writes a warning to the debug output that copying is not supported
TFPCustomCanvas.DoCopyRect TCanvas.CopyRect
DoDraw
checks that Image is of the right type, makes a local copy, creates the necessary handles and bitmaps for drawing
TFPCustomCanvas.DoDraw
CheckHelper
- ignored by current class
Writes a message to debug output that the call is ignored
TFPCustomCanvas.CheckHelper
GetClipRect
- if an error is encountered in finding the Clipping Rectangle dimensions, sets some defaults anyway
TFPCustomCanvas.GetClipRect
FontChanging
- software emulation for call to OnChanging event for Font
BrushChanging
- software emulation for call to OnChanging event for Brush
RegionChanging
- software emulation for call to OnChanging event for Region
FreeHandle
- release a Handle
SaveHandleState
- stores the state of the Handle
RestoreHandleState
- retrieves the saved state of the Handle
DrawFocusRect
- draws a focused rectangle at the specified position
GradientFill
- fill the specified rectangle with the specified colours in a gradient with the specified direction
TFPCustomCanvas.Height
The Height of the canvas
TFPCustomCanvas.Width
The Width of the Canvas
TCustomBitmapImage
- the base type for

TBitmapImage
Release the handle for the bitmap mask
Free the colour palette used for this bitmap
Release the bitmap handle
Returns True if bitmap handle is correctly released
Release the handle for the bitmap mask
Returns True is mask handle was correctly released
Release the handle for the colour palette
Returns True if palette was correctly released
Is the bitmap image empty?
Returns True if bitmap is empty
Find the format for the pixels (ie the number of bits per pixel)
BitmapImage destructor
Determine the type of the bitmap handle
The canvas for the bitmap (ie the actual contents of the picture)
The stream to which the data are to be saved
The type of the stream for saving the data
The class of stream for saving data
Draw the bitmap on the specified Canvas at the specified coordinates
The canvas on which the bitmap is to be drawn
The rectangular coordinates where the canvas containing the bitmap is located
BitMap
constructor. The supplied code can

override the definition from ancestor classes
Create
- constructor for TCustomBitmap: performs inherited Create and initialises pixel format
TObject.Create
BitMap
destructor. The supplied code can

override the method defined for ancestor classes
Destroy
- destructor for TCustomBitmap: frees any Mask handles, then performs inherited Destroy
TPersistent.Destroy
Assign
: find out about the

Source
of the call.

Assign: find out about the

Source of the call.

If the BitMap data are already in use, the data are shared; if not, a new BitMap is produced

The Source control (usually a Bitmap) for the Assign procedure
Releases all the resources used for the image that is being discarded
Is a handle allocated for this bitmap?
Returns True if a handle is allocated
Returns True is a mask handle has been allocated
Returns True if a palette has been allocated
Create an image in the specified rectangle, using the given bitmap and mask handles
Returns TRUE if a valid resource type is found
The target resource type specified as a string
Load a bitmap from the nominated Device
The handle for the device from which the bitmap is to be loaded
Load a bitmap from a stream
The stream from which the bitmap is to be loaded
Load a bitmap from a MIME type stream
The stream from which the bitmap is to be loaded
The MIME type of the stream from which the bitmap is to be loaded
Load a bitmap from a Lazarus interface image
The Lazarus interface image from which the bitmap is to be loaded
Load a bitmap from a XPM file (pixmap)
The name of the file from which the bitmap is to be loaded
Saves bitmap data to a stream
Gets a list of the supported MIME types for the source file
Finds the default MIME type
Finds the available file extensions
Masks the bitmap using a transparent colour
Reads data from a stream
Writes data to a stream
Release the bitmap handle, effectively freeing resources
Returns True if handle has been correctly released
Release the bitmap mask handle
Returns True if the Mask handle has been correctly released
Release the current palette
Returns True if the palette has been correclty released
Get the appropriate FPReader for the given file extension
Get the appropriate FPWriter for the given file extension
Get the default FPReader
Get the default FPWriter
Read Bitmap data from stream using the FPImage reader
Write bitmap data to a native stream
Create an interface image
The Canvas on which this bitmap is drawn

The Canvas is where all the drawing and painting is performed.

The properties are described in TCanvas

The operating system Handle ssociated with this bitmap
The type of system handle
The system handle associated with the bitmap mask
Whether using monochrome display
PixelFormat
- number of bits per pixel
The transparent colour used for masks etc
The mode used for transparency
TCursorImage
- an Icon to be used to represent a cursor
HotSpot
- the coordinates of the point to which the cursor refers, and which represents the 'active' position on the current form or canvas
IdentEntry
- checks that a given Entry exists in a Map of colour names

IdentEntry - checks that a given Entry exists in a Map of colour names

A list of system Colors is specified as a look-up table of indices (Entry) and names (MapEntry)

This function checks that the value in

Entry is within the permitted range, and returns the data pair

Value,

Name of the corresponding colour in

MapEntry.

If Entry is out of range the Result is False

If Entry is out of the range [0..High(Colours)] the Result is returned as False
True if Entry was a valid index into the Colour look-up table
Entry
- a numeric index into the table of colours
MapEntry
- the record of

Value
,

Name
returned from the look-up table of

Colors
Returns the inverse of the original colour (ie a 'negative' effect)
AColor
- the original colour for processing
Returns a copy of the original colour, decremented by a specified amount
AColor
- the original colour for processing
AQuantity
- the amount by which the colour is to be changed
Deprecated - technically a bitmap is created, not loaded
Deprecated - technically a bitmap is created, not loaded
Returns a Bitmap of type TCustomBitMap
AName
- name of the bitmap to be created
AMinimumClass
- optional specifier for class of resource
AHandle
- optional handle supplied for resource
Determine whether this instance of the class can read graphic streams
Class of image processor to be used for reading the bitmap
Returns True if the supplied class is capable of reading graphic streams
EGraphicException
- exception handler for error in graphics
TSharedRasterImage
- a reference counted raster image (may be shared between several controls)
ReleaseHandle
- returns the identity of the handle that has just been released
IsEmpty
- checks if there is actually an image at the reference, and returns True if there is not
CreateDefaultHandle
- virtual abstract method for creating a default handle for the shared raster image
BitmapCanvas
- the canvas to be used for painting this bitmap
SaveStream
- the memory stream to be used for saving this image
TSharedRasterImageClass
- class of TSharedRasterImage
TRasterImage
- base class for a number of graphic controls, including TCustomBitmap and TCustomIcon, which use a raster of dots to display graphic information
FSharedImage
- local variable for storing a shared raster image
CanShareImage
- returns True if specified class of image can be shared
Changed
- method to call when properties have changed
TGraphic.Changed
CreateDefaultBitmapHandle
- returns a bitmap handle matching the description ADesc
GetHandle
- returns the Handle for the Image
GetBitmapHandle
- returns a Birmap Handle for the Image
GetMaskHandle
- returns a bitmap handle for the Mask
GetPixelFormat
- returns the pixel format for the Image
GetSharedImageClass
- returns the class of Shared Raster Image
BitmapHandleNeeded
- method to signal that a bitmap handle is requires
HandleNeeded
- method to signal that a handle is required
MaskHandleNeeded
- method to signal that a handle is required for the Mask
PaletteNeeded
- method to signal that a Palette is required
InternalReleaseBitmapHandle
- releases Bitmap Handle and returns its value
InternalReleaseMaskHandle
- releases Mask Handle and returns its value
InternalReleasePalette
- releases Palette Handle and returns its value
SetBitmapHandle
- specifies a handle for Bitmap
SetMaskHandle
- specifies a Handle for the Mask
UnshareImage
- stops an image from being shared: if CopyContent is True, the Image gets copied
UpdateHandles
- called when handles are created from rawimage (true when handle changed)
SaveStreamNeeded
- method to signal that a stream for saving is required
FreeSaveStream
- method to release a stream previously used for saving
ReadStream
- loads imagedata into rawimage, this method shouldn't call changed()
SetSize
- specifies height and width of Image
SetHandle
- specifies Handle for Image
SetTransparentMode
- specifies which transparent mode to use
SetPixelFormat
- specifies the format for Pixels in this Image
WriteStream
- specifies which stream to be used for writing
Destroy
- destructor for TRasterImage: frees canvas, releases image then calls inherited Destroy
TPersistent.Destroy
Assign
- copies details from Source according to data type
TGraphic.Assign
FreeImage
- method for freeing or detaching image from the Raster
BitmapHandleAllocated
- returns True if a handle has been allocated for the Bitmap
MaskHandleAllocated
- returns True if a handle has been allocated for the Mask
PaletteAllocated
- returns True if a Palette has been allocated
LoadFromBitmapHandles
- loads the data from the Bitmap and Mask specified by their handles
LoadFromDevice
- loads data from the device specified by its handle DC
LoadFromStream
- loads data for the image from a specified data stream, optionally supplying its size
LoadFromMimeStream
- loads data for the image from a specified MIME stream
TGraphic.LoadFromMimeStream
LoadFromIntfImage
- loads image data from an Interface stream
SaveToStream
- write graphic data to a stream
TGraphic.SaveToStream
SaveToStream
- write graphic data to a stream, with many error checks
GetSupportedSourceMimeTypes
calls inherited method and allows addition of extra types not specified there
TGraphic.GetSupportedSourceMimeTypes
The Mask to be used with the Image
SetHandles
- allows the user to specify handles
ReleaseBitmapHandle
- releases the handle used by the Bitmap
ReleaseMaskHandle
- releases the Handle used for the Mask
ReleasePalette
- release the Handle used for the Palettte
CreateIntfImage
- creates an image on the Interface
The Canvas on which this raster image is to be painted
HandleAllocated
- if True, an Operating System handle has been allocated
BitmapHandle
- the Handle that has been allocated for the Bitmap
MaskHandle
- the handle that has been allocated for the Bitmap Mask
PixelFormat
- the format of the Pixels in this Image
TransparentColor
- the colour used in transparent mode
In TransparentMode it is possible to see the underlying objects through the current image
TSharedCustomBitmap
- a reference counted base class for TSharedBitmap, TSharedPixmap, TSharedJPEGImage, TSharedPortableNetworkGraphic and TSharedPortableAnyMapGraphic
FreeHandle
frees Palette then calls inherited FreeHandle
TSharedImage.FreeHandle
FreePalette
- release the Palette
FreeImage
- release the Image from the Bitmap
ReleasePalette
- returns the Handle of the released Palette
GetPixelFormat
- returns the format for the Pixels in this Bitmap
Create
- constructor for TSharedCustomBitmap: calls inherited Create and initialises the image
TObject.Create
Destroy
- destructor for TSharedCustomBitmap: frees stream, handle and image, then calls inherited Destroy
TObject.Destroy
ImageAllocated
- returns True if an image has been allocated
HandleType
the type of Bitmap Handle that has been allocated
The Height of the Bitmap
The Width of the Bitmap
RawimageNeeded
- method to signal that a raw image is required; if ADescOnly is True, only a descriptor is required
SetSize
- allows the user to specify the size of the Bitmap
TRasterImage.SetSize
GetReaderClass
- returns the class of reader for acquiring data from a stream
GetWriterClass
- returns the class of writer for storing data to a stream
InitializeReader
- starts up the specified reader to read th especified Image
InitializeWriter
- starts up the specified writer to store the specified Image
FinalizeReader
- ends the Image reading process
FinalizeWriter
- ends the Image writing process
TSharedBitmap
- a reference counted Bitmap graphic
TSharedPixmap
- a reference counted Pixmap graphic
TSharedPortableNetworkGraphic
- a reference counted PNG Image
TSharedPortableAnyMapGraphic
- a reference counted shared PAMG
TIconImage
- a primitive Icon class with handles for the Bitmap, Mask and Palette
TSharedIcon
- a reference counted shared Icon
GetImagesClass
- finds which class of icon images is being referenced
Create
- constructor for TSharedIcon: performs inherited Create then creates a list of images
TObject.Create
Destroy
- destructor for TSharedIcon: frees the list of images and performs inherited Destroy
TObject.Destroy
Clear
- remove the icon and free its resources
Delete
- remove the icon with specified index
GetIndex
- returns the Index of an image with specified pixel format, height and width
Create
- Specifies a Raw image to be used, then used Inherited Create
TObject.Create
ReleaseHandle
- returns Bitmap handle to Operating system
ReleaseMaskHandle
- returns mask Bitmap handle to operating system
ReleasePalette
- returns Palette handle to operating system
UpdateHandles
- returns True when Bitmap and Mask handles have been updated
The Height of the Icon
The Width of the Icon
PixelFormat
- the format of the Pixels in the Image
Handle
- for the Bitmap
MaskHandle
- Bitmap handle for the Mask
Handle for the Palette
TCustomIcon
- base class for TIcon
FCurrent
- local variable to hold current sequence number
GetIndex
- returns the Index value of the Icon with specified format and size (.icn files can contain several versions of image)
UpdateCurrentView
- updates the current appearance of the Icon
Add
- an Icon formatted as AFormat, with specified Height and Width
Assign
checks if Source is correct data type, then copies image data
TPersistent.Assign
Clear
the Icon and release its resources
TGraphic.Clear
Delete
the indexed Icon
Remove
the Icon specified by AFormat, AHeight and AWidth
GetDescription
- find the description for the Icon
Aindex
- the Index value for the Icon
AFormat
- the Pixel Format for the Icon
AHeight
- the height of the Icon
AWidth
- the width of the Icon
SetSize
- write the size (width, height) of the Icon
TRasterImage.SetSize
TGraphic.GetFileExtensions
GetFileExtensions
returns valid file extensions, in this case 'ico'
Current
- the sequence number of the current Icon
Count
- the number of references to this Icon
ReleaseHandle
- frees the handle that was iused for the Icon
The Operating System Handle used for the Icon
TSharedCursorImage
- a reference counted shared image to be used for cursors
TCursorImageImage
- the image for a cursor, stored as an Icon
HotSpot
- the coordinates of the point to which the cursor refers, and which represents the 'active' position on the current form or canvas
ReleaseHandle
- free the handle used for the cursor Image
The Operating System Handle allocated for this cursor
TSharedJpegImage
- a reference counted shared image of type JPEG
Add
a reference to the shared icon
Count
- returns the number of references to the shared icon
BeginUpdate
- start the update process
BeginUpdate
- start the update process; by default the boolean argument ACanvasOnly is False, ie more than just the Canvas is to be updated
EndUpdate
- finishes the update process
EndUpdate
- finishes the update process. By default the boolean argument AStreamIsValid is False, ie no stream is valid at the end of the process. be carefull with this, modify only within a begin/endupdate
GetSize
- finds the size of the Image
Masked
- returns True if a Mask is being applied
RawImage
- allows the user to access the Raw Image: CAUTION!
RawImage
- allows the user to access the Raw Image: CAUTION! Modify only within a begin/endupdate.
PixelFormat
- the format for the Pixels in this Bitmap
RawImageNeeded
- if ADescOnly is True (descriptor only), then we need a Raw Image
AssignImage
- copies information from the source image to the current one
GetBestIndexForSize
- returns the best estimate of the index value for size
GetMasked
- returns True if the Image is Masked
GetRawImagePtr
- returns a pointer to the Raw Image
GetRawImageDescriptionPtr
- returns a pointer to a raw image description
SetMasked
- specifies if the image is to be masked
RequestTransparentColor
- returns a color to be used for transparent Images
FreeMaskHandle
- method to release Mask handle
FRequestedSize
- local variable to hold requested size of Icon
CheckRequestedSize
- method to ensure correct size requested
GetDefaultSize
- returns default size for Icon
GetTypeID
- returns Identifier for type of Icon
TFPImageBitmapClass
- class of TFPImageBitmap
FindPen
- returns a ResourceCacheItem corresponding to the nominated Handle
FindPenDesc
- returns a descriptor for the given pen and pattern
Add
- returns a cache descriptor corresponding to the pen that has been added to the cache
SetEndCap
- specified the type of end cap to be used for the pen, if it is a geometric pen
SetJoinStyle
- specifies the style to be used by the geometric pen when lines join (at corners etc)
GetPattern
- returns the pattern for the pen
SetPattern
- specifies the pattern for the pen
Whether the Pen is Cosmetic, ie non-geometric
Pens can be Cosmetic and Geomeric. Cosmetic pens are always 1 pixel wide, while geometric pens can have any width. But width of geometric pens are defined in world units and thus depends on transforms (scaling, rotation, shear, reflection) applied to canvas. Operations with cosmetic pens are faster.
The sort of EndCap used on the Pen
The end cap can be: Round, Square and Flat. When end caps are round - last points are drawn round, when end caps are square - last points are drawn square. When end caps are flat - last points are not drawn at all.
JoinStyle
- the style of joint where two lines meet or cross
The join style can be: Round, Bevel and Miter. When style is Round then line joins are round. When style is Bevel then line joins are beveled. When style is Miter then line joins are mitered.
TPenHandleCacheDescriptor
- a cache descriptor for Pen Handles
ExtPen
- an external pen
The Pattern for this pen
AntialiasingMode
- anti-aliasing on, off or don't care
RealizeAntialiasing
- implement the Anti-aliasing feature
GetOrientation
- Returns the orientation for the font
FontData
- the data describing the font
The Orientation (wheteher horizontal or vertical etc) of the current font
GetClipping
returns True if clipping is being performed
SetClipping
specifies (via boolean argument) whether clipping is to be performed
TryLock
- examines the Lock state, and performs Lock if necessary