[Overview][Constants][Types][Classes][Procedures and functions][Variables][Index] Reference for unit 'Graphics' (#lcl)

TCanvas

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

TCanvas - where most of the drawing is performed

Declaration

Source position: graphics.pp line 984

type TCanvas = class(TFPCustomCanvas)

protected

  function DoCreateDefaultFont; override;

  

DoCreateDefaultFont - calls TFont.Create to create a default fomt

  function DoCreateDefaultPen; override;

  

DoCreateDefaultPen - calls TPen.Create to create a default pen

  function DoCreateDefaultBrush; override;

  

DoCreateDefaultBrush - calls TBrush.Create to create a default brush

  procedure SetColor(); override;

  

SetColor converts the specified FPColor to a Color and applies it to the pixels at x, y

  function GetColor(); override;

  

GetColor - finds the Color of the pixels at x, y and returns the value converted to a FPColor

  procedure SetHeight(); override;

  

SetHeight - should never be called for Canvas: raises an exception if it is called

  function GetHeight; override;

  

GetHeight - if a handle has been allocated, returns the height from the device size

  procedure SetWidth(); override;

  

SetWidth - should never be called; raises an exception if it is called

  function GetWidth; override;

  

GetWidth - if a handle has been allocated, returns the width from the device size

  procedure SetPenPos(); override;

  

SetPenPos moves pen to specified position

  procedure DoLockCanvas; override;

  

DoLockCanvas - enters critical locking section then calls inherited method

  procedure DoUnlockCanvas; override;

  

DoUnlockCanvas - leaves the critical locking section then calls inherited method

  procedure DoTextOut(); override;

  

DoTextOut calls TextOut for the specified coordinates and string

  procedure DoGetTextSize(); override;

  

DoGetTextSize calls TextExtent to find width and height of specified text string

  function DoGetTextHeight(); override;

  

DoGetTextHeight calls TextHeight to return the height of the text

  function DoGetTextWidth(); override;

  

DoGetTextWidth calls TextWidth to return the width of the given text string

  procedure DoRectangle(); override;

  

DoRectangle calls Frame to draw a rectangle in the given bounds

  procedure DoRectangleFill(); override;

  

DoRectangleFill calls FillRect to draw a filled rectangle with the given bounds

  procedure DoRectangleAndFill(); override;

  

DoRectangleAndFill - calls Rectangle to draw a rectangle and fill it

  procedure DoEllipse(); override;

  

DoEllipse draws an Arc of 360 degrees within given Bounds, making an ellipse

  procedure DoEllipseFill(); override;

  

DoEllipseFill calls Ellipse

  procedure DoEllipseAndFill(); override;

  

DoEllipseAndFill - calls inherited DoEllipseAndFill

  procedure DoPolygon(); override;

  

DoPolygon calls PolyLine to draw a series of lines through the points

  procedure DoPolygonFill(); override;

  

DoPolygonFill calls Polygon for the suppied points

  procedure DoPolygonAndFill(); override;

  

DoPolygonAndFill calls inherited method

  procedure DoPolyline(); override;

  

DoPolyline calls PolyLine

  procedure DoFloodFill(); override;

  

DoFloodFill calls FloodFill

  procedure DoMoveTo(); override;

  

DoMoveTo calls MoveTo

  procedure DoLineTo(); override;

  

DoLineTo calls LineTo

  procedure DoLine(); override;

  

DoLine calls Line to draw from x1, y1 to x2, y2

  procedure DoCopyRect(); override;

  

DoCopyRect checks that SrcCanvas is of correct type then copies coordinates and calls CopyRect

  procedure DoDraw(); override;

  

DoDraw checks that Image is of the right type, makes a local copy, creates the necessary handles and bitmaps for drawing

  procedure CheckHelper(); override;

  

CheckHelper - ignored by current class

  function GetDefaultColor(); virtual;

  function GetClipRect; override;

  

GetClipRect - if an error is encountered in finding the Clipping Rectangle dimensions, sets some defaults anyway

  procedure SetClipRect(); override;

  function GetClipping; override;

  

GetClipping returns True if clipping is being performed

  procedure SetClipping(); override;

  

SetClipping specifies (via boolean argument) whether clipping is to be performed

  function GetPixel(); virtual;

  

GetPixel - retuns the colour of the pixel at the specified location

  procedure CreateBrush; virtual;

  

CreateBrush creates necessary handles, sets up local defaults for style, hatching, background colour

  procedure CreateFont; virtual;

  

  procedure CreateHandle; virtual;

  

CreateHandle - greates a new Handle for the Canvas

  procedure CreatePen; virtual;

  

CreatePen sets up local handles and defaults for Pen creation, sets initial position of Pen

  procedure CreateRegion; virtual;

  

CreateRegion - creates a rectangular region for the Canvas

  procedure DeselectHandles; virtual;

  

DeselectHandles - remove from group of selected handles

  procedure PenChanging(); virtual;

  

PenChanging - software emulation for call to OnChanging event for Pen

  procedure FontChanging(); virtual;

  

FontChanging - software emulation for call to OnChanging event for Font

  procedure BrushChanging(); virtual;

  

BrushChanging - software emulation for call to OnChanging event for Brush

  procedure RegionChanging(); virtual;

  

RegionChanging - software emulation for call to OnChanging event for Region

  procedure RealizeAutoRedraw; virtual;

  

RealizeAutoRedraw - implement the AutoDraw feature

  procedure RealizeAntialiasing; virtual;

  

RealizeAntialiasing - implement the Anti-aliasing feature

  procedure RequiredState(); virtual;

  

RequiredState - the set of Canvas State required (csHandleValid, csFontValid, csPenvalid, csBrushValid, csRegionValid)

  procedure SetHandle(); virtual;

  

SetHandle - specify a Handle

  procedure SetInternalPenPos(); virtual;

  

SetInternalPenPos - specify position for the Pen

  procedure SetPixel(); virtual;

  

SetPixel - specify a colour for the stated pixel

  procedure FreeHandle; virtual;

  

FreeHandle - release a Handle

public

  constructor Create;

  

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

  destructor Destroy; override;

  

Destroy - destructor for TCanvas: frees handles and region, calls inherited Destroy, sets font, pen and brush resources to nil

  procedure Lock; virtual;

  

Lock the canvas, making it unavailble for drawing

  function TryLock;

  

TryLock - examines the Lock state, and performs Lock if necessary

  procedure Unlock; virtual;

  

Unlock or release a previously locked Canvas

  procedure Refresh; virtual;

  

Refresh the drawing of the Canvas

  procedure Changing; virtual;

  

Changing - software emulation of a call to the OnChanging event

  procedure Changed; virtual;

  

Changed - software emulation of a call to the OnChange event

  procedure SaveHandleState; virtual;

  

SaveHandleState - stores the state of the Handle

  procedure RestoreHandleState; virtual;

  

RestoreHandleState - retrieves the saved state of the Handle

  procedure Arc();

  

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

  procedure Chord();

  

Chord draws a filled Chord-shape on the canvas

  procedure CopyRect(); virtual;

  

Copies the rectangle found at Source in SrcCanvas to the destination position Dest

  procedure Draw(); virtual;

  

Draw - copies bounds from SrcGraphic, then calls StretchDraw to perform the drawing

  procedure DrawFocusRect(); virtual;

  

DrawFocusRect - draws a focused rectangle at the specified position

  procedure StretchDraw(); virtual;

  

StretchDraw - uses the Draw method of the source graphic ( TGraphic)

  procedure Ellipse();

  

Ellipse draws a filled circle or ellipse on the canvas

  procedure FillRect();

  

FillRect - draw a filled rectangle in the specified coordinate space

  procedure FloodFill(); virtual;

  

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

  procedure Frame3d(); virtual;

  

Frame3d - produce a frame with 3-D effect (with bevelled edges etc) in the specified rectangle

  procedure Frame();

  

Produce a Frame or border around the specified rectangle using a Pen

  procedure FrameRect();

  

FrameRect - produce a border around the specified rectangle using a Brush

  function GetTextMetrics(); virtual;

  procedure GradientFill();

  

GradientFill - fill the specified rectangle with the specified colours in a gradient with the specified direction

  procedure RadialPie(); virtual;

  

RadialPie uses Pie to draw a filled pie-shaped wedge on the canvas

  procedure Pie(); virtual;

  

Pie draws a filled Pie-shaped wedge on the canvas

  procedure PolyBezier();

  

Polybezier draws cubic Bezier curves

  procedure Polygon();

  

Polygon draws a closed, many-sided shape on the canvas, using the value of Pen

  procedure Polyline();

  

Polyline connects a set of points on the canvas

  procedure Rectangle();

  

Draws a Rectangle at the specified coordinates

  procedure RoundRect();

  

RoundRect - draws a rectangle at the specified position, with corners rounded by the factors RX, RY

  procedure TextOut(); virtual;

  

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

  procedure TextRect();

  

Writes Text string within a specified rectangle, according to predefined Style

  function TextExtent(); virtual;

  

TextExtent - returns the total size of the specified text

  function TextHeight(); virtual;

  

TextHeight - returns the height of the specified text

  function TextWidth(); virtual;

  

TextWidth - returns the width of the specified text

  function HandleAllocated; virtual;

  

HandleAllocated - returns True if a handle has been allocated

  function GetUpdatedHandle(); virtual;

  

GetUpdatedHandle - returns the value of the updated Handle

  property Pixels: TColor; [rw]

  

The colour of the Pixels located at the specified position

  property Handle: HDC; [rw]

  

The operating system Handle for this object

  property TextStyle: TTextStyle; [rw]

  

The TextStyle to be used in this Canvas

published

  property AntialiasingMode: TAntialiasingMode; [rw]

  

AntialiasingMode - anti-aliasing on, off or don't care

  property AutoRedraw: Boolean; [rw]

  

AutoRedraw - if True, the Canvas is to be redrawn automatically after each change or update

  property Brush: TBrush; [rw]

  

The Brush to be used for painting this Canvas

  property CopyMode: TCopymode; [rw]

  

The CopyMode to be used (arbitrary number)

  property Font: TFont; [rw]

  

The Font to be used for text in this canvas

  property Height: Integer; [r]

  

The Height of the canvas

  property Pen: TPen; [rw]

  

The Pen to be used for writing in this canvas

  property Region: TRegion; [rw]

  

The Regionwhere the Canvas is located

  property Width: Integer; [r]

  

The Width of the Canvas

  property OnChange: TNotifyEvent; [rw]

  

Event handler for a change in the canvas

  property OnChanging: TNotifyEvent; [rw]

  

Event handler while canvas is changing

end;

Inheritance

TCanvas

  

TCanvas - where most of the drawing is performed

|

TFPCustomCanvas

|

TPersistent

|

TObject

Description

TCanvas is a class that 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.

The latest version of this document can be found at lazarus-ccr.sourceforge.net.