Add initial prototype.
This commit is contained in:
83
4-high/gel/source/dolly/gel-dolly.adb
Normal file
83
4-high/gel/source/dolly/gel-dolly.adb
Normal file
@@ -0,0 +1,83 @@
|
||||
with
|
||||
ada.unchecked_Deallocation;
|
||||
|
||||
package body gel.Dolly
|
||||
is
|
||||
use Math;
|
||||
|
||||
|
||||
procedure free (Self : in out View)
|
||||
is
|
||||
procedure deallocate is new ada.unchecked_Deallocation (Item'Class, View);
|
||||
begin
|
||||
if Self = null
|
||||
then
|
||||
return;
|
||||
end if;
|
||||
|
||||
Self.destroy;
|
||||
deallocate (Self);
|
||||
end free;
|
||||
|
||||
|
||||
--------------
|
||||
--- Attributes
|
||||
--
|
||||
|
||||
procedure add_Camera (Self : in out Item'Class; the_Camera : in Camera.view)
|
||||
is
|
||||
begin
|
||||
Self.Cameras.append (the_Camera);
|
||||
end add_Camera;
|
||||
|
||||
|
||||
|
||||
procedure is_moving (Self : in out Item'Class; Direction : dolly.Direction; Now : in Boolean := True)
|
||||
is
|
||||
begin
|
||||
Self.Motion (Direction) := Now;
|
||||
end is_moving;
|
||||
|
||||
|
||||
|
||||
procedure is_spinning (Self : in out Item'Class; Direction : dolly.Direction; Now : in Boolean := True)
|
||||
is
|
||||
begin
|
||||
Self.Spin (Direction) := Now;
|
||||
end is_spinning;
|
||||
|
||||
|
||||
|
||||
procedure is_orbiting (Self : in out Item'Class; Direction : dolly.Direction; Now : in Boolean := True)
|
||||
is
|
||||
begin
|
||||
Self.Orbit (Direction) := Now;
|
||||
end is_orbiting;
|
||||
|
||||
|
||||
|
||||
procedure Speed_is (Self : in out Item; Now : in Real)
|
||||
is
|
||||
begin
|
||||
Self.Speed := Now;
|
||||
end Speed_is;
|
||||
|
||||
|
||||
|
||||
function Speed (Self : in Item) return Real
|
||||
is
|
||||
begin
|
||||
return Self.Speed;
|
||||
end Speed;
|
||||
|
||||
|
||||
|
||||
procedure speed_Multiplier_is (Self : in out Item; Now : in Real)
|
||||
is
|
||||
begin
|
||||
Self.Multiplier := Now;
|
||||
end speed_Multiplier_is;
|
||||
|
||||
|
||||
end gel.Dolly;
|
||||
|
||||
Reference in New Issue
Block a user