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: ┃ T V ┃
Length: 13628 (0x353c) Types: TextFile Names: »V«
└─⟦85b835f43⟧ Bits:30000549 8mm tape, Rational 1000, Xlib rev 6.00 └─ ⟦0c20f784e⟧ »DATA« └─⟦1abbe589f⟧ └─⟦059497ac5⟧ └─⟦this⟧
with Xlbt_Arithmetic; use Xlbt_Arithmetic; with Xlbt_Basic; use Xlbt_Basic; with Xlbt_Hint; use Xlbt_Hint; with Xlbt_String; use Xlbt_String; with Xlbt_Window; use Xlbt_Window; package Xlbp_Window_Property is ------------------------------------------------------------------------------ -- X Library Window Properties -- -- Xlbp_Window_Property - Working with window properties ------------------------------------------------------------------------------ -- Copyright 1989 - 1991 by Rational, Santa Clara, California. -- Copyright 1988 by Wyse Technology, Inc., San Jose, Ca., -- Copyright 1985 - 1989 by the Massachusetts Institute of Technology -- -- All Rights Reserved. -- -- Permission to use, copy, modify, and distribute this software and its -- documentation for any purpose and without fee is hereby granted, -- provided that the above copyright notice(s) appear in all copies and that -- both that copyright notice(s) and this permission notice appear in -- supporting documentation, and that the names of MIT, Rational, or Wyse -- not be used in advertising or publicity pertaining to distribution of -- the software without specific, written prior permission. -- -- MIT, Rational, and Wyse disclaim all warranties with regard to this -- software, including all implied warranties of merchantability and fitness, -- in no event shall MIT, Rational, or Wyse be liable for any special, -- indirect or consequential damages or any damages whatsoever resulting from -- loss of use, data or profits, whether in an action of contract, negligence -- or other tortious action, arising out of or in connection with the use or -- performance of this software. ------------------------------------------------------------------------------ --\f procedure X_Change_Property (Display : X_Display; Window : X_Window; Property : X_Atom; Representation : X_Atom; Format : U_Char; Mode : X_Property_Mode; Data : U_Char_Array); ------------------------------------------------------------------------------ -- Display - Specifies the display to use. -- Window - Specifies the window to use. -- Property - Specifies the atom identifier of the property to be changed. -- Representation- Specifies the atom identifier of the property's type. -- Format - Specifies 8, 16, or 32 bit data format. -- Mode - Specifies the mode of the operation; Prop_Mode_Replace, -- Prop_Mode_Prepend, Prop_Mode_Append. -- Data - Specifies the data bytes which make up the property value. -- -- Change/Set the value for a property. This is the general purpose version. -- Versions of this routine which handle 7-bit character strings, records, -- and arrays follow. ------------------------------------------------------------------------------ procedure X_Delete_Property (Display : X_Display; Window : X_Window; Property : X_Atom); ------------------------------------------------------------------------------ -- Display - Specifies the display to use. -- Window - Specifies the window to use. -- Property - Specifies the atom identifier for the property. -- -- Deletes the property from the window. Causes the X server to generate a -- Property_Notify event if the property existed in the window. ------------------------------------------------------------------------------ procedure X_Get_Window_Property (Display : X_Display; Window : X_Window; Property : X_Atom; Offset : S_Natural; Maximum_Length : S_Natural; Delete : Boolean; Representation : X_Atom; Actual_Type : out X_Atom; Actual_Format : out U_Char; N_Items : out S_Natural; Bytes_After : out S_Natural; Data : out U_Char_List; Status : out X_Status); ------------------------------------------------------------------------------ -- Display - Specifies the display to use. -- Window - Specifies the window to use. -- Property - Specifies the property atom. -- Offset - Specifies the offset in the property (in 32-bit quantities) -- to use when retrieving data. -- Maximum_Length- Specifies the maximum amount of data to retrieve (in 32-bit -- quantities) -- Delete - Specifies True to cause the property to be deleted from the -- window. -- Representation- Specifies the property type atom. You can also pass -- Any_Property_Type. -- Actual_Type - Receives the atom identifier that defines the actual type -- of the property. -- Actual_Format - Receives the actual format of the property (8, 16, or 32). -- N_Items - Receives the number of 8/16/32 bit items that are to be -- read with X_Get_Window_Property. -- Bytes_After - Receives the number of bytes remaining in the property. -- This is the number of bytes remaining to be read in the -- property if a partial read was performed. -- Data - Receives a pointer to the received data -- Status - Receives Successful or Failed. -- -- Called to obtain the data associated with some window's (window-manager) -- property. The Data'length received is equal to: -- Length = (Actual_Format / 8) * N_Items ------------------------------------------------------------------------------ function X_List_Properties (Display : X_Display; Window : X_Window) return X_Atom_List; ------------------------------------------------------------------------------ -- Display - Specifies the display to use. -- Window - Specifies the window to use. -- -- Returns a pointer to a list of atom properties which are defined for the -- specified window. Returns None_X_Atom_List if there are no defined -- properties. -- -- Free the list after use with the Free_X_Atom_List routine. ------------------------------------------------------------------------------ procedure X_Rotate_Window_Properties (Display : X_Display; Window : X_Window; Properties : X_Atom_Array; N_Positions : S_Short); ------------------------------------------------------------------------------ -- Display - Specifies the display to use. -- Window - Specifies the window to use. -- Properties - Specifies the array of properties that are to be rotated. -- N_Positions - Specifies the rotation amount. -- -- Rotates the properties in the properties array and causes the X server to -- generate a Property_Notify event. If the property names in the Properties -- array are viewed as being numbered starting from zero and if there are -- N property names then the value associated with property -- name I becomes the property name (I+N_Positions) mod N, for all -- I in the properties. ------------------------------------------------------------------------------ --\f ------------------------------------------------------------------------------ -- Text Properties - Users of X_Text_Property ------------------------------------------------------------------------------ procedure X_Get_Text_Property (Display : X_Display; Window : X_Window; Data : out X_Text_Property; Property : X_Atom; Status : out X_Status); procedure X_Get_Text_Property (Display : X_Display; Window : X_Window; Data : out X_String_Pointer; Property : X_Atom; Status : out X_Status); ------------------------------------------------------------------------------ -- Display - Specifies the display to use. -- Window - Specifies the window to use. -- Data - Receives a record of the received data -- Property - Specifies the property atom. -- Status - Receives Successful or Failed. -- -- Called to obtain the "textual" data associated with some window's -- (window-manager) property. The Data'length received is equal to: -- Length = (Data.Format / 8) * Data.N_Items -- -- Free the storage in the Data after use with the Free_X_Text_Property routine. ------------------------------------------------------------------------------ procedure X_Set_Text_Property (Display : X_Display; Window : X_Window; Data : X_Text_Property; Property : X_Atom); procedure X_Set_Text_Property (Display : X_Display; Window : X_Window; Data : X_String; Property : X_Atom); ------------------------------------------------------------------------------ -- Display - Specifies the display to use. -- Window - Specifies the window to use. -- Data - Specifies a record of the new data -- Property - Specifies the property atom. -- -- Called to set the "textual" data associated with some window's -- (window-manager) property. The Data'length sent is expected to be equal to: -- Length = (Data.Format / 8) * Data.N_Items -- -- Free the storage in the Data after use with the Free_X_Text_Property routine. ------------------------------------------------------------------------------ procedure Free_X_Text_Property (Prop : in out X_Text_Property); ------------------------------------------------------------------------------ -- Prop - Specifies the X_Text_Property whose contents are to be freed -- -- Called to free up any heap storage contained within an X_Text_Property. -- Since an X_Text_Property is a record type and not an access type the -- X_Text_Property itself is not freed; only its contents. ------------------------------------------------------------------------------ procedure X_String_List_To_Text_Property (List : X_String_Pointer_Array; Data : out X_Text_Property); ------------------------------------------------------------------------------ -- List - Specifies the list of strings to convert -- Data - Receives the converted list -- -- Converts the list of strings into a X_Text_Property. Each string is -- included verbatim with an added trailing Ascii.Nul added to the end. -- The final string does not have a trailing null. -- -- Free the storage in the Data after use with the Free_X_Text_Property routine. ------------------------------------------------------------------------------ procedure X_Text_Property_To_String_List (Data : X_Text_Property; List : out X_String_Pointer_List; Status : out X_Status); ------------------------------------------------------------------------------ -- Data - Specifies the converted list -- List - Receives None_X_String_Pointer_List or the result list -- Status - Receives Successful or Failed. -- -- Converts the X_Text_Property into a list of strings. Returns -- None_X_String_Pointer_List if the conversion was Successful but the list -- was empty or if the conversion Failed. -- -- Free the storage in the list after use with the Free_X_String_Pointer_List -- routine. ------------------------------------------------------------------------------ procedure X_String_To_Text_Property (Str : X_String; Data : out X_Text_Property); ------------------------------------------------------------------------------ -- Str - Specifies the string to convert -- Data - Receives the converted list -- -- Converts the string into a X_Text_Property. -- -- Free the storage in the Prop after use with the Free_X_Text_Property routine. ------------------------------------------------------------------------------ procedure X_Text_Property_To_String (Data : X_Text_Property; Str : out X_String_Pointer; Status : out X_Status); ------------------------------------------------------------------------------ -- Data - Specifies the converted list -- Str - Receives the result -- Status - Receives Successful or Failed. -- -- Converts the X_Text_Property into a single string. -- -- Free the storage in the String after use with the Free_X_String_Pointer -- routine. ------------------------------------------------------------------------------ --\f end Xlbp_Window_Property;