|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 8192 (0x2000)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, function Endpoint_Union, seg_0046f7, separate Graphic_Lines
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦5a81ac88f⟧ »Space Info Vol 1«
└─⟦this⟧
separate (Graphic_Lines)
function Endpoint_Union (Output_Window : Window_Id;
Include_Left : Boolean;
Include_Right : Boolean;
Include_Up : Boolean;
Include_Down : Boolean) return Character is
Char_To_Check : Character;
From_Left : Boolean := Include_Left;
From_Right : Boolean := Include_Right;
From_Up : Boolean := Include_Up;
From_Down : Boolean := Include_Down;
begin
-- check below
Window_Io.Move_Cursor (File => Output_Window,
Delta_Lines => 1,
Delta_Columns => 0,
Offset => 0);
Char_To_Check := Window_Io.Char_At (Output_Window);
Window_Io.Move_Cursor (File => Output_Window, -- move back
Delta_Lines => -1,
Delta_Columns => 0,
Offset => 0);
case Char_To_Check is
when Gc.L_L_Corner | Gc.L_R_Corner | Gc.T_Up |
Gc.T_Left | Gc.T_Right | Gc.V_Line =>
From_Down := True;
when others =>
null;
end case;
-- check right
Window_Io.Move_Cursor (File => Output_Window,
Delta_Lines => 0,
Delta_Columns => 1,
Offset => 0);
Char_To_Check := Window_Io.Char_At (Output_Window);
Window_Io.Move_Cursor (File => Output_Window, -- move back
Delta_Lines => 0,
Delta_Columns => -1,
Offset => 0);
case Char_To_Check is
when Gc.U_R_Corner | Gc.L_R_Corner | Gc.T_Left |
Gc.T_Up | Gc.T_Down | Gc.H_Line =>
From_Right := True;
when others =>
null;
end case;
-- check above
begin
Window_Io.Move_Cursor (File => Output_Window,
Delta_Lines => -1,
Delta_Columns => 0,
Offset => 0);
Char_To_Check := Window_Io.Char_At (Output_Window);
Window_Io.Move_Cursor (File => Output_Window, -- move back
Delta_Lines => 1,
Delta_Columns => 0,
Offset => 0);
case Char_To_Check is
when Gc.U_L_Corner | Gc.U_R_Corner | Gc.T_Down |
Gc.T_Left | Gc.T_Right | Gc.V_Line =>
From_Up := True;
when others =>
null;
end case;
exception
when Io_Exceptions.Layout_Error =>
null;
end;
-- check left
begin
Window_Io.Move_Cursor (File => Output_Window,
Delta_Lines => 0,
Delta_Columns => -1,
Offset => 0);
Char_To_Check := Window_Io.Char_At (Output_Window);
Window_Io.Move_Cursor (File => Output_Window, -- move back
Delta_Lines => 0,
Delta_Columns => 1,
Offset => 0);
case Char_To_Check is
when Gc.L_L_Corner | Gc.U_L_Corner | Gc.T_Right |
Gc.T_Up | Gc.T_Down | Gc.H_Line =>
From_Left := True;
when others =>
null;
end case;
exception
when Io_Exceptions.Layout_Error =>
null;
end;
if From_Left then
if From_Right then
if From_Up then
if From_Down then
return Gc.Intersect;
else
return Gc.T_Up;
end if;
elsif From_Down then
return Gc.T_Down;
else
return Gc.H_Line;
end if;
elsif From_Up then
if From_Down then
return Gc.T_Left;
else
return Gc.L_R_Corner;
end if;
elsif From_Down then
return Gc.U_R_Corner;
else
return Gc.Dot;
end if;
elsif From_Right then
if From_Up then
if From_Down then
return Gc.T_Right;
else
return Gc.L_L_Corner;
end if;
elsif From_Down then
return Gc.U_L_Corner;
else
return Gc.Dot;
end if;
elsif From_Up then
if From_Down then
return Gc.V_Line;
else
return Gc.Dot;
end if;
elsif From_Down then
return Gc.Dot;
else
return ' ';
end if;
end Endpoint_Union;
nblk1=7
nid=0
hdr6=e
[0x00] rec0=17 rec1=00 rec2=01 rec3=05c
[0x01] rec0=01 rec1=00 rec2=07 rec3=022
[0x02] rec0=19 rec1=00 rec2=02 rec3=012
[0x03] rec0=1d rec1=00 rec2=03 rec3=004
[0x04] rec0=1b rec1=00 rec2=04 rec3=030
[0x05] rec0=27 rec1=00 rec2=05 rec3=012
[0x06] rec0=05 rec1=00 rec2=06 rec3=000
tail 0x215004e50815c676ae003 0x42a00088462061e03