lazarus/examples/canvas_test/ellipseunit.pas
2013-06-06 09:44:25 +00:00

66 lines
1.4 KiB
ObjectPascal

unit ellipseunit;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs;
type
{ TfrmEllipse }
TfrmEllipse = class(TForm)
procedure FormPaint(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
frmEllipse: TfrmEllipse;
implementation
{$R *.lfm}
{ TfrmEllipse }
procedure TfrmEllipse.FormPaint(Sender: TObject);
begin
Canvas.Brush.Color := clBlue;
Canvas.Brush.Style := bsClear;
Canvas.TextOut(50, 30, 'Ellipse');
Canvas.TextOut(150, 30, 'Chord');
Canvas.TextOut(250, 30, 'Pie');
Canvas.TextOut(50, 130, 'Arc S=0 L=90');
Canvas.TextOut(150, 130, 'Arc S=-25 L=45');
Canvas.TextOut(250, 130, 'Arc S=30 L=-45');
Canvas.TextOut(50, 215, 'Arc SX=0 SY=0 EX=300 EY=300');
Canvas.TextOut(150, 230, 'Arc SX=300 SY=300 EX=0 EY=0');
//Canvas.TextOut(250, 230, 'Arc S=30 L=-45');
Canvas.Brush.Style := bsSolid;
Canvas.Ellipse(50, 50, 100, 100);
Canvas.Chord(150, 50, 200, 100, 0, 90*16);
Canvas.RadialPie(250, 50, 300, 100, 0, 90*16);
Canvas.Arc(50, 150, 100, 200, 0, 90*16);
Canvas.Arc(150, 150, 200, 200, -25*16, 45*16);
Canvas.Arc(250, 150, 300, 200, 30*16, -45*16);
Canvas.Arc(50, 250, 100, 300, 0, 0, 300, 300);
Canvas.Arc(150, 250, 200, 300, 300, 300, 0, 0);
//Canvas.Arc(250, 150, 300, 200, 30*16, -45*16);
end;
end.