[Search for users]
[Overall Top Noters]
[List of all Conferences]
[Download this site]
Title: | DECWINDOWS 26-JAN-89 to 29-NOV-90 |
Notice: | See 1639.0 for VMS V5.3 kit; 2043.0 for 5.4 IFT kit |
Moderator: | STAR::VATNE |
|
Created: | Mon Oct 30 1989 |
Last Modified: | Mon Dec 31 1990 |
Last Successful Update: | Fri Jun 06 1997 |
Number of topics: | 3726 |
Total number of notes: | 19516 |
967.0. "XGetWindowProperty problem with Ada" by 17305::WEST (I'm just visiting this planet.) Fri Jun 16 1989 13:05
I have QAR'd the following:
================================================================================
The following extract is from DECW$X_.ADA. There is problem with this
definition. It is missing one parameter and has other parameters in the
wrong location. I could not get this work as is. Modified it according
to what is listed in the documentation and it appears to work fine.
The missing parameter is NUM_ITEMS_RETURN. It belongs where the parameter
NUM_ELEMENTS_RETURN is and NUM_ELEMENTS_RETURN belongs at the end. According
to the documentation NUM_ITEMS_RETURN is a required paramter whereas
NUM_ELEMENTS_RETURN is optional. The current code interface has
NUM_ELEMENTS_RETURN and BYTES_AFTER_RETURN in between the ACTUAL_* parameters
when they belong after them.
What follows the *'s is the modification made to the Ada interface. I have
not shown all the possible overload resolutions possible. Also, the comment
section is incorrect and needs to be corrected.
-=> Jim <=-
--
-- result = x$get_window_property(display,window_id,property_id,long_offset,
-- long_len,delete,requested_type,actual_type_return,
-- actual_format_return,num_elements_return,
-- bytes_after_return,[property_data_return],
-- [property_data_len],[property_data_buff_return])
--
-- result.wl.v = result of query
-- display.rlu.r = display id
-- window_id.rlu.r = window id
-- property_id.rlu.r = atom specifying which property
-- long_offset.rl.r = offset where data will be retrieved
-- long_len.rl.r = length of the data to be retrieved
-- delete.rlu.r = delete flag
-- requested_type.rlu.r = requested type atom
-- actual_type_return.wlu.r = actual type atom
-- actual_format_return.wl.r = actual format
-- num_elements_return.wl.r = number of elements returned
-- bytes_after_return.wl.r = number of bytes remaining to be read in the property
-- property_data_return.wa.r = property data pointer returned (optional)
-- property_data_len.rl.r = length of data buffer (optional) * VAX ONLY *
-- property_data_buff_return.wr.ra = data buffer (optional) * VAX ONLY *
--
procedure GET_WINDOW_PROPERTY (
RESULT : out INTEGER; -- return value
DISPLAY : in DISPLAY_TYPE;
WINDOW_ID : in WINDOW_ID_TYPE;
PROPERTY_ID : in PROPERTY_ID_TYPE;
LONG_OFFSET : in INTEGER;
LONG_LEN : in INTEGER;
DELETE : in UNSIGNED_LONGWORD;
REQUESTED_TYPE : in UNSIGNED_LONGWORD;
ACTUAL_TYPE_RETURN : out UNSIGNED_LONGWORD;
NUM_ELEMENTS_RETURN : out INTEGER;
BYTES_AFTER_RETURN : out INTEGER;
ACTUAL_FORMAT_RETURN : out INTEGER;
PROPERTY_DATA_RETURN : out ADDRESS;
PROPERTY_DATA_LEN : in INTEGER := INTEGER'NULL_PARAMETER;
PROPERTY_DATA_BUFF_RETURN : out UNSIGNED_LONGWORD_ARRAY);
pragma INTERFACE (EXTERNAL, GET_WINDOW_PROPERTY);
pragma IMPORT_VALUED_PROCEDURE (GET_WINDOW_PROPERTY, "x$get_window_property",
(INTEGER, DISPLAY_TYPE, WINDOW_ID_TYPE, PROPERTY_ID_TYPE, INTEGER, INTEGER, UNSIGNED_LONGWORD, UNSI
UNSIGNED_LONGWORD, INTEGER, INTEGER, INTEGER, ADDRESS, INTEGER, UNSIGNED_LONGWORD_ARRAY),
(VALUE, REFERENCE, REFERENCE, REFERENCE, REFERENCE, REFERENCE, REFERENCE, REFERENCE, REFERENCE, REF
REFERENCE, REFERENCE, REFERENCE, REFERENCE, REFERENCE));
********************************************************************************
procedure GET_WINDOW_PROPERTY (
RESULT : out INTEGER; -- return value
DISPLAY : in DISPLAY_TYPE;
WINDOW_ID : in WINDOW_ID_TYPE;
PROPERTY_ID : in PROPERTY_ID_TYPE;
LONG_OFFSET : in INTEGER;
LONG_LEN : in INTEGER;
DELETE : in UNSIGNED_LONGWORD;
REQUESTED_TYPE : in UNSIGNED_LONGWORD;
ACTUAL_TYPE_RETURN : out UNSIGNED_LONGWORD;
ACTUAL_FORMAT_RETURN : out INTEGER;
NUM_ITEMS_RETURN : out INTEGER;
BYTES_AFTER_RETURN : out INTEGER;
PROPERTY_DATA_RETURN : out ADDRESS;
PROPERTY_DATA_LEN : in INTEGER := INTEGER'NULL_PARAMETER;
PROPERTY_DATA_BUFF_RETURN : out UNSIGNED_LONGWORD_ARRAY;
NUM_ELEMENTS_RETURN : out INTEGER);
pragma IMPORT_VALUED_PROCEDURE (
GET_WINDOW_PROPERTY, "x$get_window_property",
(INTEGER, DISPLAY_TYPE, WINDOW_ID_TYPE, PROPERTY_ID_TYPE,
INTEGER, INTEGER, UNSIGNED_LONGWORD, UNSIGNED_LONGWORD,
UNSIGNED_LONGWORD, INTEGER, INTEGER, INTEGER, ADDRESS,
INTEGER, UNSIGNED_LONGWORD_ARRAY, INTEGER),
(VALUE, REFERENCE, REFERENCE, REFERENCE,
REFERENCE, REFERENCE, REFERENCE, REFERENCE,
REFERENCE, REFERENCE, REFERENCE, REFERENCE, REFERENCE,
REFERENCE, REFERENCE, REFERENCE));
T.R | Title | User | Personal Name | Date | Lines
|
---|