|
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 - 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