unit unit_linee;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils,
grafica, tpenna, unit_figura_base;
type TLinee=class (FiguraBase)
private
var estremi:tSegmento;
public
constructor crea(seme:Ttavola);
procedure setPuntoInizio(x,y:integer); override;
procedure setPuntoFine(x, y: integer); override;
procedure traccia; override;
function denominazione: string; override;
function perimetro: double; override;
function area: double; override;
end;
implementation
constructor TLinee.crea(seme:Ttavola);
begin
inherited crea(seme);
estremi.inizio.x:=0.0;
estremi.inizio.y:=0.0;
estremi.inizio.valido:=True;
estremi.fine.x:=0.0;
estremi.fine.y:=0.0;
estremi.fine.valido:=True;
end;
procedure TLinee.setPuntoInizio(x,y:integer);
begin
estremi.inizio.x:=x;
estremi.inizio.y:=y;
inizializzata:=true;
end;
procedure TLinee.setPuntoFine(x, y: integer);
begin
estremi.fine.x:=x;
estremi.fine.y:=y;
end;
procedure TLinee.traccia;
begin
setPennaInfoglio();
foglio.linea(estremi);
end;
function TLinee.denominazione: string;
begin
denominazione:=Format('Linea in (%4.0f | %4.0f) - (%4.0f | %4.0f)', [estremi.inizio.x, estremi.inizio.y, estremi.fine.x, estremi.fine.y]);
end;
function TLinee.perimetro: double;
begin
perimetro:=estremi.distanza;
end;
function TLinee.area: double;
begin
area:=0.0;
end;
end.