-- B O D Y --
-- --
------------------------------------------------------------------------------
--- Copyright (c) 1998 Free Software Foundation, Inc. --
+-- Copyright (c) 1998-2006,2009 Free Software Foundation, Inc. --
-- --
-- Permission is hereby granted, free of charge, to any person obtaining a --
-- copy of this software and associated documentation files (the --
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
------------------------------------------------------------------------------
--- Author: Juergen Pfeifer <juergen.pfeifer@gmx.net> 1996
+-- Author: Juergen Pfeifer, 1996
-- Version Control:
--- $Revision: 1.12 $
+-- $Revision: 1.19 $
+-- $Date: 2009/12/26 17:40:46 $
-- Binding Version 01.00
------------------------------------------------------------------------------
package body Terminal_Interface.Curses.Text_IO is
Default_Window : Window := Null_Window;
- procedure Set_Window (Win : in Window)
+ procedure Set_Window (Win : Window)
is
begin
Default_Window := Win;
end Get_Window;
pragma Inline (Get_Window);
- procedure Flush (Win : in Window)
+ procedure Flush (Win : Window)
is
begin
Refresh (Win);
-- A scroll-window is interpreted as an page with unbounded page length,
-- i.e. it returns the conventional 0 as page length.
- function Line_Length (Win : in Window) return Count
+ function Line_Length (Win : Window) return Count
is
N_Lines : Line_Count;
N_Cols : Column_Count;
begin
Get_Size (Win, N_Lines, N_Cols);
- if Natural (N_Cols) > Natural (Count'Last) then
- raise Layout_Error;
- end if;
+ -- if Natural (N_Cols) > Natural (Count'Last) then
+ -- raise Layout_Error;
+ -- end if;
return Count (N_Cols);
end Line_Length;
return Line_Length (Get_Window);
end Line_Length;
- function Page_Length (Win : in Window) return Count
+ function Page_Length (Win : Window) return Count
is
N_Lines : Line_Count;
N_Cols : Column_Count;
return 0;
else
Get_Size (Win, N_Lines, N_Cols);
- if Natural (N_Lines) > Natural (Count'Last) then
- raise Layout_Error;
- end if;
+ -- if Natural (N_Lines) > Natural (Count'Last) then
+ -- raise Layout_Error;
+ -- end if;
return Count (N_Lines);
end if;
end Page_Length;
------------------------------------
-- Column, Line, and Page Control --
------------------------------------
- procedure New_Line (Win : in Window; Spacing : in Positive_Count := 1)
+ procedure New_Line (Win : Window; Spacing : Positive_Count := 1)
is
P_Size : constant Count := Page_Length (Win);
begin
- if Spacing not in Positive_Count then
+ if not Spacing'Valid then
raise Constraint_Error;
end if;
end loop;
end New_Line;
- procedure New_Line (Spacing : in Positive_Count := 1)
+ procedure New_Line (Spacing : Positive_Count := 1)
is
begin
New_Line (Get_Window, Spacing);
end New_Line;
- procedure New_Page (Win : in Window)
+ procedure New_Page (Win : Window)
is
begin
Clear (Win);
New_Page (Get_Window);
end New_Page;
- procedure Set_Col (Win : in Window; To : in Positive_Count)
+ procedure Set_Col (Win : Window; To : Positive_Count)
is
Y : Line_Position;
X1 : Column_Position;
X2 : Column_Position;
N : Natural;
begin
- if To not in Positive_Count then
+ if not To'Valid then
raise Constraint_Error;
end if;
end if;
end Set_Col;
- procedure Set_Col (To : in Positive_Count)
+ procedure Set_Col (To : Positive_Count)
is
begin
Set_Col (Get_Window, To);
end Set_Col;
- procedure Set_Line (Win : in Window; To : in Positive_Count)
+ procedure Set_Line (Win : Window; To : Positive_Count)
is
Y1 : Line_Position;
Y2 : Line_Position;
X : Column_Position;
N : Natural;
begin
- if To not in Positive_Count then
+ if not To'Valid then
raise Constraint_Error;
end if;
end if;
end Set_Line;
- procedure Set_Line (To : in Positive_Count)
+ procedure Set_Line (To : Positive_Count)
is
begin
Set_Line (Get_Window, To);
end Set_Line;
- function Col (Win : in Window) return Positive_Count
+ function Col (Win : Window) return Positive_Count
is
Y : Line_Position;
X : Column_Position;
begin
Get_Cursor_Position (Win, Y, X);
N := Natural (X); N := N + 1;
- if N > Natural (Count'Last) then
- raise Layout_Error;
- end if;
+ -- if N > Natural (Count'Last) then
+ -- raise Layout_Error;
+ -- end if;
return Positive_Count (N);
end Col;
return Col (Get_Window);
end Col;
- function Line (Win : in Window) return Positive_Count
+ function Line (Win : Window) return Positive_Count
is
Y : Line_Position;
X : Column_Position;
begin
Get_Cursor_Position (Win, Y, X);
N := Natural (Y); N := N + 1;
- if N > Natural (Count'Last) then
- raise Layout_Error;
- end if;
+ -- if N > Natural (Count'Last) then
+ -- raise Layout_Error;
+ -- end if;
return Positive_Count (N);
end Line;
-- Characters Output --
-----------------------
- procedure Put (Win : in Window; Item : in Character)
+ procedure Put (Win : Window; Item : Character)
is
P_Size : constant Count := Page_Length (Win);
Y : Line_Position;
Add (Win, Item);
end Put;
- procedure Put (Item : in Character)
+ procedure Put (Item : Character)
is
begin
Put (Get_Window, Item);
-- Strings-Output --
--------------------
- procedure Put (Win : in Window; Item : in String)
+ procedure Put (Win : Window; Item : String)
is
P_Size : constant Count := Page_Length (Win);
Y : Line_Position;
Add (Win, Item);
end Put;
- procedure Put (Item : in String)
+ procedure Put (Item : String)
is
begin
Put (Get_Window, Item);
end Put;
procedure Put_Line
- (Win : in Window;
- Item : in String)
+ (Win : Window;
+ Item : String)
is
begin
Put (Win, Item);
end Put_Line;
procedure Put_Line
- (Item : in String)
+ (Item : String)
is
begin
Put_Line (Get_Window, Item);