88 lines
1.6 KiB
Plaintext
88 lines
1.6 KiB
Plaintext
|
|
|||
|
{ Turbo Points }
|
|||
|
{ Copyright (c) 1989 by Borland Interational, Inc. }
|
|||
|
|
|||
|
unit Points;
|
|||
|
{ From P-20 of the Object-Oriented Programming Guide.
|
|||
|
}
|
|||
|
|
|||
|
interface
|
|||
|
|
|||
|
uses Graph;
|
|||
|
|
|||
|
type
|
|||
|
Location = object
|
|||
|
X,Y : Integer;
|
|||
|
procedure Init(InitX, InitY : Integer);
|
|||
|
function GetX : Integer;
|
|||
|
function GetY : Integer;
|
|||
|
end;
|
|||
|
|
|||
|
Point = object (Location)
|
|||
|
Visible : Boolean;
|
|||
|
procedure Init(InitX, InitY : Integer);
|
|||
|
procedure Show;
|
|||
|
procedure Hide;
|
|||
|
function IsVisible : Boolean;
|
|||
|
procedure MoveTo(NewX, NewY : Integer);
|
|||
|
end;
|
|||
|
|
|||
|
implementation
|
|||
|
|
|||
|
{--------------------------------------------------------}
|
|||
|
{ Location's method implementations: }
|
|||
|
{--------------------------------------------------------}
|
|||
|
|
|||
|
procedure Location.Init(InitX, InitY : Integer);
|
|||
|
begin
|
|||
|
X := InitX;
|
|||
|
Y := InitY;
|
|||
|
end;
|
|||
|
|
|||
|
function Location.GetX : Integer;
|
|||
|
begin
|
|||
|
GetX := X;
|
|||
|
end;
|
|||
|
|
|||
|
function Location.GetY : Integer;
|
|||
|
begin
|
|||
|
GetY := Y;
|
|||
|
end;
|
|||
|
|
|||
|
|
|||
|
{--------------------------------------------------------}
|
|||
|
{ Points's method implementations: }
|
|||
|
{--------------------------------------------------------}
|
|||
|
|
|||
|
procedure Point.Init(InitX, InitY : Integer);
|
|||
|
begin
|
|||
|
Location.Init(InitX, InitY);
|
|||
|
Visible := False;
|
|||
|
end;
|
|||
|
|
|||
|
procedure Point.Show;
|
|||
|
begin
|
|||
|
Visible := True;
|
|||
|
PutPixel(X, Y, GetColor);
|
|||
|
end;
|
|||
|
|
|||
|
procedure Point.Hide;
|
|||
|
begin
|
|||
|
Visible := False;
|
|||
|
PutPixel(X, Y, GetBkColor);
|
|||
|
end;
|
|||
|
|
|||
|
function Point.IsVisible : Boolean;
|
|||
|
begin
|
|||
|
IsVisible := Visible;
|
|||
|
end;
|
|||
|
|
|||
|
procedure Point.MoveTo(NewX, NewY : Integer);
|
|||
|
begin
|
|||
|
Hide;
|
|||
|
Location.Init(NewX, NewY);
|
|||
|
Show;
|
|||
|
end;
|
|||
|
|
|||
|
end.
|
|||
|
|