222 lines
6.1 KiB
Groff
222 lines
6.1 KiB
Groff
.\" Copyright (c) 1993, 1994 X Consortium
|
|
.\"
|
|
.\" Permission is hereby granted, free of charge, to any person obtaining a
|
|
.\" copy of this software and associated documentation files (the "Software"),
|
|
.\" to deal in the Software without restriction, including without limitation
|
|
.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
|
.\" and/or sell copies of the Software, and to permit persons to whom the
|
|
.\" Software furnished to do so, subject to the following conditions:
|
|
.\"
|
|
.\" The above copyright notice and this permission notice shall be included in
|
|
.\" all copies or substantial portions of the Software.
|
|
.\"
|
|
.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
|
.\" THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
.\" WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
|
|
.\" OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
.\" SOFTWARE.
|
|
.\"
|
|
.\" Except as contained in this notice, the name of the X Consortium shall not
|
|
.\" be used in advertising or otherwise to promote the sale, use or other
|
|
.\" dealing in this Software without prior written authorization from the
|
|
.\" X Consortium.
|
|
.\"
|
|
.ds tk X Toolkit
|
|
.ds xT X Toolkit Intrinsics \- C Language Interface
|
|
.ds xI Intrinsics
|
|
.ds xW X Toolkit Athena Widgets \- C Language Interface
|
|
.ds xL Xlib \- C Language X Interface
|
|
.ds xC Inter-Client Communication Conventions Manual
|
|
.ds Rn 3
|
|
.ds Vn 2.2
|
|
.hw XtConvert-And-Store XtCall-Converter wid-get
|
|
.na
|
|
.de Ds
|
|
.nf
|
|
.\\$1D \\$2 \\$1
|
|
.ft 1
|
|
.ps \\n(PS
|
|
.\".if \\n(VS>=40 .vs \\n(VSu
|
|
.\".if \\n(VS<=39 .vs \\n(VSp
|
|
..
|
|
.de De
|
|
.ce 0
|
|
.if \\n(BD .DF
|
|
.nr BD 0
|
|
.in \\n(OIu
|
|
.if \\n(TM .ls 2
|
|
.sp \\n(DDu
|
|
.fi
|
|
..
|
|
.de FD
|
|
.LP
|
|
.KS
|
|
.TA .5i 3i
|
|
.ta .5i 3i
|
|
.nf
|
|
..
|
|
.de FN
|
|
.fi
|
|
.KE
|
|
.LP
|
|
..
|
|
.de IN \" send an index entry to the stderr
|
|
..
|
|
.de C{
|
|
.KS
|
|
.nf
|
|
.D
|
|
.\"
|
|
.\" choose appropriate monospace font
|
|
.\" the imagen conditional, 480,
|
|
.\" may be changed to L if LB is too
|
|
.\" heavy for your eyes...
|
|
.\"
|
|
.ie "\\*(.T"480" .ft L
|
|
.el .ie "\\*(.T"300" .ft L
|
|
.el .ie "\\*(.T"202" .ft PO
|
|
.el .ie "\\*(.T"aps" .ft CW
|
|
.el .ft R
|
|
.ps \\n(PS
|
|
.ie \\n(VS>40 .vs \\n(VSu
|
|
.el .vs \\n(VSp
|
|
..
|
|
.de C}
|
|
.DE
|
|
.R
|
|
..
|
|
.de Pn
|
|
.ie t \\$1\fB\^\\$2\^\fR\\$3
|
|
.el \\$1\fI\^\\$2\^\fP\\$3
|
|
..
|
|
.de ZN
|
|
.ie t \fB\^\\$1\^\fR\\$2
|
|
.el \fI\^\\$1\^\fP\\$2
|
|
..
|
|
.de NT
|
|
.ne 7
|
|
.ds NO Note
|
|
.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
|
|
.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
|
|
.ie n .sp
|
|
.el .sp 10p
|
|
.TB
|
|
.ce
|
|
\\*(NO
|
|
.ie n .sp
|
|
.el .sp 5p
|
|
.if '\\$1'C' .ce 99
|
|
.if '\\$2'C' .ce 99
|
|
.in +5n
|
|
.ll -5n
|
|
.R
|
|
..
|
|
. \" Note End -- doug kraft 3/85
|
|
.de NE
|
|
.ce 0
|
|
.in -5n
|
|
.ll +5n
|
|
.ie n .sp
|
|
.el .sp 10p
|
|
..
|
|
.ny0
|
|
.TH XtConvertAndStore __libmansuffix__ __xorgversion__ "XT FUNCTIONS"
|
|
.SH NAME
|
|
XtConvertAndStore, XtCallConverter \- invoke resource converters
|
|
.SH SYNTAX
|
|
.HP
|
|
Boolean XtConvertAndStore(Widget \fIwidget\fP, String \fIfrom_type\fP,
|
|
XrmValuePtr \fIfrom\fP, String \fIto_type\fP, XrmValuePtr \fIto_in_out\fP);
|
|
.HP
|
|
Boolean XtCallConverter(Display* \fIdpy\fP, XtConverter \fIconverter\fP,
|
|
XrmValuePtr \fIargs\fP, Cardinal \fInum_args\fP, XrmValuePtr \fIfrom\fP,
|
|
XrmValuePtr \fIto_in_out\fP, XtCacheRef* \fIcache_ref_return\fP);
|
|
.SH ARGUMENTS
|
|
.IP \fIargs\fP 1i
|
|
Specifies the argument list that contains the additional arguments needed
|
|
to perform the conversion, or NULL.
|
|
.IP \fIconverter\fP 1i
|
|
Specifies the conversion procedure that is to be called.
|
|
.IP \fIfrom\fP 1i
|
|
Specifies the value to be converted.
|
|
.IP \fIfrom_type\fP 1i
|
|
Specifies the source type.
|
|
.IP \fInum_args\fP 1i
|
|
Specifies the number of additional arguments (often zero).
|
|
.IP \fIto_type\fP 1i
|
|
Specifies the destination type.
|
|
.IP \fIto_in_out\fP 1i
|
|
Returns the converted value.
|
|
.IP \fIwidget\fP 1i
|
|
Specifies the widget to use for additional arguments, if any are needed,
|
|
and the destroy callback list.
|
|
.IP \fIdpy\fP 1i
|
|
Specifies the display with which the conversion is to be associated.
|
|
.SH DESCRIPTION
|
|
The
|
|
.ZN XtConvertAndStore
|
|
function looks up the type converter registered to convert from_type
|
|
to to_type, computes any additional arguments needed, and then calls
|
|
.ZN XtCallConverter .
|
|
(or
|
|
.ZN XtDirectConvert
|
|
if an old-style converter was registered with
|
|
.ZN XtAddConverter
|
|
or
|
|
.ZN XtAppAddConverter .
|
|
) with the from and to_in_out arguments.
|
|
.LP
|
|
The
|
|
.ZN XtCallConverter
|
|
function looks up the specified type converter in the application
|
|
context associated with the display and, if the converter was not
|
|
registered or was registered with cache type
|
|
.ZN XtCacheAll
|
|
or
|
|
.ZN XtCacheByDisplay
|
|
looks in the conversion cache to see if this conversion procedure
|
|
has been called with the specified conversion arguments. If so, it
|
|
checks the success status of the prior call, and if the conversion
|
|
failed,
|
|
.ZN XtCallConverter
|
|
returns
|
|
.ZN False
|
|
immediately; otherwise it checks the size specified in the \fIto\fP
|
|
argument and, if it is greater than or equal to the size stored in the
|
|
cache, copies the information stored in the cache into the location
|
|
specified by \fIto->addr\fP, stores the cache size into \fIto->size\fP,
|
|
and returns
|
|
.ZN True .
|
|
If the size specified in the \fIto\fP argument is smaller than the size
|
|
stored in the cache,
|
|
.ZN XtCallConverter
|
|
copies the cache size into the \fIto->size\fP and returns
|
|
.ZN False .
|
|
If the converter was registered with cache type
|
|
.ZN XtCacheNone
|
|
or no value was found in the conversion cache,
|
|
.ZN XtCallConverter
|
|
calls the converter and, if it was not registered with cache type
|
|
.ZN XtCacheNone ,
|
|
enters the result into the cache.
|
|
.ZN XtCallConverter
|
|
then returns what the converter returned.
|
|
.LP
|
|
The \fIcache_ref_return\fP field specifies storage allocated by the
|
|
caller in which an opaque value will be stored. If the type converter
|
|
has been registered with the
|
|
.ZN XtCacheRefCount
|
|
modifier and if the value returned in in \fIcache_ref_return\fP is
|
|
non-NULL, then the call should store the \fIcache_ref_return\fP value
|
|
in order to decrement the reference count when the converted value
|
|
is no longer required. The \fIcache_ref_return\fP argument should be
|
|
NULL if the caller is unwilling or unable to store the value.
|
|
.SH "SEE ALSO"
|
|
XtAppReleaseCacheRefs(3Xt)
|
|
.br
|
|
\fI\*(xT\fP
|
|
.br
|
|
\fI\*(xL\fP
|