DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - downloadIndex: ┃ B T ┃
Length: 7794 (0x1e72) Types: TextFile Names: »B«
└─⟦85b835f43⟧ Bits:30000549 8mm tape, Rational 1000, Xlib rev 6.00 └─ ⟦0c20f784e⟧ »DATA« └─⟦1abbe589f⟧ └─⟦ada0be243⟧ └─⟦this⟧
with Xlbp_Proc_Var; use Xlbp_Proc_Var; separate (Xev_Main) procedure Main (Display : X_String := ""; Geometry : X_String := ""; Backing_Store : X_Backing_Store_Hint := Not_Useful; Save_Under : Boolean := False; Border_Width : U_Short := 2; Sync : Boolean := False) is Hints : Xlbt_Hint.X_Size_Hints; W : X_Window; Subw : X_Window; Attr : X_Set_Window_Attributes; Mask : X_New_Window_Attributes := None_X_New_Window_Attributes; Done : Boolean; Error : X_Error_String; Screen : X_Screen_Number; Event : X_Event; Success : X_Status; Env : constant X_String := X_Display_Name (Display); begin Attr.Backing_Store := Backing_Store; Mask (Cw_Backing_Store) := True; if Save_Under then Attr.Save_Under := True; Mask (Cw_Save_Under) := True; end if; X_Open_Display (Env, Dpy, Error); if Dpy = null then Text_Io.Put_Line ("xev: unable to open display {" & To_String (Display) & "}: " & To_String (Err (Error))); return; end if; if Sync then declare Pv : Proc_Var_X_Synchandler.Pv; begin Pv := X_Synchronize (Dpy, False); end; end if; Set_Sizehints (Hints, Outer_Window_Min_Width, Outer_Window_Min_Height, Outer_Window_Def_Width, Outer_Window_Def_Height, Outer_Window_Def_X, Outer_Window_Def_Y, Geometry); Screen := X_Default_Screen (Dpy); Attr.Background_Pixel := X_Black_Pixel (Dpy, Screen); Mask (Cw_Back_Pixel) := True; Attr.Border_Pixel := X_White_Pixel (Dpy, Screen); Mask (Cw_Border_Pixel) := True; ----Select for all events. Attr.Event_Mask := X_Event_Mask' (Key_Press_Mask | Key_Release_Mask | Button_Press_Mask | Button_Release_Mask | Enter_Window_Mask | Leave_Window_Mask | Pointer_Motion_Mask | Pointer_Motion_Hint_Mask | Button_1_Motion_Mask | Button_2_Motion_Mask | Button_3_Motion_Mask | Button_4_Motion_Mask | Button_5_Motion_Mask | Button_Motion_Mask | Keymap_State_Mask | Exposure_Mask | Visibility_Change_Mask | Structure_Notify_Mask | Substructure_Notify_Mask | Substructure_Redirect_Mask | Focus_Change_Mask | Property_Change_Mask | Colormap_Change_Mask | Owner_Grab_Button_Mask => True, Resize_Redirect_Mask => False, others => False); Mask (Cw_Event_Mask) := True; W := X_Create_Window (Dpy, X_Root_Window (Dpy, Screen), S_Short (Hints.X), S_Short (Hints.Y), U_Short (Hints.Width), U_Short (Hints.Height), Border_Width, 0, Input_Output, Copy_From_Parent_Visual, Mask, Attr); X_Set_Wm_Properties (Dpy, W, "Event Tester", "", (1 .. 0 => null), Hints, None_X_Wm_Hints, None_X_Class_Hint, Success); ----GEB 10/3/89 declare H : Xlbt_Hint.X_Wm_Hints; begin H.Flags (Input_Hint) := True; H.Input := True; X_Set_Wm_Hints (Dpy, W, H, Success); end; Subw := X_Create_Simple_Window (Dpy, W, Inner_Window_X, Inner_Window_Y, Inner_Window_Width, Inner_Window_Height, Inner_Window_Border, Attr.Border_Pixel, Attr.Background_Pixel); X_Map_Window (Dpy, Subw); -- map before w so that it appears X_Map_Window (Dpy, W); Text_Io.Put ("Outer window is "); S_Long_Io.Put (W.Drawable.Id.Number, Base => 16); Text_Io.Put (", inner window is "); S_Long_Io.Put (Subw.Drawable.Id.Number, Base => 16); Text_Io.New_Line; Done := False; while not Done loop Xlbp_Event.X_Next_Event (Dpy, Event); Prologue (Event, X_Event_Code'Image (Event.Kind)); begin case Event.Kind is when Key_Press => Do_Keypress (Event); when Key_Release => Do_Keyrelease (Event); when Button_Press => Do_Buttonpress (Event); when Button_Release => Do_Buttonrelease (Event); when Motion_Notify => Do_Motionnotify (Event); when Enter_Notify => Do_Enternotify (Event); when Leave_Notify => Do_Leavenotify (Event); when Focus_In => Do_Focusin (Event); when Focus_Out => Do_Focusout (Event); when Keymap_Notify => Do_Keymapnotify (Event); when Expose => Do_Expose (Event); when Graphics_Expose => Do_Graphicsexpose (Event); when No_Expose => Do_Noexpose (Event); when Visibility_Notify => Do_Visibilitynotify (Event); when Create_Notify => Do_Createnotify (Event); when Destroy_Notify => Do_Destroynotify (Event); when Unmap_Notify => Do_Unmapnotify (Event); when Map_Notify => Do_Mapnotify (Event); when Map_Request => Do_Maprequest (Event); when Reparent_Notify => Do_Reparentnotify (Event); when Configure_Notify => Do_Configurenotify (Event); when Configure_Request => Do_Configurerequest (Event); when Gravity_Notify => Do_Gravitynotify (Event); when Resize_Request => Do_Resizerequest (Event); when Circulate_Notify => Do_Circulatenotify (Event); when Circulate_Request => Do_Circulaterequest (Event); when Property_Notify => Do_Propertynotify (Event); when Selection_Clear => Do_Selectionclear (Event); when Selection_Request => Do_Selectionrequest (Event); when Selection_Notify => Do_Selectionnotify (Event); when Colormap_Notify => Do_Colormapnotify (Event); when Client_Message => Do_Clientmessage (Event); when Mapping_Notify => Do_Mappingnotify (Event); when others => Text_Io.Put_Line ("Unknown event type " & X_Event_Code'Image (Event.Kind) & "."); end case; exception when others => Text_Io.Put_Line ("Exception raised during event type " & X_Event_Code'Image (Event.Kind)); --/ if R1000 then Text_Io.Put_Line (Debug_Tools.Get_Exception_Name & " at " & Debug_Tools.Get_Raise_Location); --/ end if; end; end loop; X_Close_Display (Dpy); end Main;