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 TControl.GetDefaultColor, TControl.GetColorResolvingParent or TControl.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 define the starting point for writing the Text within the rectangle.
TextStyle determines whether the text is justified, centered, word-wrapped, clipped at the rectangle boundaries, etc. If the Style argument is omitted, defaults are assumed.

Note: The exact text position depends on the specified rectangle, the TextStyle of the canvas, and the X, Y coordinates:
  • TextStyle.Alignment = taLeftJustify: Text begins at X
  • TextStyle.Alignment = taCenter: Text center is in the center of the rectangle (horizontally)
  • TextStyle.Alignment = taRightJustify: Text ends at right edge of the rectangle
  • TextStyle.Layout = tlTop: Top of the text is at Y
  • TextStyle.Layout = tlCenter: Text center is in the center of the rectangle (vertically)
  • TextStyle.Layout = tlBottom: Text sits above the the bottom edge of the rectangle
Rectangle within which the specified text is drawn Horizontal text start (respected only if TextStyle.Alignment = taLeftJustify) Vertical position of the top of the text (respected only if TextStyle.Layout = tlTop) Text to be drawn Optional parameter which determines whether the text is justified, word-wrapped, clipped, etc. If omitted, the current TextStyle of the canvas is used. 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 OrientationRotation of the current font in 10th of a degree. Zero is text drawn to the right, upsides. With value 900 (90 degrees) it will be drawn towards the top. With 1800 it will be upside-down and drawn to the left. 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