X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=Ada95%2Fsrc%2Fterminal_interface-curses-text_io.adb;h=85a4f44b637abdd59c760c2b92dd8278672eb95d;hp=cbf1d54098c3d3f4ac2eaec4f4939d42ce006762;hb=31418a0e4a6f75ceffc9fee20ddbe390209a4ef4;hpb=a8987e73ec254703634802b4f7ee30d3a485524d diff --git a/Ada95/src/terminal_interface-curses-text_io.adb b/Ada95/src/terminal_interface-curses-text_io.adb index cbf1d540..85a4f44b 100644 --- a/Ada95/src/terminal_interface-curses-text_io.adb +++ b/Ada95/src/terminal_interface-curses-text_io.adb @@ -7,7 +7,7 @@ -- B O D Y -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 1998 Free Software Foundation, Inc. -- +-- Copyright (c) 1998-2011,2014 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 -- @@ -35,14 +35,15 @@ ------------------------------------------------------------------------------ -- Author: Juergen Pfeifer, 1996 -- Version Control: --- $Revision: 1.14 $ +-- $Revision: 1.22 $ +-- $Date: 2014/05/24 21:32:18 $ -- 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; @@ -59,7 +60,7 @@ package body Terminal_Interface.Curses.Text_IO is end Get_Window; pragma Inline (Get_Window); - procedure Flush (Win : in Window) + procedure Flush (Win : Window) is begin Refresh (Win); @@ -80,15 +81,15 @@ package body Terminal_Interface.Curses.Text_IO is -- 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; @@ -98,7 +99,7 @@ package body Terminal_Interface.Curses.Text_IO is 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; @@ -107,9 +108,9 @@ package body Terminal_Interface.Curses.Text_IO is 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; @@ -123,11 +124,11 @@ package body Terminal_Interface.Curses.Text_IO is ------------------------------------ -- 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; @@ -140,13 +141,13 @@ package body Terminal_Interface.Curses.Text_IO is 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); @@ -158,14 +159,14 @@ package body Terminal_Interface.Curses.Text_IO is 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; @@ -186,24 +187,25 @@ package body Terminal_Interface.Curses.Text_IO is 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; Get_Cursor_Position (Win, Y1, X); + pragma Warnings (Off, X); -- unreferenced N := Natural (To); N := N - 1; Y2 := Line_Position (N); if Y2 < Y1 then @@ -215,13 +217,13 @@ package body Terminal_Interface.Curses.Text_IO is 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; @@ -229,9 +231,9 @@ package body Terminal_Interface.Curses.Text_IO is 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; @@ -241,7 +243,7 @@ package body Terminal_Interface.Curses.Text_IO is 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; @@ -249,9 +251,9 @@ package body Terminal_Interface.Curses.Text_IO is 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; @@ -265,7 +267,7 @@ package body Terminal_Interface.Curses.Text_IO is -- 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; @@ -283,7 +285,7 @@ package body Terminal_Interface.Curses.Text_IO is Add (Win, Item); end Put; - procedure Put (Item : in Character) + procedure Put (Item : Character) is begin Put (Get_Window, Item); @@ -293,7 +295,7 @@ package body Terminal_Interface.Curses.Text_IO is -- 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; @@ -311,15 +313,15 @@ package body Terminal_Interface.Curses.Text_IO is 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); @@ -327,7 +329,7 @@ package body Terminal_Interface.Curses.Text_IO is end Put_Line; procedure Put_Line - (Item : in String) + (Item : String) is begin Put_Line (Get_Window, Item);