unit drawingdisplay;

{$mode objfpc}{$H+}

interface

uses
	Forms, ExtCtrls, drawing;
type
	{ TForm1 }
	TForm1 = class(TForm)
		rgShape: TRadioGroup;
		procedure FormCreate(Sender: TObject);
		procedure rgShapeClick(Sender: TObject);
	private
		FDrawing: TDrawing;
		procedure CreateANewDrawing;
	public
	end;

const extent = 50;

var
	Form1: TForm1;

implementation

{$R *.lfm}

procedure TForm1.CreateANewDrawing;
begin
	if (rgShape.ItemIndex < 0) then Exit;

	FDrawing.Free;

	case rgShape.ItemIndex of
		0: begin
			FDrawing := TSquare.Create(Self, extent);
			FDrawing.Left := 10;
		end;
		1: begin
			FDrawing := TCircle.Create(Self, extent);
			FDrawing.Left := 60;
		end;
	end;

	FDrawing.Top := 10;
	FDrawing.Parent := Self;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
	CreateANewDrawing;
end;

procedure TForm1.rgShapeClick(Sender: TObject);
begin
	CreateANewDrawing;
end;

end.

