X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=Ada95%2Fsamples%2Fncurses2-acs_display.adb;h=2916e15c71cd37e2231d1a2f82eb050f1346099f;hp=ab072132494701c364f6f35909c70015a448800b;hb=HEAD;hpb=46722468f47c2b77b3987729b4bcf2321cccfd01 diff --git a/Ada95/samples/ncurses2-acs_display.adb b/Ada95/samples/ncurses2-acs_display.adb index ab072132..2916e15c 100644 --- a/Ada95/samples/ncurses2-acs_display.adb +++ b/Ada95/samples/ncurses2-acs_display.adb @@ -7,7 +7,8 @@ -- B O D Y -- -- -- ------------------------------------------------------------------------------ --- Copyright (c) 2000 Free Software Foundation, Inc. -- +-- Copyright 2020 Thomas E. Dickey -- +-- Copyright 2000-2006,2008 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,7 +36,8 @@ ------------------------------------------------------------------------------ -- Author: Eugene V. Melaragno 2000 -- Version Control --- $Revision: 1.1 $ +-- $Revision: 1.7 $ +-- $Date: 2020/02/02 23:34:34 $ -- Binding Version 01.00 ------------------------------------------------------------------------------ with ncurses2.util; use ncurses2.util; @@ -55,10 +57,9 @@ procedure ncurses2.acs_display is return Integer; procedure show_acs_chars; - procedure show_upper_chars (first : Integer) is - C1 : Boolean := (first = 128); - last : Integer := first + 31; + C1 : constant Boolean := (first = 128); + last : constant Integer := first + 31; package p is new ncurses2.genericPuts (200); use p; use p.BS; @@ -91,9 +92,11 @@ procedure ncurses2.acs_display is for code in first .. last loop declare - row : Line_Position := Line_Position (4 + ((code - first) mod 16)); - col : Column_Position := Column_Position (((code - first) / 16) * - Integer (Columns) / 2); + row : constant Line_Position + := Line_Position (4 + ((code - first) mod 16)); + col : constant Column_Position + := Column_Position (((code - first) / 16) * + Integer (Columns) / 2); tmp3 : String (1 .. 3); tmpx : String (1 .. Integer (Columns / 4)); reply : Key_Code; @@ -129,8 +132,8 @@ procedure ncurses2.acs_display is code : Attributed_Character) return Integer is height : constant Integer := 16; - row : Line_Position := Line_Position (4 + (N mod height)); - col : Column_Position := Column_Position ((N / height) * + row : constant Line_Position := Line_Position (4 + (N mod height)); + col : constant Column_Position := Column_Position ((N / height) * Integer (Columns) / 2); tmpx : String (1 .. Integer (Columns) / 3); begin @@ -201,6 +204,9 @@ procedure ncurses2.acs_display is n := show_1_acs (n, "ACS_Not_Equal", ACS_Map (ACS_Not_Equal)); n := show_1_acs (n, "ACS_Sterling", ACS_Map (ACS_Sterling)); + if n = 0 then + raise Constraint_Error; + end if; end show_acs_chars; c1 : Key_Code; @@ -228,4 +234,3 @@ begin Erase; End_Windows; end ncurses2.acs_display; -