DECwindows Motif for OpenVMS Guide to Non-C Bindings


Previous Contents Index


XOR REGION


OpenVMS Format

X$XOR_REGION

(src_region1_id, src_region2_id, dst_region_id_return)

Argument Information
Argument Usage Data Type Access Mechanism
src_region1_id identifier uns longword read reference
src_region2_id identifier uns longword read reference
dst_region_id_return identifier uns longword write reference


Chapter 3
Xlib Data Structures and Error Codes

Predefined data structures are provided for complex data structures used by Xlib routines. The OpenVMS binding format presents the data structure in a generic OpenVMS language. The generic language provides the OpenVMS binding names for the data structure and individual fields within the data structure. It also provides the basic OpenVMS data type for each field. The data type used for a specific language must be subsequently derived.

This chapter provides the OpenVMS format for all Xlib data structures. The table following each data structure provides a short description of each data structure member. In addition, Table 3-68 provides a list of the error codes that Xlib routines can return.

For a complete description of Xlib data structures and error codes, refer to the X Window System book.

3.1 Any Event Data Structure

Figure 3-1 illustrates the any event data structure (X$ANY_EVENT).

Figure 3-1 Any Event Data Structure


Table 3-2 describes the members of the arc data structure.

Table 3-2 Arc Data Structure Members
Member Name Contents
X$W_GARC_X Defines the x-coordinate value of the rectangle in which the server draws the arc
X$W_GARC_Y Defines the y-coordinate value of the rectangle in which the server draws the arc
X$W_GARC_WIDTH Defines the x axis diameter of the arc
X$W_GARC_HEIGHT Defines the y axis diameter of the arc
X$W_GARC_ANGLE1 Defines the starting point of the arc relative to the three o'clock position from the center of the rectangle
X$W_GARC_ANGLE2 Defines the extent of the arc relative to the starting point

3.3 Button Event Data Structure

Figure 3-3 illustrates the button event data structure (X$BUTTON_EVENT).

Figure 3-3 Button Event Data Structure


Table 3-4 describes the members of the char 2B data structure.

Table 3-4 Char 2B Data Structure Members
Member Name Contents
X$T_CHAR2B_BYTE1 Row in which the character is indexed
X$T_CHAR2B_BYTE2 Position of the character in the row

3.5 Char Struct Data Structure

Figure 3-5 illustrates the char struct data structure (X$CHAR_STRUCT).

Figure 3-5 Char Struct Data Structure


Table 3-6 describes the members of the circulate event data structure.

Table 3-6 Circulate Event Data Structure Members
Member Name Contents
X$L_CIEV_TYPE Value defined by the constant x$c_circulate_notify
X$L_CIEV_SERIAL Number of the last request processed by the server
X$L_CIEV_SEND_EVENT Value defined by the constant true if the event came from a SEND EVENT request
X$A_CIEV_DISPLAY Display on which the event occurred
X$L_CIEV_EVENT Event window
X$L_CIEV_WINDOW Window that has been circulated
X$L_CIEV_PLACE Place of the window on the stack after it has been circulated

3.7 Circulate Request Event Data Structure

Figure 3-7 illustrates the circulate request event data structure (X$CIRC_REQUEST_EVENT).

Figure 3-7 Circulate Request Event Data Structure


Table 3-8 describes the members of the class hint data structure.

Table 3-8 Class Hint Data Structure Members
Member Name Contents
X$A_CHNT_RES_NAME Defines the name of the window
X$A_CHNT_RES_CLASS Defines the class of the window

3.9 Client Message Event Data Structure

Figure 3-9 illustrates the client message event data structure (X$CLIE_MESSAGE_EVENT).

Figure 3-9 Client Message Event Data Structure


Table 3-10 describes the members of the color data structure.

Table 3-10 Color Data Structure Members
Member Name Contents
X$L_COLR_PIXEL Defines a pixel value.
X$W_COLR_RED Defines the red value of the pixel. 1
X$W_COLR_GREEN Defines the green value of the pixel. 1
X$W_COLR_BLUE Defines the blue value of the pixel. 1
X$B_COLR_FLAGS Defines which color members are to be defined in the color map. Possible flags are as follows:
x$m_do_red  
x$m_do_green  
x$m_do_blue  
X$B_COLR_PAD Makes the structure an even length.


1Color values range from 0 to 65,535. "On full" in a color is a value of 65,535, independent of the number of planes of the display. Half brightness in a color is a value of 32,767; off is a value of 0. This representation gives uniform results for color values across displays with different color resolution.

3.11 Color Map Event Data Structure

Figure 3-11 illustrates the color map event data structure (X$COLORMAP_EVENT).

Figure 3-11 Color Map Event Data Structure


Table 3-12 describes the members of the compose status data structure.

Table 3-12 Compose Data Structure Members
Member Name Contents
X$A_CMPS_COMPOSE_PTR Compose state table pointer
X$L_CMPS_CHARS_MATCHED Characters match state

3.13 Configure Event Data Structure

Figure 3-13 illustrates the configure event data structure (X$CONFIGURE_EVENT).

Figure 3-13 Configure Event Data Structure


Table 3-14 describes the members of the configure request event data structure.

Table 3-14 Configure Request Event Data Structure Members
Member Name Contents
X$L_CFRE_TYPE Value defined by the constant x$c_cfev_configure_notify.
X$L_CFRE_SERIAL Number of the last request processed by the server.
X$L_CFRE_SEND_EVENT Value defined by the constant true if the event came from a SEND EVENT request.
X$A_CFRE_DISPLAY Display on which the event occurred.
X$L_CFRE_PARENT Parent window.
X$L_CFRE_WINDOW Window that has been reconfigured.
X$L_CFRE_X The x value of the coordinates that define the upper left corner of the window relative to the upper left corner of the parent window.
X$L_CFRE_Y The y value of the coordinates that define the upper left corner of the window relative to the upper left corner of the parent window.
X$L_CFRE_WIDTH Width of the window, excluding the border.
X$L_CFRE_HEIGHT Height of the window, excluding the border.
X$L_CFRE_BORDER_WIDTH Border width of the reconfigured window.
X$L_CFRE_ABOVE Identifier of the sibling window above which the window is stacked. If this member has a value specified by the constant x$c_none, Xlib places the window at the bottom of the stack.
X$L_CFRE_DETAIL Indicates which windows were specified in the protocol request.
X$L_CFRE_VALUE_MASK Components that were specified in the configure_protocol request. Xlib can specify in this member one of the following constants:
x$c_above x$c_below
x$c_top_if x$c_bottom_if
x$c_opposite  

3.15 Create Window Event Data Structure

Figure 3-15 illustrates the create window event data structure (X$CREAT_WINDOW_EVENT).

Figure 3-15 Create Window Event Data Structure


Table 3-16 describes the members of the crossing event data structure.

Table 3-16 Crossing Event Data Structure Members
Member Name Contents
X$L_CREV_TYPE Value defined by either the x$c_enter_notify or the x$c_leave_notify constant.
X$L_CREV_SERIAL Number of the last request processed by the server.
X$L_CREV_SEND_EVENT Value defined by the constant true if the event came from a SEND EVENT request.
X$A_CREV_DISPLAY Display on which the event occurred.
X$L_CREV_WINDOW Event window.
X$L_CREV_ROOT Root window in which the event occurred.
X$L_CREV_SUBWINDOW Source window in which the event occurred.
X$L_CREV_TIME Time in milliseconds at which the event occurred.
X$L_CREV_X The x value of the pointer coordinates in the source window.
X$L_CREV_Y The y value of the pointer coordinates in the source window.
X$L_CREV_X_ROOT The x value of the pointer coordinates relative to the root window.
X$L_CREV_Y_ROOT The y value of the pointer coordinates relative to the root window.
X$L_CREV_MODE Indicates whether the event is normal or pseudomotion. Xlib can set this member to the value specified by x$c_notify_normal, x$c_notify_grab, and x$c_notify_ungrab.
X$L_CREV_DETAIL Indicates which windows Xlib notifies of the window entry or exit event. Xlib can specify in this member one of the following constants:
x$c_notify_ancestor x$c_notify_virtual
x$c_notify_inferior x$c_notify_nonlinear
x$c_notify_nonlinear_virtual  
X$L_CREV_SAME_SCREEN Indicates whether or not the event window is on the same screen as the root window.
X$L_CREV_FOCUS Specifies whether the event window or an inferior is the focus window. If true, the event window is the focus window. If false, an inferior is the focus window.
X$L_CREV_STATE State of buttons and keys just prior to the event. Xlib can return the following constants:
x$m_button1 x$m_mod3
x$m_button2 x$m_mod4
x$m_button3 x$m_mod5
x$m_button4 x$m_shift
x$m_button5 x$m_lock
x$m_mod1 x$m_control
x$m_mod2  

3.17 Destroy Window Event Data Structure

Figure 3-17 illustrates the destroy window event data structure (X$DESTR_WINDOW_EVENT).

Figure 3-17 Destroy Window Event Data Structure


Table 3-18 describes the members of the error event data structure.

Table 3-18 Error Event Data Structure Members
Member Name Contents
X$L_EREV_TYPE The type of event.
X$A_EREV_DISPLAY The display information originally returned by OPEN DISPLAY.
X$L_EREV_RESOURCE_ID The resource identifier associated with the error.
X$L_EREV_SERIAL The serial number of the request processed by the server immediately before the failing call was made. Xlib and the server use the serial number to identify the protocol request that caused the error.
X$B_EREV_ERROR_CODE The error code of the failed request. The error codes are described in Table 3-68.
X$B_EREV_REQUEST_CODE The major operation code of the failed request.
X$B_EREV_MINOR_CODE The minor operation code of the failed request.

See Table 3-68 for a list of Xlib error codes.

3.19 Event Data Structure

Figure 3-19 illustrates the event data structure (X$EVENT).

Figure 3-19 Event Data Structure


Table 3-20 describes the members of the expose event data structure.

Table 3-20 Expose Event Data Structure Members
Member Name Contents
X$L_EXEV_TYPE Value defined by the x$c_expose constant
X$L_EXEV_SERIAL Number of the last request processed by the server
X$L_EXEV_SEND_EVENT Value defined by the constant true if the event came from a SEND EVENT request
X$A_EXEV_DISPLAY Display on which the event occurred
X$L_EXEV_WINDOW Event window
X$L_EXEV_X The x value of the coordinates that define the upper left corner of the exposed region
X$L_EXEV_Y The y value of the coordinates that define the upper left corner of the exposed region
X$L_EXEV_WIDTH Width of the exposed region
X$L_EXEV_HEIGHT Height of the exposed region
X$L_EXEV_COUNT Number of exposure events that are to follow

3.21 Ext Codes Data Structure

Figure 3-21 illustrates the ext codes data structure (X$EXT_CODES).

Figure 3-21 Ext Codes Data Structure


Table 3-22 describes the members of the ext data data structure.

Table 3-22 Ext Data Data Structure
Member Name Contents
X$L_EXTD_NUMBER Number returned by X$INIT_EXTENSION
X$A_EXTD_NEXT Next item on list of data for structure
X$A_EXTD_FREE Called to free private, if defined
X$L_EXTD_PRIVATE Data private to this extension

3.23 Focus Change Event Data Structure

Figure 3-23 illustrates the focus change event data structure (X$FOCUS_CHANGE_EVENT).

Figure 3-23 Focus Change Event Data Structure


Previous Next Contents Index