package Tools.Pointers is
type Pointer is new Tool with private;
function Create_Pointer return A_Tool;
pragma Postcondition( Create_Pointer'Result /= null );
private
type Pointer is new Tool with null record;
procedure Apply( this : access Pointer;
func : Function_Type;
modifiers : Modifiers_Array;
first : Boolean;
world : not null A_World;
worldX,
worldY,
layer : Integer );
end Tools.Pointers;