1e120bd27Smrg<?xml version="1.0" encoding="ISO-8859-1"?> 2e120bd27Smrg<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" 30cc2eac3Smrg "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" 40cc2eac3Smrg[ 50cc2eac3Smrg<!ENTITY % defs SYSTEM "defs.ent"> %defs; 60cc2eac3Smrg]> 7e120bd27Smrg<!-- lifted from troff+ms+XMan by doclifter --> 8e120bd27Smrg 9e120bd27Smrg<article id='xmu'> 10e120bd27Smrg <articleinfo> 11e120bd27Smrg <title>Xmu and Xmuu Library API Reference</title> 120cc2eac3Smrg <releaseinfo>X Version 11, Release &fullrelvers;</releaseinfo> 130cc2eac3Smrg <copyright><year>1989</year><holder>X Consortium</holder> 140cc2eac3Smrg </copyright> 15e120bd27Smrg <abstract><para>“Don't ask.”</para></abstract> 16e120bd27Smrg 17e120bd27Smrg <legalnotice> 18e120bd27Smrg 19e120bd27Smrg <para> 20e120bd27SmrgPermission is hereby granted, free of charge, to any person obtaining a copy 21e120bd27Smrgof this software and associated documentation files (the “Software”), to deal 22e120bd27Smrgin the Software without restriction, including without limitation the rights 23e120bd27Smrgto use, copy, modify, merge, publish, distribute, sublicense, and/or sell 24e120bd27Smrgcopies of the Software, and to permit persons to whom the Software is 25e120bd27Smrgfurnished to do so, subject to the following conditions: 26e120bd27Smrg </para> 27e120bd27Smrg <para> 28e120bd27SmrgThe above copyright notice and this permission notice shall be included in 29e120bd27Smrgall copies or substantial portions of the Software. 30e120bd27Smrg </para> 31e120bd27Smrg <para> 32e120bd27SmrgTHE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 33e120bd27SmrgIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 34e120bd27SmrgFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 35e120bd27SmrgX CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 36e120bd27SmrgAN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 37e120bd27SmrgCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 38e120bd27Smrg </para> 39e120bd27Smrg <para> 40e120bd27SmrgExcept as contained in this notice, the name of the X Consortium shall not be 41e120bd27Smrgused in advertising or otherwise to promote the sale, use or other dealings 42e120bd27Smrgin this Software without prior written authorization from the X Consortium. 43e120bd27Smrg </para> 44e120bd27Smrg <para> 45e120bd27Smrg<trademark><emphasis>X Window System</emphasis></trademark> 46e120bd27Smrgis a trademark of The Open Group. 47e120bd27Smrg </para> 48e120bd27Smrg 49e120bd27Smrg </legalnotice> 50e120bd27Smrg </articleinfo> 51e120bd27Smrg 520cc2eac3Smrg <sect1 id='Introduction'> 530cc2eac3Smrg<title>Introduction</title> 54e120bd27Smrg 55e120bd27Smrg <para> 56e120bd27SmrgThe Xmu Library is a collection of miscellaneous (some might say random) 57e120bd27Smrgutility functions that have been useful in building various applications 58e120bd27Smrgand widgets. This library is required by the Athena Widgets. 59e120bd27Smrg </para> 60e120bd27Smrg 61e120bd27Smrg <para> 62e120bd27SmrgStarting in XFree86 4.1.0, and incorporated into X11R6.7 and later releases, 63e120bd27Smrga subset of the functions that do not rely on the Athena Widgets (libXaw) 649dedec0cSmrgor X Toolkit Intrinsics (libXt) are provided in a second library, libXmuu. 65e120bd27Smrg </para> 66e120bd27Smrg 67e120bd27Smrg <para> 68e120bd27SmrgPrograms using either of these libraries are encouraged to determine the 69e120bd27Smrgcorrect compiler and linker options via the <userinput>xmu</userinput> or 70e120bd27Smrg<userinput>xmuu</userinput> module names for <command>pkg-config</command>, 71e120bd27Smrg<indexterm> 72e120bd27Smrg<primary><command>pkg-config</command></primary> 73e120bd27Smrg</indexterm> 74e120bd27Smrgsuch as: 75e120bd27Smrg 76e120bd27Smrg <screen> 77e120bd27Smrgcc -c xapplication.c `pkg-config --cflags xmu` 78e120bd27Smrgcc -o xapplication xapplication.o `pkg-config --libs xmu` 79e120bd27Smrg </screen> 80e120bd27Smrg </para> 81e120bd27Smrg 82e120bd27Smrg </sect1> 83e120bd27Smrg 840cc2eac3Smrg <sect1 id='Atom_Functions'> 850cc2eac3Smrg<title>Atom Functions</title> 86e120bd27Smrg 87e120bd27Smrg <para> 88e120bd27SmrgTo use the functions and macros defined in this section, you should include 89e120bd27Smrgthe header file 90e120bd27Smrg<<filename class='headerfile'>X11/Xmu/Atoms.h</filename>> 91e120bd27Smrg<indexterm> 92e120bd27Smrg<primary><filename class='headerfile'>X11/Xmu/Atoms.h</filename></primary> 93e120bd27Smrg</indexterm> 94e120bd27Smrgand link against the libXmu library. 95e120bd27Smrg </para> 96e120bd27Smrg 97e120bd27Smrg <funcsynopsis> 98e120bd27Smrg <funcprototype> 99e120bd27Smrg <funcdef><function>XA_ATOM_PAIR</function></funcdef> 100e120bd27Smrg <paramdef><parameter>d</parameter></paramdef> 101e120bd27Smrg </funcprototype> 102e120bd27Smrg <funcprototype> 103e120bd27Smrg <funcdef><function>XA_CHARACTER_POSITION</function></funcdef> 104e120bd27Smrg <paramdef><parameter>d</parameter></paramdef> 105e120bd27Smrg </funcprototype> 106e120bd27Smrg <funcprototype> 107e120bd27Smrg <funcdef><function>XA_CLASS</function></funcdef> 108e120bd27Smrg <paramdef><parameter>d</parameter></paramdef> 109e120bd27Smrg </funcprototype> 110e120bd27Smrg <funcprototype> 111e120bd27Smrg <funcdef><function>XA_CLIENT_WINDOW</function></funcdef> 112e120bd27Smrg <paramdef><parameter>d</parameter></paramdef> 113e120bd27Smrg </funcprototype> 114e120bd27Smrg <funcprototype> 115e120bd27Smrg <funcdef><function>XA_CLIPBOARD</function></funcdef> 116e120bd27Smrg <paramdef><parameter>d</parameter></paramdef> 117e120bd27Smrg </funcprototype> 118e120bd27Smrg <funcprototype> 119e120bd27Smrg <funcdef><function>XA_COMPOUND_TEXT</function></funcdef> 120e120bd27Smrg <paramdef><parameter>d</parameter></paramdef> 121e120bd27Smrg </funcprototype> 122e120bd27Smrg <funcprototype> 123e120bd27Smrg <funcdef><function>XA_DECNET_ADDRESS</function></funcdef> 124e120bd27Smrg <paramdef><parameter>d</parameter></paramdef> 125e120bd27Smrg </funcprototype> 126e120bd27Smrg <funcprototype> 127e120bd27Smrg <funcdef><function>XA_DELETE</function></funcdef> 128e120bd27Smrg <paramdef><parameter>d</parameter></paramdef> 129e120bd27Smrg </funcprototype> 130e120bd27Smrg <funcprototype> 131e120bd27Smrg <funcdef><function>XA_FILENAME</function></funcdef> 132e120bd27Smrg <paramdef><parameter>d</parameter></paramdef> 133e120bd27Smrg </funcprototype> 134e120bd27Smrg <funcprototype> 135e120bd27Smrg <funcdef><function>XA_HOSTNAME</function></funcdef> 136e120bd27Smrg <paramdef><parameter>d</parameter></paramdef> 137e120bd27Smrg </funcprototype> 138e120bd27Smrg <funcprototype> 139e120bd27Smrg <funcdef><function>XA_IP_ADDRESS</function></funcdef> 140e120bd27Smrg <paramdef><parameter>d</parameter></paramdef> 141e120bd27Smrg </funcprototype> 142e120bd27Smrg <funcprototype> 143e120bd27Smrg <funcdef><function>XA_LENGTH</function></funcdef> 144e120bd27Smrg <paramdef><parameter>d</parameter></paramdef> 145e120bd27Smrg </funcprototype> 146e120bd27Smrg <funcprototype> 147e120bd27Smrg <funcdef><function>XA_LIST_LENGTH</function></funcdef> 148e120bd27Smrg <paramdef><parameter>d</parameter></paramdef> 149e120bd27Smrg </funcprototype> 150e120bd27Smrg <funcprototype> 151e120bd27Smrg <funcdef><function>XA_NAME</function></funcdef> 152e120bd27Smrg <paramdef><parameter>d</parameter></paramdef> 153e120bd27Smrg </funcprototype> 154e120bd27Smrg <funcprototype> 155e120bd27Smrg <funcdef><function>XA_NET_ADDRESS</function></funcdef> 156e120bd27Smrg <paramdef><parameter>d</parameter></paramdef> 157e120bd27Smrg </funcprototype> 158e120bd27Smrg <funcprototype> 159e120bd27Smrg <funcdef><function>XA_NULL</function></funcdef> 160e120bd27Smrg <paramdef><parameter>d</parameter></paramdef> 161e120bd27Smrg </funcprototype> 162e120bd27Smrg <funcprototype> 163e120bd27Smrg <funcdef><function>XA_OWNER_OS</function></funcdef> 164e120bd27Smrg <paramdef><parameter>d</parameter></paramdef> 165e120bd27Smrg </funcprototype> 166e120bd27Smrg <funcprototype> 167e120bd27Smrg <funcdef><function>XA_SPAN</function></funcdef> 168e120bd27Smrg <paramdef><parameter>d</parameter></paramdef> 169e120bd27Smrg </funcprototype> 170e120bd27Smrg <funcprototype> 171e120bd27Smrg <funcdef><function>XA_TARGETS</function></funcdef> 172e120bd27Smrg <paramdef><parameter>d</parameter></paramdef> 173e120bd27Smrg </funcprototype> 174e120bd27Smrg <funcprototype> 175e120bd27Smrg <funcdef><function>XA_TEXT</function></funcdef> 176e120bd27Smrg <paramdef><parameter>d</parameter></paramdef> 177e120bd27Smrg </funcprototype> 178e120bd27Smrg <funcprototype> 179e120bd27Smrg <funcdef><function>XA_TIMESTAMP</function></funcdef> 180e120bd27Smrg <paramdef><parameter>d</parameter></paramdef> 181e120bd27Smrg </funcprototype> 182e120bd27Smrg <funcprototype> 183e120bd27Smrg <funcdef><function>XA_USER</function></funcdef> 184e120bd27Smrg <paramdef><parameter>d</parameter></paramdef> 185e120bd27Smrg </funcprototype> 186e120bd27Smrg <funcprototype> 187e120bd27Smrg <funcdef><function>XA_UTF8_STRING</function></funcdef> 188e120bd27Smrg <paramdef><parameter>d</parameter></paramdef> 189e120bd27Smrg </funcprototype> 190e120bd27Smrg </funcsynopsis> 191e120bd27Smrg 192e120bd27Smrg <para> 193e120bd27Smrg <indexterm> 194e120bd27Smrg <primary><type>Atom</type></primary> 195e120bd27Smrg </indexterm> 196e120bd27SmrgThese macros take a display as argument and return an 197e120bd27Smrg<type>Atom</type>. 198e120bd27SmrgThe name of the 199e120bd27Smrgatom is obtained from the macro name by removing the leading characters 200e120bd27Smrg“<code>XA_</code>”. The 201e120bd27Smrg<type>Atom</type> 202e120bd27Smrgvalue is cached, such that subsequent requests do not cause 203e120bd27Smrganother round-trip to the server. 204e120bd27Smrg </para> 205e120bd27Smrg 2060cc2eac3Smrg <para> 207e120bd27Smrg <indexterm zone="XmuMakeAtom"> 2080cc2eac3Smrg <primary><xref linkend='XmuMakeAtom' xrefstyle='select: title'/></primary> 209e120bd27Smrg </indexterm> 2100cc2eac3Smrg <funcsynopsis id='XmuMakeAtom'> 211e120bd27Smrg <funcprototype> 212e120bd27Smrg <funcdef>AtomPtr <function>XmuMakeAtom</function></funcdef> 213e120bd27Smrg <paramdef>const char *<parameter>name</parameter></paramdef> 214e120bd27Smrg </funcprototype> 215e120bd27Smrg </funcsynopsis> 216e120bd27Smrg <variablelist> 217e120bd27Smrg <varlistentry> 218e120bd27Smrg <term><parameter>name</parameter></term> 219e120bd27Smrg <listitem><para> 220e120bd27Smrgspecifies the atom name 221e120bd27Smrg </para></listitem> 222e120bd27Smrg </varlistentry> 223e120bd27Smrg </variablelist> 224e120bd27Smrg 225e120bd27SmrgThis function creates and initializes an opaque object, an 226e120bd27Smrg<type>AtomPtr</type>, 227e120bd27Smrgfor an 228e120bd27Smrg<type>Atom</type> 229e120bd27Smrgwith the 230e120bd27Smrggiven name. 2310cc2eac3Smrg<xref linkend='XmuInternAtom' xrefstyle='select: title'/> 232e120bd27Smrgcan be used to cache the Atom value for one or more displays. 233e120bd27Smrg </para> 234e120bd27Smrg 2350cc2eac3Smrg <para> 236e120bd27Smrg <indexterm zone="XmuNameOfAtom"> 2370cc2eac3Smrg <primary><xref linkend='XmuNameOfAtom' xrefstyle='select: title'/></primary> 238e120bd27Smrg </indexterm> 2390cc2eac3Smrg <funcsynopsis id='XmuNameOfAtom'> 240e120bd27Smrg <funcprototype> 241e120bd27Smrg <funcdef>char *<function>XmuNameOfAtom</function></funcdef> 242e120bd27Smrg <paramdef>AtomPtr <parameter>atom_ptr</parameter></paramdef> 243e120bd27Smrg </funcprototype> 244e120bd27Smrg </funcsynopsis> 245e120bd27Smrg <variablelist> 246e120bd27Smrg <varlistentry> 247e120bd27Smrg <term><parameter>atom_ptr</parameter></term> 248e120bd27Smrg <listitem><para> 249e120bd27Smrgspecifies the AtomPtr 250e120bd27Smrg </para></listitem> 251e120bd27Smrg </varlistentry> 252e120bd27Smrg </variablelist> 253e120bd27Smrg 254e120bd27SmrgThe function returns the name of an AtomPtr. 255e120bd27Smrg </para> 256e120bd27Smrg 2570cc2eac3Smrg <para> 258e120bd27Smrg <indexterm zone="XmuInternAtom"> 2590cc2eac3Smrg <primary><xref linkend='XmuInternAtom' xrefstyle='select: title'/></primary> 260e120bd27Smrg </indexterm> 2610cc2eac3Smrg <funcsynopsis id='XmuInternAtom'> 262e120bd27Smrg <funcprototype> 263e120bd27Smrg <funcdef>Atom <function>XmuInternAtom</function></funcdef> 264e120bd27Smrg <paramdef>Display *<parameter>dpy</parameter></paramdef> 265e120bd27Smrg <paramdef>AtomPtr <parameter>atom_ptr</parameter></paramdef> 266e120bd27Smrg </funcprototype> 267e120bd27Smrg </funcsynopsis> 268e120bd27Smrg <variablelist> 269e120bd27Smrg <varlistentry> 270e120bd27Smrg <term><parameter>dpy</parameter></term> 271e120bd27Smrg <listitem><para> 272e120bd27Smrgspecifies the connection to the X server 273e120bd27Smrg </para></listitem> 274e120bd27Smrg </varlistentry> 275e120bd27Smrg <varlistentry> 276e120bd27Smrg <term><parameter>atom_ptr</parameter></term> 277e120bd27Smrg <listitem><para> 278e120bd27Smrgspecifies the AtomPtr 279e120bd27Smrg </para></listitem> 280e120bd27Smrg </varlistentry> 281e120bd27Smrg </variablelist> 282e120bd27Smrg 283e120bd27SmrgThis function returns the 284e120bd27Smrg<type>Atom</type> 285e120bd27Smrgfor an 286e120bd27Smrg<type>AtomPtr</type>. 287e120bd27SmrgThe 288e120bd27Smrg<type>Atom</type> 289e120bd27Smrgis cached, 290e120bd27Smrgsuch that subsequent requests do not cause another round-trip to the server. 291e120bd27Smrg </para> 292e120bd27Smrg 2930cc2eac3Smrg <para> 294e120bd27Smrg <indexterm zone="XmuGetAtomName"> 2950cc2eac3Smrg <primary><xref linkend='XmuGetAtomName' xrefstyle='select: title'/></primary> 296e120bd27Smrg </indexterm> 2970cc2eac3Smrg <funcsynopsis id='XmuGetAtomName'> 298e120bd27Smrg <funcprototype> 299e120bd27Smrg <funcdef>char *<function>XmuGetAtomName</function></funcdef> 300e120bd27Smrg <paramdef>Display *<parameter>dpy</parameter></paramdef> 301e120bd27Smrg <paramdef>Atom <parameter>atom</parameter></paramdef> 302e120bd27Smrg </funcprototype> 303e120bd27Smrg </funcsynopsis> 304e120bd27Smrg <variablelist> 305e120bd27Smrg <varlistentry> 306e120bd27Smrg <term><parameter>dpy</parameter></term> 307e120bd27Smrg <listitem><para> 308e120bd27Smrgspecifies the connection to the X server 309e120bd27Smrg </para></listitem> 310e120bd27Smrg </varlistentry> 311e120bd27Smrg <varlistentry> 312e120bd27Smrg <term><parameter>atom</parameter></term> 313e120bd27Smrg <listitem><para> 314e120bd27Smrgspecifies the atom whose name is desired 315e120bd27Smrg </para></listitem> 316e120bd27Smrg </varlistentry> 317e120bd27Smrg </variablelist> 318e120bd27Smrg 319e120bd27SmrgThis function returns the name of an 320e120bd27Smrg<type>Atom</type>. 321e120bd27SmrgThe result is cached, such that subsequent 322e120bd27Smrgrequests do not cause another round-trip to the server. 323e120bd27Smrg </para> 324e120bd27Smrg 3250cc2eac3Smrg <para> 326e120bd27Smrg <indexterm zone="XmuInternStrings"> 3270cc2eac3Smrg <primary><xref linkend='XmuInternStrings' xrefstyle='select: title'/></primary> 328e120bd27Smrg </indexterm> 3290cc2eac3Smrg <funcsynopsis id='XmuInternStrings'> 330e120bd27Smrg <funcprototype> 331e120bd27Smrg <funcdef>void <function>XmuInternStrings</function></funcdef> 332e120bd27Smrg <paramdef>Display *<parameter>dpy</parameter></paramdef> 333e120bd27Smrg <paramdef>String *<parameter>names</parameter></paramdef> 334e120bd27Smrg <paramdef>Cardinal <parameter>count</parameter></paramdef> 335e120bd27Smrg <paramdef>Atom *<parameter>atoms</parameter></paramdef> 336e120bd27Smrg </funcprototype> 337e120bd27Smrg </funcsynopsis> 338e120bd27Smrg <variablelist> 339e120bd27Smrg <varlistentry> 340e120bd27Smrg <term><parameter>dpy</parameter></term> 341e120bd27Smrg <listitem><para> 342e120bd27Smrgspecifies the connection to the X server 343e120bd27Smrg </para></listitem> 344e120bd27Smrg </varlistentry> 345e120bd27Smrg <varlistentry> 346e120bd27Smrg <term><parameter>names</parameter></term> 347e120bd27Smrg <listitem><para> 348e120bd27Smrgspecifies the strings to intern 349e120bd27Smrg </para></listitem> 350e120bd27Smrg </varlistentry> 351e120bd27Smrg <varlistentry> 352e120bd27Smrg <term><parameter>count</parameter></term> 353e120bd27Smrg <listitem><para> 354e120bd27Smrgspecifies the number of strings 355e120bd27Smrg </para></listitem> 356e120bd27Smrg </varlistentry> 357e120bd27Smrg <varlistentry> 358e120bd27Smrg <term><parameter>atoms</parameter></term> 359e120bd27Smrg <listitem><para> 360e120bd27Smrgreturns the list of Atom values 361e120bd27Smrg </para></listitem> 362e120bd27Smrg </varlistentry> 363e120bd27Smrg </variablelist> 364e120bd27Smrg 365e120bd27SmrgThis function converts a list of atom names into 366e120bd27Smrg<type>Atom</type> 367e120bd27Smrgvalues. The results are cached, such 368e120bd27Smrgthat subsequent requests do not cause further round-trips to the server. 369e120bd27SmrgThe caller is responsible for preallocating the array pointed at by atoms. 370e120bd27Smrg </para> 371e120bd27Smrg 372e120bd27Smrg </sect1> 373e120bd27Smrg 3740cc2eac3Smrg <sect1 id='Error_Handler_Functions'> 3750cc2eac3Smrg<title>Error Handler Functions</title> 376e120bd27Smrg 377e120bd27Smrg <para> 378e120bd27SmrgTo use the functions defined in this section, you should include the header 379e120bd27Smrgfile 380e120bd27Smrg<<filename class='headerfile'>X11/Xmu/Error.h</filename>> 381e120bd27Smrg<indexterm> 382e120bd27Smrg<primary><filename class='headerfile'>X11/Xmu/Error.h</filename></primary> 383e120bd27Smrg</indexterm> 384e120bd27Smrgand link against the libXmu or libXmuu library. 385e120bd27Smrg </para> 386e120bd27Smrg 3870cc2eac3Smrg <para> 388e120bd27Smrg <indexterm zone="XmuPrintDefaultErrorMessage"> 3890cc2eac3Smrg <primary><xref linkend='XmuPrintDefaultErrorMessage' xrefstyle='select: title'/></primary> 390e120bd27Smrg </indexterm> 3910cc2eac3Smrg <funcsynopsis id='XmuPrintDefaultErrorMessage'> 392e120bd27Smrg <funcprototype> 393e120bd27Smrg <funcdef>int <function>XmuPrintDefaultErrorMessage</function></funcdef> 394e120bd27Smrg <paramdef>Display *<parameter>dpy</parameter></paramdef> 395e120bd27Smrg <paramdef>XErrorEvent *<parameter>event</parameter></paramdef> 396e120bd27Smrg <paramdef>FILE *<parameter>fp</parameter></paramdef> 397e120bd27Smrg </funcprototype> 398e120bd27Smrg </funcsynopsis> 399e120bd27Smrg <variablelist> 400e120bd27Smrg <varlistentry> 401e120bd27Smrg <term><parameter>dpy</parameter></term> 402e120bd27Smrg <listitem><para> 403e120bd27Smrgspecifies the connection to the X server 404e120bd27Smrg </para></listitem> 405e120bd27Smrg </varlistentry> 406e120bd27Smrg <varlistentry> 407e120bd27Smrg <term><parameter>event</parameter></term> 408e120bd27Smrg <listitem><para> 409e120bd27Smrgspecifies the error 410e120bd27Smrg </para></listitem> 411e120bd27Smrg </varlistentry> 412e120bd27Smrg <varlistentry> 413e120bd27Smrg <term><parameter>fp</parameter></term> 414e120bd27Smrg <listitem><para> 415e120bd27Smrg specifies where to print the error message 416e120bd27Smrg </para></listitem> 417e120bd27Smrg </varlistentry> 418e120bd27Smrg </variablelist> 419e120bd27Smrg 420e120bd27SmrgThis function prints an error message, equivalent to Xlib's default error 421e120bd27Smrgmessage for protocol errors. It returns a non-zero value 422e120bd27Smrgif the caller should consider exiting, otherwise it returns 0. 423e120bd27SmrgThis function can be used when you need to 424e120bd27Smrgwrite your own error handler, but need to print out an error from within 425e120bd27Smrgthat handler. 426e120bd27Smrg </para> 427e120bd27Smrg 428e120bd27Smrg <para id="XmuSimpleErrorHandler"> 429e120bd27Smrg <indexterm zone="XmuSimpleErrorHandler"> 430e120bd27Smrg <primary><function>XmuSimpleErrorHandler</function></primary> 431e120bd27Smrg </indexterm> 432e120bd27Smrg <funcsynopsis> 433e120bd27Smrg <funcprototype> 434e120bd27Smrg <funcdef>int <function>XmuSimpleErrorHandler</function></funcdef> 435e120bd27Smrg <paramdef>Display *<parameter>dpy</parameter></paramdef> 436e120bd27Smrg <paramdef>XErrorEvent *<parameter>errorp</parameter></paramdef> 437e120bd27Smrg </funcprototype> 438e120bd27Smrg </funcsynopsis> 439e120bd27Smrg <variablelist> 440e120bd27Smrg <varlistentry> 441e120bd27Smrg <term><parameter>dpy</parameter></term> 442e120bd27Smrg <listitem><para> 443e120bd27Smrgspecifies the connection to the X server 444e120bd27Smrg </para></listitem> 445e120bd27Smrg </varlistentry> 446e120bd27Smrg <varlistentry> 447e120bd27Smrg <term><parameter>errorp</parameter></term> 448e120bd27Smrg <listitem><para> 449e120bd27Smrgspecifies the error 450e120bd27Smrg </para></listitem> 451e120bd27Smrg </varlistentry> 452e120bd27Smrg </variablelist> 453e120bd27Smrg 454e120bd27SmrgThis function ignores errors for 455e120bd27Smrg<errorname>BadWindow</errorname> 456e120bd27Smrgerrors for 4570cc2eac3Smrg<olink targetdoc='libX11' targetptr='XQueryTree'><function>XQueryTree</function></olink> 458e120bd27Smrgand 4590cc2eac3Smrg<olink targetdoc='libX11' targetptr='XGetWindowAttributes'><function>XGetWindowAttributes</function></olink>, 460e120bd27Smrgand ignores 461e120bd27Smrg<errorname>BadDrawable</errorname> 462e120bd27Smrgerrors for 4630cc2eac3Smrg<olink targetdoc='libX11' targetptr='XGetGeometry'><function>XGetGeometry</function></olink>; 464e120bd27Smrgit returns 0 in those cases. Otherwise, it prints the default error message, 465e120bd27Smrgand returns a non-zero value if the caller should consider exiting, 466e120bd27Smrgand 0 if the caller should not exit. 467e120bd27Smrg </para> 468e120bd27Smrg </sect1> 469e120bd27Smrg 4700cc2eac3Smrg <sect1 id='System_Utility_Functions'> 4710cc2eac3Smrg<title>System Utility Functions</title> 472e120bd27Smrg 473e120bd27Smrg <para> 474e120bd27SmrgTo use the functions defined in this section, you should include the header 475e120bd27Smrgfile 476e120bd27Smrg<<filename class='headerfile'>X11/Xmu/SysUtil.h</filename>> 477e120bd27Smrg<indexterm> 478e120bd27Smrg<primary><filename class='headerfile'>X11/Xmu/SysUtil.h</filename></primary> 479e120bd27Smrg</indexterm> 480e120bd27Smrgand link against the libXmu or libXmuu library. 481e120bd27Smrg </para> 482e120bd27Smrg 483e120bd27Smrg <para id="XmuGetHostname"> 484e120bd27Smrg <indexterm zone="XmuGetHostname"> 485e120bd27Smrg <primary><function>XmuGetHostname</function></primary> 486e120bd27Smrg </indexterm> 487e120bd27Smrg <funcsynopsis> 488e120bd27Smrg <funcprototype> 489e120bd27Smrg <funcdef>int <function>XmuGetHostname</function></funcdef> 490e120bd27Smrg <paramdef>char *<parameter>buf</parameter></paramdef> 491e120bd27Smrg <paramdef>int <parameter>maxlen</parameter></paramdef> 492e120bd27Smrg </funcprototype> 493e120bd27Smrg </funcsynopsis> 494e120bd27Smrg <variablelist> 495e120bd27Smrg <varlistentry> 496e120bd27Smrg <term><parameter>buf</parameter></term> 497e120bd27Smrg <listitem><para> 498e120bd27Smrgreturns the host name 499e120bd27Smrg </para></listitem> 500e120bd27Smrg </varlistentry> 501e120bd27Smrg <varlistentry> 502e120bd27Smrg <term><parameter>maxlen</parameter></term> 503e120bd27Smrg <listitem><para> 504e120bd27Smrgspecifies the length of <parameter>buf</parameter> 505e120bd27Smrg </para></listitem> 506e120bd27Smrg </varlistentry> 507e120bd27Smrg </variablelist> 508e120bd27Smrg 509e120bd27SmrgThis function stores the null terminated name of the local host in 510e120bd27Smrg<parameter>buf</parameter>, and 511e120bd27Smrgreturns length of the name. This function hides operating system differences, 512e120bd27Smrgsuch as whether to call <function>gethostname</function> or 513e120bd27Smrg<function>uname</function>. 514e120bd27Smrg </para> 515e120bd27Smrg 516e120bd27Smrg <para id="XmuSnprintf"> 517e120bd27Smrg <indexterm zone="XmuSnprintf"> 518e120bd27Smrg <primary><function>XmuSnprintf</function></primary> 519e120bd27Smrg </indexterm> 520e120bd27Smrg <funcsynopsis> 521e120bd27Smrg <funcprototype> 522e120bd27Smrg <funcdef>int <function>XmuSnprintf</function></funcdef> 523e120bd27Smrg <paramdef>char *<parameter>str</parameter></paramdef> 524e120bd27Smrg <paramdef>int <parameter>size</parameter></paramdef> 525e120bd27Smrg <paramdef><parameter>...</parameter></paramdef> 526e120bd27Smrg </funcprototype> 527e120bd27Smrg </funcsynopsis> 528e120bd27Smrg <variablelist> 529e120bd27Smrg <varlistentry> 530e120bd27Smrg <term><parameter>str</parameter></term> 531e120bd27Smrg <listitem><para> 532e120bd27Smrgstring to write output to 533e120bd27Smrg </para></listitem> 534e120bd27Smrg </varlistentry> 535e120bd27Smrg <varlistentry> 536e120bd27Smrg <term><parameter>size</parameter></term> 537e120bd27Smrg <listitem><para> 538e120bd27Smrgspecifies the size of <parameter>str</parameter> 539e120bd27Smrg </para></listitem> 540e120bd27Smrg </varlistentry> 541e120bd27Smrg </variablelist> 542e120bd27Smrg 543e120bd27SmrgThis function was provided as a portable implementation of 544e120bd27Smrg<function>snprintf</function> before all platforms could be 545e120bd27Smrgrelied on to provide their own. It is now deprecated in favor of 546e120bd27Smrgcalling <function>snprintf</function> directly and should only be used 547e120bd27Smrgin software that needs to continue to support non-Unix98 compliant platforms. 548e120bd27Smrg </para> 549e120bd27Smrg 550e120bd27Smrg 551e120bd27Smrg </sect1> 552e120bd27Smrg 5530cc2eac3Smrg <sect1 id='Window_Utility_Functions'> 5540cc2eac3Smrg<title>Window Utility Functions</title> 555e120bd27Smrg 556e120bd27Smrg <para> 557e120bd27SmrgTo use the functions defined in this section, you should include the header 558e120bd27Smrgfile 559e120bd27Smrg<<filename class='headerfile'>X11/Xmu/WinUtil.h</filename>> 560e120bd27Smrg<indexterm> 561e120bd27Smrg<primary><filename class='headerfile'>X11/Xmu/WinUtil.h</filename></primary> 562e120bd27Smrg</indexterm>. 563e120bd27SmrgTo use <function>XmuClientWindow</function>, you may link against either the 564e120bd27SmrglibXmu or libXmuu libraries. The other functions in this section require 565e120bd27Smrglinking against the libXmu library. 566e120bd27Smrg </para> 567e120bd27Smrg 568e120bd27Smrg <para id="XmuScreenOfWindow"> 569e120bd27Smrg <indexterm zone="XmuScreenOfWindow"> 570e120bd27Smrg <primary><function>XmuScreenOfWindow</function></primary> 571e120bd27Smrg </indexterm> 572e120bd27Smrg <funcsynopsis> 573e120bd27Smrg <funcprototype> 574e120bd27Smrg <funcdef>Screen *<function>XmuScreenOfWindow</function></funcdef> 575e120bd27Smrg <paramdef>Display *<parameter>dpy</parameter></paramdef> 576e120bd27Smrg <paramdef>Window <parameter>w</parameter></paramdef> 577e120bd27Smrg </funcprototype> 578e120bd27Smrg </funcsynopsis> 579e120bd27Smrg <variablelist> 580e120bd27Smrg <varlistentry> 581e120bd27Smrg <term><parameter>dpy</parameter></term> 582e120bd27Smrg <listitem><para> 583e120bd27Smrgspecifies the connection to the X server 584e120bd27Smrg </para></listitem> 585e120bd27Smrg </varlistentry> 586e120bd27Smrg <varlistentry> 587e120bd27Smrg <term><parameter>w</parameter></term> 588e120bd27Smrg <listitem><para> 589e120bd27Smrgspecifies the window 590e120bd27Smrg </para></listitem> 591e120bd27Smrg </varlistentry> 592e120bd27Smrg </variablelist> 593e120bd27Smrg 594e120bd27SmrgThis function returns the 595e120bd27Smrg<type>Screen</type> 596e120bd27Smrgon which the specified window was created. 597e120bd27Smrg </para> 598e120bd27Smrg 599e120bd27Smrg <para id="XmuClientWindow"> 600e120bd27Smrg <indexterm zone="XmuClientWindow"> 601e120bd27Smrg <primary><function>XmuClientWindow</function></primary> 602e120bd27Smrg </indexterm> 603e120bd27Smrg <funcsynopsis> 604e120bd27Smrg <funcprototype> 605e120bd27Smrg <funcdef>Window <function>XmuClientWindow</function></funcdef> 606e120bd27Smrg <paramdef>Display *<parameter>dpy</parameter></paramdef> 607e120bd27Smrg <paramdef>Window <parameter>win</parameter></paramdef> 608e120bd27Smrg </funcprototype> 609e120bd27Smrg </funcsynopsis> 610e120bd27Smrg <variablelist> 611e120bd27Smrg <varlistentry> 612e120bd27Smrg <term><parameter>dpy</parameter></term> 613e120bd27Smrg <listitem><para> 614e120bd27Smrgspecifies the connection to the X server 615e120bd27Smrg </para></listitem> 616e120bd27Smrg </varlistentry> 617e120bd27Smrg <varlistentry> 618e120bd27Smrg <term><parameter>win</parameter></term> 619e120bd27Smrg <listitem><para> 620e120bd27Smrgspecifies the window 621e120bd27Smrg </para></listitem> 622e120bd27Smrg </varlistentry> 623e120bd27Smrg </variablelist> 624e120bd27Smrg 625e120bd27Smrg <indexterm zone="XmuClientWindow"> 626e120bd27Smrg <primary><property>WM_STATE</property></primary> 627e120bd27Smrg </indexterm> 628e120bd27SmrgThis function finds a window, at or below the specified window, which has a 629e120bd27Smrg<property>WM_STATE</property> property. If such a window is found, it is 630e120bd27Smrgreturned, otherwise the 631e120bd27Smrgargument window is returned. 632e120bd27Smrg </para> 633e120bd27Smrg 634e120bd27Smrg <para id="XmuUpdateMapHints"> 635e120bd27Smrg <indexterm zone="XmuUpdateMapHints"> 636e120bd27Smrg <primary><function>XmuUpdateMapHints</function></primary> 637e120bd27Smrg </indexterm> 638e120bd27Smrg <funcsynopsis> 639e120bd27Smrg <funcprototype> 640e120bd27Smrg <funcdef>Bool <function>XmuUpdateMapHints</function></funcdef> 641e120bd27Smrg <paramdef>Display *<parameter>dpy</parameter></paramdef> 642e120bd27Smrg <paramdef>Window <parameter>w</parameter></paramdef> 643e120bd27Smrg <paramdef>XSizeHints *<parameter>hints</parameter></paramdef> 644e120bd27Smrg </funcprototype> 645e120bd27Smrg </funcsynopsis> 646e120bd27Smrg <variablelist> 647e120bd27Smrg <varlistentry> 648e120bd27Smrg <term><parameter>dpy</parameter></term> 649e120bd27Smrg <listitem><para> 650e120bd27Smrgspecifies the connection to the X server 651e120bd27Smrg </para></listitem> 652e120bd27Smrg </varlistentry> 653e120bd27Smrg <varlistentry> 654e120bd27Smrg <term><parameter>win</parameter></term> 655e120bd27Smrg <listitem><para> 656e120bd27Smrgspecifies the window 657e120bd27Smrg </para></listitem> 658e120bd27Smrg </varlistentry> 659e120bd27Smrg <varlistentry> 660e120bd27Smrg <term><parameter>hints</parameter></term> 661e120bd27Smrg <listitem><para> 662e120bd27Smrgspecifies the new hints, or <symbol>NULL</symbol> 663e120bd27Smrg </para></listitem> 664e120bd27Smrg </varlistentry> 665e120bd27Smrg </variablelist> 666e120bd27Smrg 667e120bd27SmrgThis function clears the 668e120bd27Smrg<symbol>PPosition</symbol> 669e120bd27Smrgand 670e120bd27Smrg<symbol>PSize</symbol> 671e120bd27Smrgflags and sets the 672e120bd27Smrg<symbol>USPosition</symbol> 673e120bd27Smrgand 674e120bd27Smrg<symbol>USSize</symbol> 675e120bd27Smrgflags in the hints structure, and then stores the hints for the 676e120bd27Smrgwindow using 677e120bd27Smrg <indexterm zone="XmuUpdateMapHints"> 6780cc2eac3Smrg <primary><olink targetdoc='libX11' targetptr='XSetWMNormalHints'><function>XSetWMNormalHints</function></olink></primary> 679e120bd27Smrg </indexterm> 6800cc2eac3Smrg<olink targetdoc='libX11' targetptr='XSetWMNormalHints'><function>XSetWMNormalHints</function></olink> 681e120bd27Smrgand returns 682e120bd27Smrg<symbol>True</symbol>. 683e120bd27SmrgIf <symbol>NULL</symbol> is passed for the 684e120bd27Smrghints structure, then the current hints are read back from the window using 685e120bd27Smrg <indexterm zone="XmuUpdateMapHints"> 6860cc2eac3Smrg <primary><olink targetdoc='libX11' targetptr='XGetWMNormalHints'><function>XGetWMNormalHints</function></olink></primary> 687e120bd27Smrg </indexterm> 6880cc2eac3Smrg<olink targetdoc='libX11' targetptr='XGetWMNormalHints'><function>XGetWMNormalHints</function></olink> 689e120bd27Smrgand are used instead, and 690e120bd27Smrg<symbol>True</symbol> 691e120bd27Smrgis returned; otherwise 692e120bd27Smrg<symbol>False</symbol> 693e120bd27Smrgis returned. 694e120bd27Smrg </para> 695e120bd27Smrg 696e120bd27Smrg </sect1> 697e120bd27Smrg 6980cc2eac3Smrg <sect1 id='Cursor_Utility_Functions'> 6990cc2eac3Smrg<title>Cursor Utility Functions</title> 700e120bd27Smrg 701e120bd27Smrg <para> 702e120bd27SmrgTo use the functions defined in this section, you should include the header 703e120bd27Smrgfile 704e120bd27Smrg<<filename class='headerfile'>X11/Xmu/CurUtil.h</filename>> 705e120bd27Smrg<indexterm> 706e120bd27Smrg<primary><filename class='headerfile'>X11/Xmu/CurUtil.h</filename></primary> 707e120bd27Smrg</indexterm> 708e120bd27Smrgand link against the libXmu or libXmuu library. 709e120bd27Smrg </para> 710e120bd27Smrg 711e120bd27Smrg <para id="XmuCursorNameToIndex"> 712e120bd27Smrg <indexterm zone="XmuCursorNameToIndex"> 713e120bd27Smrg <primary><function>XmuCursorNameToIndex</function></primary> 714e120bd27Smrg </indexterm> 715e120bd27Smrg <funcsynopsis> 716e120bd27Smrg <funcprototype> 717e120bd27Smrg <funcdef>int <function>XmuCursorNameToIndex</function></funcdef> 718e120bd27Smrg <paramdef>const char *<parameter>name</parameter></paramdef> 719e120bd27Smrg </funcprototype> 720e120bd27Smrg </funcsynopsis> 721e120bd27Smrg <variablelist> 722e120bd27Smrg <varlistentry> 723e120bd27Smrg <term><parameter>name</parameter></term> 724e120bd27Smrg <listitem><para> 725e120bd27Smrgspecifies the name of the cursor 726e120bd27Smrg </para></listitem> 727e120bd27Smrg </varlistentry> 728e120bd27Smrg </variablelist> 729e120bd27Smrg 730e120bd27SmrgThis function takes the name of a standard cursor and returns its index 731e120bd27Smrgin the standard cursor font. The cursor names are formed by removing the 732e120bd27Smrg“<code>XC_</code>” prefix from the cursor defines listed in 733e120bd27SmrgAppendix B of the Xlib 734e120bd27Smrgmanual. 735e120bd27Smrg </para> 736e120bd27Smrg 737e120bd27Smrg </sect1> 738e120bd27Smrg 7390cc2eac3Smrg <sect1 id='Graphics_Functions'> 7400cc2eac3Smrg<title>Graphics Functions</title> 741e120bd27Smrg 742e120bd27Smrg <para> 743e120bd27SmrgTo use the functions defined in this section, you should include the header 744e120bd27Smrgfile 745e120bd27Smrg<<filename class='headerfile'>X11/Xmu/Drawing.h</filename>> 746e120bd27Smrg<indexterm> 747e120bd27Smrg<primary><filename class='headerfile'>X11/Xmu/Drawing.h</filename></primary> 748e120bd27Smrg</indexterm> 749e120bd27Smrgand link against the libXmu library. 750e120bd27Smrg </para> 751e120bd27Smrg 752e120bd27Smrg <para id="XmuDrawRoundedRectangle"> 753e120bd27Smrg <indexterm zone="XmuDrawRoundedRectangle"> 754e120bd27Smrg <primary><function>XmuDrawRoundedRectangle</function></primary> 755e120bd27Smrg </indexterm> 756e120bd27Smrg <funcsynopsis> 757e120bd27Smrg <funcprototype> 758e120bd27Smrg <funcdef>void <function>XmuDrawRoundedRectangle</function></funcdef> 759e120bd27Smrg <paramdef>Display *<parameter>dpy</parameter></paramdef> 760e120bd27Smrg <paramdef>Drawable <parameter>draw</parameter></paramdef> 761e120bd27Smrg <paramdef>GC <parameter>gc</parameter></paramdef> 762e120bd27Smrg <paramdef>int <parameter>x</parameter></paramdef> 763e120bd27Smrg <paramdef>int <parameter>y</parameter></paramdef> 764e120bd27Smrg <paramdef>int <parameter>w</parameter></paramdef> 765e120bd27Smrg <paramdef>int <parameter>h</parameter></paramdef> 766e120bd27Smrg <paramdef>int <parameter>ew</parameter></paramdef> 767e120bd27Smrg <paramdef>int <parameter>eh</parameter></paramdef> 768e120bd27Smrg </funcprototype> 769e120bd27Smrg </funcsynopsis> 770e120bd27Smrg <variablelist> 771e120bd27Smrg <varlistentry> 772e120bd27Smrg <term><parameter>dpy</parameter></term> 773e120bd27Smrg <listitem><para> 774e120bd27Smrgspecifies the connection to the X server 775e120bd27Smrg </para></listitem> 776e120bd27Smrg </varlistentry> 777e120bd27Smrg <varlistentry> 778e120bd27Smrg <term><parameter>draw</parameter></term> 779e120bd27Smrg <listitem><para> 780e120bd27Smrgspecifies the drawable 781e120bd27Smrg </para></listitem> 782e120bd27Smrg </varlistentry> 783e120bd27Smrg <varlistentry> 784e120bd27Smrg <term><parameter>gc</parameter></term> 785e120bd27Smrg <listitem><para> 786e120bd27Smrgspecifies the GC 787e120bd27Smrg </para></listitem> 788e120bd27Smrg </varlistentry> 789e120bd27Smrg <varlistentry> 790e120bd27Smrg <term><parameter>x</parameter></term> 791e120bd27Smrg <listitem><para> 792e120bd27Smrgspecifies the upper left x coordinate 793e120bd27Smrg </para></listitem> 794e120bd27Smrg </varlistentry> 795e120bd27Smrg <varlistentry> 796e120bd27Smrg <term><parameter>y</parameter></term> 797e120bd27Smrg <listitem><para> 798e120bd27Smrgspecifies the upper left y coordinate 799e120bd27Smrg </para></listitem> 800e120bd27Smrg </varlistentry> 801e120bd27Smrg <varlistentry> 802e120bd27Smrg <term><parameter>w</parameter></term> 803e120bd27Smrg <listitem><para> 804e120bd27Smrgspecifies the rectangle width 805e120bd27Smrg </para></listitem> 806e120bd27Smrg </varlistentry> 807e120bd27Smrg <varlistentry> 808e120bd27Smrg <term><parameter>h</parameter></term> 809e120bd27Smrg <listitem><para> 810e120bd27Smrgspecifies the rectangle height 811e120bd27Smrg </para></listitem> 812e120bd27Smrg </varlistentry> 813e120bd27Smrg <varlistentry> 814e120bd27Smrg <term><parameter>ew</parameter></term> 815e120bd27Smrg <listitem><para> 816e120bd27Smrgspecifies the corner width 817e120bd27Smrg </para></listitem> 818e120bd27Smrg </varlistentry> 819e120bd27Smrg <varlistentry> 820e120bd27Smrg <term><parameter>eh</parameter></term> 821e120bd27Smrg <listitem><para> 822e120bd27Smrgspecifies the corner height 823e120bd27Smrg </para></listitem> 824e120bd27Smrg </varlistentry> 825e120bd27Smrg </variablelist> 826e120bd27Smrg 827e120bd27SmrgThis function draws a rounded rectangle, where x, y, w, h are the dimensions 828e120bd27Smrgof the overall rectangle, and ew and eh are the sizes of a bounding box that 829e120bd27Smrgthe corners are drawn inside of; ew should be no more than half of w, and eh 830e120bd27Smrgshould be no more than half of h. The current GC line attributes control 831e120bd27Smrgall attributes of the line. 832e120bd27Smrg </para> 833e120bd27Smrg 834e120bd27Smrg <para id="XmuFillRoundedRectangle"> 835e120bd27Smrg <indexterm zone="XmuFillRoundedRectangle"> 836e120bd27Smrg <primary><function>XmuFillRoundedRectangle</function></primary> 837e120bd27Smrg </indexterm> 838e120bd27Smrg <funcsynopsis> 839e120bd27Smrg <funcprototype> 840e120bd27Smrg <funcdef>void <function>XmuFillRoundedRectangle</function></funcdef> 841e120bd27Smrg <paramdef>Display *<parameter>dpy</parameter></paramdef> 842e120bd27Smrg <paramdef>Drawable <parameter>draw</parameter></paramdef> 843e120bd27Smrg <paramdef>GC <parameter>gc</parameter></paramdef> 844e120bd27Smrg <paramdef>int <parameter>x</parameter></paramdef> 845e120bd27Smrg <paramdef>int <parameter>y</parameter></paramdef> 846e120bd27Smrg <paramdef>int <parameter>w</parameter></paramdef> 847e120bd27Smrg <paramdef>int <parameter>h</parameter></paramdef> 848e120bd27Smrg <paramdef>int <parameter>ew</parameter></paramdef> 849e120bd27Smrg <paramdef>int <parameter>eh</parameter></paramdef> 850e120bd27Smrg </funcprototype> 851e120bd27Smrg </funcsynopsis> 852e120bd27Smrg <variablelist> 853e120bd27Smrg <varlistentry> 854e120bd27Smrg <term><parameter>dpy</parameter></term> 855e120bd27Smrg <listitem><para> 856e120bd27Smrgspecifies the connection to the X server 857e120bd27Smrg </para></listitem> 858e120bd27Smrg </varlistentry> 859e120bd27Smrg <varlistentry> 860e120bd27Smrg <term><parameter>draw</parameter></term> 861e120bd27Smrg <listitem><para> 862e120bd27Smrgspecifies the drawable 863e120bd27Smrg </para></listitem> 864e120bd27Smrg </varlistentry> 865e120bd27Smrg <varlistentry> 866e120bd27Smrg <term><parameter>gc</parameter></term> 867e120bd27Smrg <listitem><para> 868e120bd27Smrgspecifies the GC 869e120bd27Smrg </para></listitem> 870e120bd27Smrg </varlistentry> 871e120bd27Smrg <varlistentry> 872e120bd27Smrg <term><parameter>x</parameter></term> 873e120bd27Smrg <listitem><para> 874e120bd27Smrgspecifies the upper left x coordinate 875e120bd27Smrg </para></listitem> 876e120bd27Smrg </varlistentry> 877e120bd27Smrg <varlistentry> 878e120bd27Smrg <term><parameter>y</parameter></term> 879e120bd27Smrg <listitem><para> 880e120bd27Smrgspecifies the upper left y coordinate 881e120bd27Smrg </para></listitem> 882e120bd27Smrg </varlistentry> 883e120bd27Smrg <varlistentry> 884e120bd27Smrg <term><parameter>w</parameter></term> 885e120bd27Smrg <listitem><para> 886e120bd27Smrgspecifies the rectangle width 887e120bd27Smrg </para></listitem> 888e120bd27Smrg </varlistentry> 889e120bd27Smrg <varlistentry> 890e120bd27Smrg <term><parameter>h</parameter></term> 891e120bd27Smrg <listitem><para> 892e120bd27Smrgspecifies the rectangle height 893e120bd27Smrg </para></listitem> 894e120bd27Smrg </varlistentry> 895e120bd27Smrg <varlistentry> 896e120bd27Smrg <term><parameter>ew</parameter></term> 897e120bd27Smrg <listitem><para> 898e120bd27Smrgspecifies the corner width 899e120bd27Smrg </para></listitem> 900e120bd27Smrg </varlistentry> 901e120bd27Smrg <varlistentry> 902e120bd27Smrg <term><parameter>eh</parameter></term> 903e120bd27Smrg <listitem><para> 904e120bd27Smrgspecifies the corner height 905e120bd27Smrg </para></listitem> 906e120bd27Smrg </varlistentry> 907e120bd27Smrg </variablelist> 908e120bd27Smrg 909e120bd27SmrgThis function draws a filled rounded rectangle, where x, y, w, h are the 910e120bd27Smrgdimensions of the overall rectangle, and ew and eh are the sizes of a 911e120bd27Smrgbounding box that the corners are drawn inside of; ew should be no more than 912e120bd27Smrghalf of w, and eh should be no more than half of h. The current GC fill 913e120bd27Smrgsettings control all attributes of the fill contents. 914e120bd27Smrg </para> 915e120bd27Smrg 916e120bd27Smrg <para id="XmuDrawLogo"> 917e120bd27Smrg <indexterm zone="XmuDrawLogo"> 918e120bd27Smrg <primary><function>XmuDrawLogo</function></primary> 919e120bd27Smrg </indexterm> 920e120bd27Smrg <funcsynopsis> 921e120bd27Smrg <funcprototype> 922e120bd27Smrg <funcdef><function>XmuDrawLogo</function></funcdef> 923e120bd27Smrg <paramdef>Display *<parameter>dpy</parameter></paramdef> 924e120bd27Smrg <paramdef>Drawable <parameter>drawable</parameter></paramdef> 925e120bd27Smrg <paramdef>GC <parameter>gcFore</parameter></paramdef> 926e120bd27Smrg <paramdef>GC <parameter>gcBack</parameter></paramdef> 927e120bd27Smrg <paramdef>int <parameter>x</parameter></paramdef> 928e120bd27Smrg <paramdef>int <parameter>y</parameter></paramdef> 929e120bd27Smrg <paramdef>unsigned int <parameter>width</parameter></paramdef> 930e120bd27Smrg <paramdef>unsigned int <parameter>height</parameter></paramdef> 931e120bd27Smrg </funcprototype> 932e120bd27Smrg </funcsynopsis> 933e120bd27Smrg <variablelist> 934e120bd27Smrg <varlistentry> 935e120bd27Smrg <term><parameter>dpy</parameter></term> 936e120bd27Smrg <listitem><para> 937e120bd27Smrgspecifies the connection to the X server 938e120bd27Smrg </para></listitem> 939e120bd27Smrg </varlistentry> 940e120bd27Smrg <varlistentry> 941e120bd27Smrg <term><parameter>drawable</parameter></term> 942e120bd27Smrg <listitem><para> 943e120bd27Smrgspecifies the drawable 944e120bd27Smrg </para></listitem> 945e120bd27Smrg </varlistentry> 946e120bd27Smrg <varlistentry> 947e120bd27Smrg <term><parameter>gcFore</parameter></term> 948e120bd27Smrg <listitem><para> 949e120bd27Smrgspecifies the foreground GC 950e120bd27Smrg </para></listitem> 951e120bd27Smrg </varlistentry> 952e120bd27Smrg <varlistentry> 953e120bd27Smrg <term><parameter>gcBack</parameter></term> 954e120bd27Smrg <listitem><para> 955e120bd27Smrgspecifies the background GC 956e120bd27Smrg </para></listitem> 957e120bd27Smrg </varlistentry> 958e120bd27Smrg <varlistentry> 959e120bd27Smrg <term><parameter>x</parameter></term> 960e120bd27Smrg <listitem><para> 961e120bd27Smrgspecifies the upper left x coordinate 962e120bd27Smrg </para></listitem> 963e120bd27Smrg </varlistentry> 964e120bd27Smrg <varlistentry> 965e120bd27Smrg <term><parameter>y</parameter></term> 966e120bd27Smrg <listitem><para> 967e120bd27Smrgspecifies the upper left y coordinate 968e120bd27Smrg </para></listitem> 969e120bd27Smrg </varlistentry> 970e120bd27Smrg <varlistentry> 971e120bd27Smrg <term><parameter>width</parameter></term> 972e120bd27Smrg <listitem><para> 973e120bd27Smrgspecifies the logo width 974e120bd27Smrg </para></listitem> 975e120bd27Smrg </varlistentry> 976e120bd27Smrg <varlistentry> 977e120bd27Smrg <term><parameter>height</parameter></term> 978e120bd27Smrg <listitem><para> 979e120bd27Smrgspecifies the logo height 980e120bd27Smrg </para></listitem> 981e120bd27Smrg </varlistentry> 982e120bd27Smrg </variablelist> 983e120bd27Smrg 9840cc2eac3SmrgThis function draws the “official” X Window System logo 9850cc2eac3Smrg(<xref linkend="xlogo"/>). The bounding box 9860cc2eac3Smrgof the logo in the drawable is given by x, y, width, and height. The logo 9870cc2eac3Smrgitself is filled using gcFore, and the rest of the rectangle is filled using 9880cc2eac3SmrggcBack. 9890cc2eac3Smrg </para> 9900cc2eac3Smrg <figure id="xlogo" pgwide="0"> 991e120bd27Smrg <title>The X Logo</title> 992e120bd27Smrg <mediaobject> 993e120bd27Smrg <imageobject> 994e120bd27Smrg <imagedata id="xlogo-svg" format="SVG" fileref="xlogo.svg"/> 995e120bd27Smrg </imageobject> 996e120bd27Smrg </mediaobject> 997e120bd27Smrg </figure> 998e120bd27Smrg <para id="XmuCreateStippledPixmap"> 999e120bd27Smrg <indexterm zone="XmuCreateStippledPixmap"> 1000e120bd27Smrg <primary><function>XmuCreateStippledPixmap</function></primary> 1001e120bd27Smrg </indexterm> 1002e120bd27Smrg <funcsynopsis> 1003e120bd27Smrg <funcprototype> 1004e120bd27Smrg <funcdef>Pixmap <function>XmuCreateStippledPixmap</function></funcdef> 1005e120bd27Smrg <paramdef>Screen *<parameter>screen</parameter></paramdef> 1006e120bd27Smrg <paramdef>Pixel <parameter>fore</parameter></paramdef> 1007e120bd27Smrg <paramdef>Pixel <parameter>back</parameter></paramdef> 1008e120bd27Smrg <paramdef>unsigned int <parameter>depth</parameter></paramdef> 1009e120bd27Smrg </funcprototype> 1010e120bd27Smrg </funcsynopsis> 1011e120bd27Smrg <variablelist> 1012e120bd27Smrg <varlistentry> 1013e120bd27Smrg <term><parameter>screen</parameter></term> 1014e120bd27Smrg <listitem><para> 1015e120bd27Smrgspecifies the screen the pixmap is created on 1016e120bd27Smrg </para></listitem> 1017e120bd27Smrg </varlistentry> 1018e120bd27Smrg <varlistentry> 1019e120bd27Smrg <term><parameter>fore</parameter></term> 1020e120bd27Smrg <listitem><para> 1021e120bd27Smrgspecifies the foreground pixel value 1022e120bd27Smrg </para></listitem> 1023e120bd27Smrg </varlistentry> 1024e120bd27Smrg <varlistentry> 1025e120bd27Smrg <term><parameter>back</parameter></term> 1026e120bd27Smrg <listitem><para> 1027e120bd27Smrgspecifies the background pixel value 1028e120bd27Smrg </para></listitem> 1029e120bd27Smrg </varlistentry> 1030e120bd27Smrg <varlistentry> 1031e120bd27Smrg <term><parameter>depth</parameter></term> 1032e120bd27Smrg <listitem><para> 1033e120bd27Smrgspecifies the depth of the pixmap 1034e120bd27Smrg </para></listitem> 1035e120bd27Smrg </varlistentry> 1036e120bd27Smrg </variablelist> 1037e120bd27Smrg 1038e120bd27SmrgThis function creates a two pixel by one pixel stippled pixmap of specified 1039e120bd27Smrgdepth on the specified screen. The pixmap is cached so that multiple 1040e120bd27Smrgrequests share the same pixmap. The pixmap should be freed with 1041e120bd27Smrg<function>XmuReleaseStippledPixmap</function> 1042e120bd27Smrgto maintain correct reference counts. 1043e120bd27Smrg </para> 1044e120bd27Smrg 1045e120bd27Smrg <para id="XmuReleaseStippledPixmap"> 1046e120bd27Smrg <indexterm zone="XmuReleaseStippledPixmap"> 1047e120bd27Smrg <primary><function>XmuReleaseStippledPixmap</function></primary> 1048e120bd27Smrg </indexterm> 1049e120bd27Smrg <funcsynopsis> 1050e120bd27Smrg <funcprototype> 1051e120bd27Smrg <funcdef>void <function>XmuReleaseStippledPixmap</function></funcdef> 1052e120bd27Smrg <paramdef>Screen *<parameter>screen</parameter></paramdef> 1053e120bd27Smrg <paramdef>Pixmap <parameter>pixmap</parameter></paramdef> 1054e120bd27Smrg </funcprototype> 1055e120bd27Smrg </funcsynopsis> 1056e120bd27Smrg <variablelist> 1057e120bd27Smrg <varlistentry> 1058e120bd27Smrg <term><parameter>screen</parameter></term> 1059e120bd27Smrg <listitem><para> 1060e120bd27Smrgspecifies the screen the pixmap was created on 1061e120bd27Smrg </para></listitem> 1062e120bd27Smrg </varlistentry> 1063e120bd27Smrg <varlistentry> 1064e120bd27Smrg <term><parameter>pixmap</parameter></term> 1065e120bd27Smrg <listitem><para> 1066e120bd27Smrgspecifies the pixmap to free 1067e120bd27Smrg </para></listitem> 1068e120bd27Smrg </varlistentry> 1069e120bd27Smrg </variablelist> 1070e120bd27Smrg 1071e120bd27SmrgThis function frees a pixmap created with 1072e120bd27Smrg<function>XmuCreateStippledPixmap</function>. 1073e120bd27Smrg </para> 1074e120bd27Smrg 1075e120bd27Smrg <para id="XmuReadBitmapData"> 1076e120bd27Smrg <indexterm zone="XmuReadBitmapData"> 1077e120bd27Smrg <primary><function>XmuReadBitmapData</function></primary> 1078e120bd27Smrg </indexterm> 1079e120bd27Smrg <funcsynopsis> 1080e120bd27Smrg <funcprototype> 1081e120bd27Smrg <funcdef>int <function>XmuReadBitmapData</function></funcdef> 1082e120bd27Smrg <paramdef>FILE *<parameter>fstream</parameter></paramdef> 1083e120bd27Smrg <paramdef>unsigned int *<parameter>width</parameter></paramdef> 1084e120bd27Smrg <paramdef>unsigned int *<parameter>height</parameter></paramdef> 1085e120bd27Smrg <paramdef>unsigned char **<parameter>datap</parameter></paramdef> 1086e120bd27Smrg <paramdef>int *<parameter>x_hot</parameter></paramdef> 1087e120bd27Smrg <paramdef>int *<parameter>y_hot</parameter></paramdef> 1088e120bd27Smrg </funcprototype> 1089e120bd27Smrg </funcsynopsis> 1090e120bd27Smrg <variablelist> 1091e120bd27Smrg <varlistentry> 1092e120bd27Smrg <term><parameter>fstream</parameter></term> 1093e120bd27Smrg <listitem><para> 1094e120bd27Smrgspecifies the stream to read from 1095e120bd27Smrg </para></listitem> 1096e120bd27Smrg </varlistentry> 1097e120bd27Smrg <varlistentry> 1098e120bd27Smrg <term><parameter>width</parameter></term> 1099e120bd27Smrg <listitem><para> 1100e120bd27Smrgreturns the width of the bitmap 1101e120bd27Smrg </para></listitem> 1102e120bd27Smrg </varlistentry> 1103e120bd27Smrg <varlistentry> 1104e120bd27Smrg <term><parameter>height</parameter></term> 1105e120bd27Smrg <listitem><para> 1106e120bd27Smrgreturns the height of the bitmap 1107e120bd27Smrg </para></listitem> 1108e120bd27Smrg </varlistentry> 1109e120bd27Smrg <varlistentry> 1110e120bd27Smrg <term><parameter>datap</parameter></term> 1111e120bd27Smrg <listitem><para> 1112e120bd27Smrgreturns the parsed bitmap data 1113e120bd27Smrg </para></listitem> 1114e120bd27Smrg </varlistentry> 1115e120bd27Smrg <varlistentry> 1116e120bd27Smrg <term><parameter>x_hot</parameter></term> 1117e120bd27Smrg <listitem><para> 1118e120bd27Smrgreturns the x coordinate of the hotspot 1119e120bd27Smrg </para></listitem> 1120e120bd27Smrg </varlistentry> 1121e120bd27Smrg <varlistentry> 1122e120bd27Smrg <term><parameter>y_hot</parameter></term> 1123e120bd27Smrg <listitem><para> 1124e120bd27Smrgreturns the y coordinate of the hotspot 1125e120bd27Smrg </para></listitem> 1126e120bd27Smrg </varlistentry> 1127e120bd27Smrg </variablelist> 1128e120bd27Smrg 1129e120bd27SmrgThis function reads a standard bitmap file description from the specified 1130e120bd27Smrgstream, and returns the parsed data in a format suitable for passing to 11310cc2eac3Smrg<olink targetdoc='libX11' targetptr='XCreateBitmapFromData'><function>XCreateBitmapFromData</function></olink>. 1132e120bd27SmrgThe return value of the function has the same 1133e120bd27Smrginterpretation as the return value for 11340cc2eac3Smrg<olink targetdoc='libX11' targetptr='XReadBitmapFile'><function>XReadBitmapFile</function></olink>. 1135e120bd27Smrg </para> 1136e120bd27Smrg 1137e120bd27Smrg <para id="XmuReadBitmapDataFromFile"> 1138e120bd27Smrg <indexterm zone="XmuReadBitmapDataFromFile"> 1139e120bd27Smrg <primary><function>XmuReadBitmapDataFromFile</function></primary> 1140e120bd27Smrg </indexterm> 1141e120bd27Smrg <funcsynopsis> 1142e120bd27Smrg <funcprototype> 1143e120bd27Smrg <funcdef>int <function>XmuReadBitmapDataFromFile</function></funcdef> 1144e120bd27Smrg <paramdef>const char *<parameter>filename</parameter></paramdef> 1145e120bd27Smrg <paramdef>unsigned int *<parameter>width</parameter></paramdef> 1146e120bd27Smrg <paramdef>unsigned int *<parameter>height</parameter></paramdef> 1147e120bd27Smrg <paramdef>unsigned char **<parameter>datap</parameter></paramdef> 1148e120bd27Smrg <paramdef>int *<parameter>x_hot</parameter></paramdef> 1149e120bd27Smrg <paramdef>int *<parameter>y_hot</parameter></paramdef> 1150e120bd27Smrg </funcprototype> 1151e120bd27Smrg </funcsynopsis> 1152e120bd27Smrg <variablelist> 1153e120bd27Smrg <varlistentry> 1154e120bd27Smrg <term><parameter>fstream</parameter></term> 1155e120bd27Smrg <listitem><para> 1156e120bd27Smrgspecifies the file to read from 1157e120bd27Smrg </para></listitem> 1158e120bd27Smrg </varlistentry> 1159e120bd27Smrg <varlistentry> 1160e120bd27Smrg <term><parameter>width</parameter></term> 1161e120bd27Smrg <listitem><para> 1162e120bd27Smrgreturns the width of the bitmap 1163e120bd27Smrg </para></listitem> 1164e120bd27Smrg </varlistentry> 1165e120bd27Smrg <varlistentry> 1166e120bd27Smrg <term><parameter>height</parameter></term> 1167e120bd27Smrg <listitem><para> 1168e120bd27Smrgreturns the height of the bitmap 1169e120bd27Smrg </para></listitem> 1170e120bd27Smrg </varlistentry> 1171e120bd27Smrg <varlistentry> 1172e120bd27Smrg <term><parameter>datap</parameter></term> 1173e120bd27Smrg <listitem><para> 1174e120bd27Smrgreturns the parsed bitmap data 1175e120bd27Smrg </para></listitem> 1176e120bd27Smrg </varlistentry> 1177e120bd27Smrg <varlistentry> 1178e120bd27Smrg <term><parameter>x_hot</parameter></term> 1179e120bd27Smrg <listitem><para> 1180e120bd27Smrgreturns the x coordinate of the hotspot 1181e120bd27Smrg </para></listitem> 1182e120bd27Smrg </varlistentry> 1183e120bd27Smrg <varlistentry> 1184e120bd27Smrg <term><parameter>y_hot</parameter></term> 1185e120bd27Smrg <listitem><para> 1186e120bd27Smrgreturns the y coordinate of the hotspot 1187e120bd27Smrg </para></listitem> 1188e120bd27Smrg </varlistentry> 1189e120bd27Smrg </variablelist> 1190e120bd27Smrg 1191e120bd27SmrgThis function reads a standard bitmap file description from the specified 1192e120bd27Smrgfile, and returns the parsed data in a format suitable for passing to 11930cc2eac3Smrg<olink targetdoc='libX11' targetptr='XCreateBitmapFromData'><function>XCreateBitmapFromData</function></olink>. 1194e120bd27SmrgThe return value of the function has the same 1195e120bd27Smrginterpretation as the return value for 11960cc2eac3Smrg<olink targetdoc='libX11' targetptr='XReadBitmapFile'><function>XReadBitmapFile</function></olink>. 1197e120bd27Smrg </para> 1198e120bd27Smrg 1199e120bd27Smrg <para id="XmuLocateBitmapFile"> 1200e120bd27Smrg <indexterm zone="XmuLocateBitmapFile"> 1201e120bd27Smrg <primary><function>XmuLocateBitmapFile</function></primary> 1202e120bd27Smrg </indexterm> 1203e120bd27Smrg <funcsynopsis> 1204e120bd27Smrg <funcprototype> 1205e120bd27Smrg <funcdef>Pixmap <function>XmuLocateBitmapFile</function></funcdef> 1206e120bd27Smrg <paramdef>Screen *<parameter>screen</parameter></paramdef> 1207e120bd27Smrg <paramdef>const char *<parameter>name</parameter></paramdef> 1208e120bd27Smrg <paramdef>char *<parameter>srcname</parameter></paramdef> 1209e120bd27Smrg <paramdef>int <parameter>srcnamelen</parameter></paramdef> 1210e120bd27Smrg <paramdef>int *<parameter>widthp</parameter></paramdef> 1211e120bd27Smrg <paramdef>int *<parameter>heightp</parameter></paramdef> 1212e120bd27Smrg <paramdef>int *<parameter>xhotp</parameter></paramdef> 1213e120bd27Smrg <paramdef>int *<parameter>yhotp</parameter></paramdef> 1214e120bd27Smrg </funcprototype> 1215e120bd27Smrg </funcsynopsis> 1216e120bd27Smrg <variablelist> 1217e120bd27Smrg <varlistentry> 1218e120bd27Smrg <term><parameter>screen</parameter></term> 1219e120bd27Smrg <listitem><para> 1220e120bd27Smrgspecifies the screen the pixmap is created on 1221e120bd27Smrg </para></listitem> 1222e120bd27Smrg </varlistentry> 1223e120bd27Smrg <varlistentry> 1224e120bd27Smrg <term><parameter>name</parameter></term> 1225e120bd27Smrg <listitem><para> 1226e120bd27Smrgspecifies the file to read from 1227e120bd27Smrg </para></listitem> 1228e120bd27Smrg </varlistentry> 1229e120bd27Smrg <varlistentry> 1230e120bd27Smrg <term><parameter>srcname</parameter></term> 1231e120bd27Smrg <listitem><para> 1232e120bd27Smrgreturns the full filename of the bitmap 1233e120bd27Smrg </para></listitem> 1234e120bd27Smrg </varlistentry> 1235e120bd27Smrg <varlistentry> 1236e120bd27Smrg <term><parameter>srcnamelen</parameter></term> 1237e120bd27Smrg <listitem><para> 1238e120bd27Smrgspecifies the length of the srcname buffer 1239e120bd27Smrg </para></listitem> 1240e120bd27Smrg </varlistentry> 1241e120bd27Smrg <varlistentry> 1242e120bd27Smrg <term><parameter>width</parameter></term> 1243e120bd27Smrg <listitem><para> 1244e120bd27Smrgreturns the width of the bitmap 1245e120bd27Smrg </para></listitem> 1246e120bd27Smrg </varlistentry> 1247e120bd27Smrg <varlistentry> 1248e120bd27Smrg <term><parameter>height</parameter></term> 1249e120bd27Smrg <listitem><para> 1250e120bd27Smrgreturns the height of the bitmap 1251e120bd27Smrg </para></listitem> 1252e120bd27Smrg </varlistentry> 1253e120bd27Smrg <varlistentry> 1254e120bd27Smrg <term><parameter>xhotp</parameter></term> 1255e120bd27Smrg <listitem><para> 1256e120bd27Smrgreturns the x coordinate of the hotspot 1257e120bd27Smrg </para></listitem> 1258e120bd27Smrg </varlistentry> 1259e120bd27Smrg <varlistentry> 1260e120bd27Smrg <term><parameter>yhotp</parameter></term> 1261e120bd27Smrg <listitem><para> 1262e120bd27Smrgreturns the y coordinate of the hotspot 1263e120bd27Smrg </para></listitem> 1264e120bd27Smrg </varlistentry> 1265e120bd27Smrg </variablelist> 1266e120bd27Smrg 1267e120bd27SmrgThis function reads a file in standard bitmap file format, using 12680cc2eac3Smrg<olink targetdoc='libX11' targetptr='XReadBitmapFile'><function>XReadBitmapFile</function></olink>, 1269e120bd27Smrgand returns the created bitmap. The filename may be 1270e120bd27Smrgabsolute, or relative to the global resource named 1271e120bd27Smrg <indexterm zone="XmuLocateBitmapFile"> 1272e120bd27Smrg <primary><systemitem class="resource">bitmapFilePath</systemitem></primary> 1273e120bd27Smrg </indexterm> 1274e120bd27Smrg<systemitem class="resource">bitmapFilePath</systemitem> with class 1275e120bd27SmrgBitmapFilePath. If the resource is not defined, the default value is the 1276e120bd27Smrgbuild symbol BITMAPDIR, which is typically 1277e120bd27Smrg"<filename class="directory">/usr/include/X11/bitmaps</filename>". 1278e120bd27SmrgIf <parameter>srcnamelen</parameter> is greater than zero and 1279e120bd27Smrg<parameter>srcname</parameter> is not <symbol>NULL</symbol>, 1280e120bd27Smrgthe null terminated filename will be copied into 1281e120bd27Smrg<parameter>srcname</parameter>. The size and hotspot of the bitmap are 1282e120bd27Smrgalso returned. 1283e120bd27Smrg </para> 1284e120bd27Smrg 1285e120bd27Smrg <para id="XmuCreatePixmapFromBitmap"> 1286e120bd27Smrg <indexterm zone="XmuCreatePixmapFromBitmap"> 1287e120bd27Smrg <primary><function>XmuCreatePixmapFromBitmap</function></primary> 1288e120bd27Smrg </indexterm> 1289e120bd27Smrg <funcsynopsis> 1290e120bd27Smrg <funcprototype> 1291e120bd27Smrg <funcdef>Pixmap <function>XmuCreatePixmapFromBitmap</function></funcdef> 1292e120bd27Smrg <paramdef>Display *<parameter>dpy</parameter></paramdef> 1293e120bd27Smrg <paramdef>Drawable <parameter>d</parameter></paramdef> 1294e120bd27Smrg <paramdef>Pixmap <parameter>bitmap</parameter></paramdef> 1295e120bd27Smrg <paramdef>unsigned int <parameter>width</parameter></paramdef> 1296e120bd27Smrg <paramdef>unsigned int <parameter>height</parameter></paramdef> 1297e120bd27Smrg <paramdef>unsigned int <parameter>depth</parameter></paramdef> 1298e120bd27Smrg <paramdef>unsigned long <parameter>fore</parameter></paramdef> 1299e120bd27Smrg <paramdef>unsigned long <parameter>back</parameter></paramdef> 1300e120bd27Smrg </funcprototype> 1301e120bd27Smrg </funcsynopsis> 1302e120bd27Smrg <variablelist> 1303e120bd27Smrg <varlistentry> 1304e120bd27Smrg <term><parameter>dpy</parameter></term> 1305e120bd27Smrg <listitem><para> 1306e120bd27Smrgspecifies the connection to the X server 1307e120bd27Smrg </para></listitem> 1308e120bd27Smrg </varlistentry> 1309e120bd27Smrg <varlistentry> 1310e120bd27Smrg <term><parameter>screen</parameter></term> 1311e120bd27Smrg <listitem><para> 1312e120bd27Smrgspecifies the screen the pixmap is created on 1313e120bd27Smrg </para></listitem> 1314e120bd27Smrg </varlistentry> 1315e120bd27Smrg <varlistentry> 1316e120bd27Smrg <term><parameter>bitmap</parameter></term> 1317e120bd27Smrg <listitem><para> 1318e120bd27Smrgspecifies the bitmap source 1319e120bd27Smrg </para></listitem> 1320e120bd27Smrg </varlistentry> 1321e120bd27Smrg <varlistentry> 1322e120bd27Smrg <term><parameter>width</parameter></term> 1323e120bd27Smrg <listitem><para> 1324e120bd27Smrgspecifies the width of the pixmap 1325e120bd27Smrg </para></listitem> 1326e120bd27Smrg </varlistentry> 1327e120bd27Smrg <varlistentry> 1328e120bd27Smrg <term><parameter>height</parameter></term> 1329e120bd27Smrg <listitem><para> 1330e120bd27Smrgspecifies the height of the pixmap 1331e120bd27Smrg </para></listitem> 1332e120bd27Smrg </varlistentry> 1333e120bd27Smrg <varlistentry> 1334e120bd27Smrg <term><parameter>depth</parameter></term> 1335e120bd27Smrg <listitem><para> 1336e120bd27Smrgspecifies the depth of the pixmap 1337e120bd27Smrg </para></listitem> 1338e120bd27Smrg </varlistentry> 1339e120bd27Smrg <varlistentry> 1340e120bd27Smrg <term><parameter>fore</parameter></term> 1341e120bd27Smrg <listitem><para> 1342e120bd27Smrgspecifies the foreground pixel value 1343e120bd27Smrg </para></listitem> 1344e120bd27Smrg </varlistentry> 1345e120bd27Smrg <varlistentry> 1346e120bd27Smrg <term><parameter>back</parameter></term> 1347e120bd27Smrg <listitem><para> 1348e120bd27Smrgspecifies the background pixel value 1349e120bd27Smrg </para></listitem> 1350e120bd27Smrg </varlistentry> 1351e120bd27Smrg </variablelist> 1352e120bd27Smrg 1353e120bd27SmrgThis function creates a pixmap of the specified width, height, and depth, on 1354e120bd27Smrgthe same screen as the specified drawable, and then performs an 13550cc2eac3Smrg<olink targetdoc='libX11' targetptr='XCopyPlane'><function>XCopyPlane</function></olink> 1356e120bd27Smrgfrom the specified bitmap to the pixmap, 1357e120bd27Smrgusing the specified foreground and background pixel values. 1358e120bd27SmrgThe created pixmap is returned. 1359e120bd27Smrg </para> 1360e120bd27Smrg 1361e120bd27Smrg </sect1> 1362e120bd27Smrg 13630cc2eac3Smrg <sect1 id='Selection_Functions'> 13640cc2eac3Smrg<title>Selection Functions</title> 1365e120bd27Smrg 1366e120bd27Smrg <para> 1367e120bd27SmrgTo use the functions defined in this section, you should include the header 1368e120bd27Smrgfile 1369e120bd27Smrg<<filename class='headerfile'>X11/Xmu/StdSel.h</filename>> 1370e120bd27Smrg<indexterm> 1371e120bd27Smrg<primary><filename class='headerfile'>X11/Xmu/StdSel.h</filename></primary> 1372e120bd27Smrg</indexterm> 1373e120bd27Smrgand link against the libXmu library. 1374e120bd27Smrg </para> 1375e120bd27Smrg 1376e120bd27Smrg <para id="XmuConvertStandardSelection"> 1377e120bd27Smrg <indexterm zone="XmuConvertStandardSelection"> 1378e120bd27Smrg <primary><function>XmuConvertStandardSelection</function></primary> 1379e120bd27Smrg </indexterm> 1380e120bd27Smrg <funcsynopsis> 1381e120bd27Smrg <funcprototype> 1382e120bd27Smrg <funcdef>Boolean <function>XmuConvertStandardSelection</function></funcdef> 1383e120bd27Smrg <paramdef>Widget <parameter>w</parameter></paramdef> 1384e120bd27Smrg <paramdef>Time <parameter>time</parameter></paramdef> 1385e120bd27Smrg <paramdef>Atom *<parameter>selection</parameter></paramdef> 1386e120bd27Smrg <paramdef>Atom *<parameter>target</parameter></paramdef> 1387e120bd27Smrg <paramdef>Atom *<parameter>type</parameter></paramdef> 1388e120bd27Smrg <paramdef>XPointer <parameter>value</parameter></paramdef> 1389e120bd27Smrg <paramdef>unsigned long *<parameter>length</parameter></paramdef> 1390e120bd27Smrg <paramdef>int *<parameter>format</parameter></paramdef> 1391e120bd27Smrg </funcprototype> 1392e120bd27Smrg </funcsynopsis> 1393e120bd27Smrg <variablelist> 1394e120bd27Smrg <varlistentry> 1395e120bd27Smrg <term><parameter>w</parameter></term> 1396e120bd27Smrg <listitem><para> 1397e120bd27Smrgspecifies the widget which currently owns the selection 1398e120bd27Smrg </para></listitem> 1399e120bd27Smrg </varlistentry> 1400e120bd27Smrg <varlistentry> 1401e120bd27Smrg <term><parameter>time</parameter></term> 1402e120bd27Smrg <listitem><para> 1403e120bd27Smrgspecifies the time at which the selection was established 1404e120bd27Smrg </para></listitem> 1405e120bd27Smrg </varlistentry> 1406e120bd27Smrg <varlistentry> 1407e120bd27Smrg <term><parameter>selection</parameter></term> 1408e120bd27Smrg <listitem><para> 1409e120bd27Smrgthis argument is ignored 1410e120bd27Smrg </para></listitem> 1411e120bd27Smrg </varlistentry> 1412e120bd27Smrg <varlistentry> 1413e120bd27Smrg <term><parameter>target</parameter></term> 1414e120bd27Smrg <listitem><para> 1415e120bd27Smrgspecifies the target type of the selection 1416e120bd27Smrg </para></listitem> 1417e120bd27Smrg </varlistentry> 1418e120bd27Smrg <varlistentry> 1419e120bd27Smrg <term><parameter>type</parameter></term> 1420e120bd27Smrg <listitem><para> 1421e120bd27Smrgreturns the property type of the converted value 1422e120bd27Smrg </para></listitem> 1423e120bd27Smrg </varlistentry> 1424e120bd27Smrg <varlistentry> 1425e120bd27Smrg <term><parameter>value</parameter></term> 1426e120bd27Smrg <listitem><para> 1427e120bd27Smrgreturns the converted value 1428e120bd27Smrg </para></listitem> 1429e120bd27Smrg </varlistentry> 1430e120bd27Smrg <varlistentry> 1431e120bd27Smrg <term><parameter>length</parameter></term> 1432e120bd27Smrg <listitem><para> 1433e120bd27Smrgreturns the number of elements in the converted value 1434e120bd27Smrg </para></listitem> 1435e120bd27Smrg </varlistentry> 1436e120bd27Smrg <varlistentry> 1437e120bd27Smrg <term><parameter>format</parameter></term> 1438e120bd27Smrg <listitem><para> 1439e120bd27Smrgreturns the size in bits of the elements</para> 1440e120bd27Smrg </listitem> 1441e120bd27Smrg </varlistentry> 1442e120bd27Smrg </variablelist> 1443e120bd27Smrg 1444e120bd27SmrgThis function converts the following standard selections: CLASS, 14459dedec0cSmrgCLIENT_WINDOW, DECNET_ADDRESS, HOSTNAME, NAME, OWNER_OS, 1446e120bd27SmrgTARGETS, TIMESTAMP, and USER. It returns 1447e120bd27Smrg<symbol>True</symbol> 1448e120bd27Smrgif the conversion was successful, else it returns 1449e120bd27Smrg<symbol>False</symbol>. 1450e120bd27Smrg </para> 1451e120bd27Smrg </sect1> 1452e120bd27Smrg 14530cc2eac3Smrg <sect1 id='Type_Converter_Functions'> 14540cc2eac3Smrg<title>Type Converter Functions</title> 1455e120bd27Smrg 1456e120bd27Smrg <para> 1457e120bd27SmrgTo use the functions defined in this section, you should include the header 1458e120bd27Smrgfile 1459e120bd27Smrg<<filename class='headerfile'>X11/Xmu/Converters.h</filename>> 1460e120bd27Smrg<indexterm> 1461e120bd27Smrg<primary><filename class='headerfile'>X11/Xmu/Converters.h</filename></primary> 1462e120bd27Smrg</indexterm> 1463e120bd27Smrgand link against the libXmu library. 1464e120bd27Smrg </para> 1465e120bd27Smrg 1466e120bd27Smrg <para id="XmuCvtFunctionToCallback"> 1467e120bd27Smrg <indexterm zone="XmuCvtFunctionToCallback"> 1468e120bd27Smrg <primary><function>XmuCvtFunctionToCallback</function></primary> 1469e120bd27Smrg </indexterm> 1470e120bd27Smrg <funcsynopsis> 1471e120bd27Smrg <funcprototype> 1472e120bd27Smrg <funcdef>void <function>XmuCvtFunctionToCallback</function></funcdef> 1473e120bd27Smrg <paramdef>XrmValue *<parameter>args</parameter></paramdef> 1474e120bd27Smrg <paramdef>Cardinal *<parameter>num_args</parameter></paramdef> 1475e120bd27Smrg <paramdef>XrmValuePtr <parameter>fromVal</parameter></paramdef> 1476e120bd27Smrg <paramdef>XrmValuePtr <parameter>toVal</parameter></paramdef> 1477e120bd27Smrg </funcprototype> 1478e120bd27Smrg </funcsynopsis> 1479e120bd27Smrg <variablelist> 1480e120bd27Smrg <varlistentry> 1481e120bd27Smrg <term><parameter>args</parameter></term> 1482e120bd27Smrg <listitem><para> 1483e120bd27Smrgthis argument is ignored 1484e120bd27Smrg </para></listitem> 1485e120bd27Smrg </varlistentry> 1486e120bd27Smrg <varlistentry> 1487e120bd27Smrg <term><parameter>num_args</parameter></term> 1488e120bd27Smrg <listitem><para> 1489e120bd27Smrgthis argument is ignored 1490e120bd27Smrg </para></listitem> 1491e120bd27Smrg </varlistentry> 1492e120bd27Smrg <varlistentry> 1493e120bd27Smrg <term><parameter>fromVal</parameter></term> 1494e120bd27Smrg <listitem><para> 1495e120bd27Smrgthe function to convert 1496e120bd27Smrg </para></listitem> 1497e120bd27Smrg </varlistentry> 1498e120bd27Smrg <varlistentry> 1499e120bd27Smrg <term><parameter>toVal</parameter></term> 1500e120bd27Smrg <listitem><para> 1501e120bd27Smrgthe place to store the converted value 1502e120bd27Smrg </para></listitem> 1503e120bd27Smrg </varlistentry> 1504e120bd27Smrg </variablelist> 1505e120bd27Smrg 1506e120bd27SmrgThis function converts a callback procedure to a callback list containing 1507e120bd27Smrgthat procedure, with <symbol>NULL</symbol> closure data. To use this converter, include the 1508e120bd27Smrgfollowing in your widget's ClassInitialize procedure: 1509e120bd27Smrg 1510e120bd27Smrg <programlisting> 1511e120bd27SmrgXtAddConverter(XtRCallProc, XtRCallback, XmuCvtFunctionToCallback, NULL, 0); 1512e120bd27Smrg </programlisting> 1513e120bd27Smrg </para> 1514e120bd27Smrg 1515e120bd27Smrg <para id="XmuCvtStringToBackingStore"> 1516e120bd27Smrg <indexterm zone="XmuCvtStringToBackingStore"> 1517e120bd27Smrg <primary><function>XmuCvtStringToBackingStore</function></primary> 1518e120bd27Smrg </indexterm> 1519e120bd27Smrg <funcsynopsis> 1520e120bd27Smrg <funcprototype> 1521e120bd27Smrg <funcdef>void <function>XmuCvtStringToBackingStore</function></funcdef> 1522e120bd27Smrg <paramdef>XrmValue *<parameter>args</parameter></paramdef> 1523e120bd27Smrg <paramdef>Cardinal *<parameter>num_args</parameter></paramdef> 1524e120bd27Smrg <paramdef>XrmValuePtr <parameter>fromVal</parameter></paramdef> 1525e120bd27Smrg <paramdef>XrmValuePtr <parameter>toVal</parameter></paramdef> 1526e120bd27Smrg </funcprototype> 1527e120bd27Smrg </funcsynopsis> 1528e120bd27Smrg <variablelist> 1529e120bd27Smrg <varlistentry> 1530e120bd27Smrg <term><parameter>args</parameter></term> 1531e120bd27Smrg <listitem><para> 1532e120bd27Smrgthis argument is ignored 1533e120bd27Smrg </para></listitem> 1534e120bd27Smrg </varlistentry> 1535e120bd27Smrg <varlistentry> 1536e120bd27Smrg <term><parameter>num_args</parameter></term> 1537e120bd27Smrg <listitem><para> 1538e120bd27Smrgthis argument must be a pointer to a Cardinal containing the value 0 1539e120bd27Smrg </para></listitem> 1540e120bd27Smrg </varlistentry> 1541e120bd27Smrg <varlistentry> 1542e120bd27Smrg <term><parameter>fromVal</parameter></term> 1543e120bd27Smrg <listitem><para> 1544e120bd27Smrgspecifies the string to convert 1545e120bd27Smrg </para></listitem> 1546e120bd27Smrg </varlistentry> 1547e120bd27Smrg <varlistentry> 1548e120bd27Smrg <term><parameter>toVal</parameter></term> 1549e120bd27Smrg <listitem><para> 1550e120bd27Smrgreturns the converted value 1551e120bd27Smrg </para></listitem> 1552e120bd27Smrg </varlistentry> 1553e120bd27Smrg </variablelist> 1554e120bd27Smrg 1555e120bd27Smrg <indexterm zone="XmuCvtStringToBackingStore"> 1556e120bd27Smrg <primary>backing-store</primary> 1557e120bd27Smrg </indexterm> 1558e120bd27SmrgThis function converts a string to a backing-store integer as defined in 1559e120bd27Smrg<<filename class='headerfile'>X11/X.h</filename>>. 1560e120bd27SmrgThe string "notUseful" converts to 1561e120bd27Smrg<symbol>NotUseful</symbol>, 1562e120bd27Smrg"whenMapped" converts to 1563e120bd27Smrg<symbol>WhenMapped</symbol>, 1564e120bd27Smrgand "always" converts to 1565e120bd27Smrg<symbol>Always</symbol>. 1566e120bd27SmrgThe string "default" converts to the value 1567e120bd27Smrg<symbol>Always</symbol> + 1568e120bd27Smrg<symbol>WhenMapped</symbol> + 1569e120bd27Smrg<symbol>NotUseful</symbol>. 1570e120bd27SmrgThe case of the string does not matter. 1571e120bd27SmrgTo use this converter, include the following 1572e120bd27Smrgin your widget's ClassInitialize procedure: 1573e120bd27Smrg 1574e120bd27Smrg <programlisting> 1575e120bd27SmrgXtAddConverter(XtRString, XtRBackingStore, XmuCvtStringToBackingStore, NULL, 0); 1576e120bd27Smrg </programlisting> 1577e120bd27Smrg </para> 1578e120bd27Smrg 1579e120bd27Smrg <para id="XmuCvtStringToBitmap"> 1580e120bd27Smrg <indexterm zone="XmuCvtStringToBitmap"> 1581e120bd27Smrg <primary><function>XmuCvtStringToBitmap</function></primary> 1582e120bd27Smrg </indexterm> 1583e120bd27Smrg <funcsynopsis> 1584e120bd27Smrg <funcprototype> 1585e120bd27Smrg <funcdef>void <function>XmuCvtStringToBitmap</function></funcdef> 1586e120bd27Smrg <paramdef>XrmValue *<parameter>args</parameter></paramdef> 1587e120bd27Smrg <paramdef>Cardinal *<parameter>num_args</parameter></paramdef> 1588e120bd27Smrg <paramdef>XrmValuePtr <parameter>fromVal</parameter></paramdef> 1589e120bd27Smrg <paramdef>XrmValuePtr <parameter>toVal</parameter></paramdef> 1590e120bd27Smrg </funcprototype> 1591e120bd27Smrg </funcsynopsis> 1592e120bd27Smrg <variablelist> 1593e120bd27Smrg <varlistentry> 1594e120bd27Smrg <term><parameter>args</parameter></term> 1595e120bd27Smrg <listitem><para> 1596e120bd27Smrgthe sole argument specifies the Screen on which to create the bitmap 1597e120bd27Smrg </para></listitem> 1598e120bd27Smrg </varlistentry> 1599e120bd27Smrg <varlistentry> 1600e120bd27Smrg <term><parameter>num_args</parameter></term> 1601e120bd27Smrg <listitem><para> 1602e120bd27Smrgmust be the value 1 1603e120bd27Smrg </para></listitem> 1604e120bd27Smrg </varlistentry> 1605e120bd27Smrg <varlistentry> 1606e120bd27Smrg <term><parameter>fromVal</parameter></term> 1607e120bd27Smrg <listitem><para> 1608e120bd27Smrgspecifies the string to convert 1609e120bd27Smrg </para></listitem> 1610e120bd27Smrg </varlistentry> 1611e120bd27Smrg <varlistentry> 1612e120bd27Smrg <term><parameter>toVal</parameter></term> 1613e120bd27Smrg <listitem><para> 1614e120bd27Smrgreturns the converted value 1615e120bd27Smrg </para></listitem> 1616e120bd27Smrg </varlistentry> 1617e120bd27Smrg </variablelist> 1618e120bd27Smrg 1619e120bd27Smrg <indexterm zone="XmuCvtStringToBitmap"> 1620e120bd27Smrg <primary>window manager icons</primary> 1621e120bd27Smrg </indexterm> 1622e120bd27SmrgThis function creates a bitmap (a Pixmap of depth one) suitable for window 1623e120bd27Smrgmanager icons. The string argument is the name of a file in standard bitmap 1624e120bd27Smrgfile format. For the possible filename specifications, see 1625e120bd27Smrg<link linkend="XmuLocateBitmapFile"><function>XmuLocateBitmapFile</function></link>. 1626e120bd27SmrgTo use this converter, include the following in your widget's 1627e120bd27SmrgClassInitialize procedure: 1628e120bd27Smrg 1629e120bd27Smrg <programlisting> 1630e120bd27Smrgstatic XtConvertArgRec screenConvertArg[] = { 1631e120bd27Smrg {XtBaseOffset, (XtPointer)XtOffset(Widget, core.screen), sizeof(Screen *)} 1632e120bd27Smrg}; 1633e120bd27Smrg 1634e120bd27SmrgXtAddConverter(XtRString, XtRBitmap, XmuCvtStringToBitmap, 1635e120bd27Smrg screenConvertArg, XtNumber(screenConvertArg)); 1636e120bd27Smrg </programlisting> 1637e120bd27Smrg </para> 1638e120bd27Smrg 1639e120bd27Smrg <para id="XmuCvtStringToColorCursor"> 1640e120bd27Smrg <indexterm zone="XmuCvtStringToColorCursor"> 1641e120bd27Smrg <primary><function>XmuCvtStringToColorCursor</function></primary> 1642e120bd27Smrg </indexterm> 1643e120bd27Smrg <funcsynopsis> 1644e120bd27Smrg <funcprototype> 1645e120bd27Smrg <funcdef>Boolean <function>XmuCvtStringToColorCursor</function></funcdef> 1646e120bd27Smrg <paramdef>Display *<parameter>dpy</parameter></paramdef> 1647e120bd27Smrg <paramdef>XrmValuePtr <parameter>args</parameter></paramdef> 1648e120bd27Smrg <paramdef>Cardinal *<parameter>num_args</parameter></paramdef> 1649e120bd27Smrg <paramdef>XrmValuePtr <parameter>fromVal</parameter></paramdef> 1650e120bd27Smrg <paramdef>XrmValuePtr <parameter>toVal</parameter></paramdef> 1651e120bd27Smrg <paramdef>XtPointer *<parameter>data</parameter></paramdef> 1652e120bd27Smrg </funcprototype> 1653e120bd27Smrg </funcsynopsis> 1654e120bd27Smrg <variablelist> 1655e120bd27Smrg <varlistentry> 1656e120bd27Smrg <term><parameter>dpy</parameter></term> 1657e120bd27Smrg <listitem><para> 1658e120bd27Smrgspecifies the display to use for conversion warnings 1659e120bd27Smrg </para></listitem> 1660e120bd27Smrg </varlistentry> 1661e120bd27Smrg <varlistentry> 1662e120bd27Smrg <term><parameter>args</parameter></term> 1663e120bd27Smrg <listitem><para> 1664e120bd27Smrgspecifies the required conversion arguments 1665e120bd27Smrg </para></listitem> 1666e120bd27Smrg </varlistentry> 1667e120bd27Smrg <varlistentry> 1668e120bd27Smrg <term><parameter>num_args</parameter></term> 1669e120bd27Smrg <listitem><para> 1670e120bd27Smrgspecifies the number of required conversion arguments, which is 4 1671e120bd27Smrg </para></listitem> 1672e120bd27Smrg </varlistentry> 1673e120bd27Smrg <varlistentry> 1674e120bd27Smrg <term><parameter>fromVal</parameter></term> 1675e120bd27Smrg <listitem><para> 1676e120bd27Smrgspecifies the string to convert 1677e120bd27Smrg </para></listitem> 1678e120bd27Smrg </varlistentry> 1679e120bd27Smrg <varlistentry> 1680e120bd27Smrg <term><parameter>toVal</parameter></term> 1681e120bd27Smrg <listitem><para> 1682e120bd27Smrgreturns the converted value 1683e120bd27Smrg </para></listitem> 1684e120bd27Smrg </varlistentry> 1685e120bd27Smrg <varlistentry> 1686e120bd27Smrg <term><parameter>data</parameter></term> 1687e120bd27Smrg <listitem><para> 1688e120bd27Smrgthis argument is ignored 1689e120bd27Smrg </para></listitem> 1690e120bd27Smrg </varlistentry> 1691e120bd27Smrg </variablelist> 1692e120bd27Smrg 1693e120bd27Smrg <indexterm zone="XmuCvtStringToColorCursor"> 1694e120bd27Smrg <primary><type>Cursor</type></primary> 1695e120bd27Smrg </indexterm> 1696e120bd27SmrgThis function converts a string to a 1697e120bd27Smrg<type>Cursor</type> 1698e120bd27Smrgwith the foreground and background pixels specified by the conversion 1699e120bd27Smrgarguments. The string can either be a 1700e120bd27Smrgstandard cursor name formed by removing the <code>“XC_”</code> 1701e120bd27Smrgprefix from any of the 1702e120bd27Smrgcursor defines listed in Appendix B of the Xlib Manual, a font name and 1703e120bd27Smrgglyph index in decimal of the form "FONT fontname index [[font] index]", 1704e120bd27Smrgor a bitmap filename acceptable to 1705e120bd27Smrg<link linkend="XmuLocateBitmapFile"><function>XmuLocateBitmapFile</function></link>. 1706e120bd27SmrgTo use this converter, include 1707e120bd27Smrgthe following in the widget ClassInitialize procedure: 1708e120bd27Smrg 1709e120bd27Smrg <programlisting> 1710e120bd27Smrgstatic XtConvertArgRec colorCursorConvertArgs[] = { 1711e120bd27Smrg {XtWidgetBaseOffset, (XtPointer) XtOffsetOf(WidgetRec, core.screen), 1712e120bd27Smrg sizeof(Screen *)}, 1713e120bd27Smrg {XtResourceString, (XtPointer) XtNpointerColor, sizeof(Pixel)}, 1714e120bd27Smrg {XtResourceString, (XtPointer) XtNpointerColorBackground, sizeof(Pixel)}, 1715e120bd27Smrg {XtWidgetBaseOffset, (XtPointer) XtOffsetOf(WidgetRec, core.colormap), 1716e120bd27Smrg sizeof(Colormap)} 1717e120bd27Smrg}; 1718e120bd27Smrg 1719e120bd27Smrg 1720e120bd27SmrgXtSetTypeConverter(XtRString, XtRColorCursor, XmuCvtStringToColorCursor, 1721e120bd27Smrg colorCursorConvertArgs, XtNumber(colorCursorConvertArgs), 1722e120bd27Smrg XtCacheByDisplay, NULL); 1723e120bd27Smrg </programlisting> 1724e120bd27Smrg 1725e120bd27SmrgThe widget must recognize XtNpointerColor and XtNpointerColorBackground as 1726e120bd27Smrgresources, or specify other appropriate foreground and background resources. 1727e120bd27SmrgThe widget's Realize and SetValues methods must cause the converter to be 1728e120bd27Smrginvoked with the appropriate arguments when one of the foreground, 1729e120bd27Smrgbackground, or cursor resources has changed, or when the window is created, 1730e120bd27Smrgand must assign the cursor to the window of the widget. 1731e120bd27Smrg </para> 1732e120bd27Smrg 1733e120bd27Smrg <para id="XmuCvtStringToCursor"> 1734e120bd27Smrg <indexterm zone="XmuCvtStringToCursor"> 1735e120bd27Smrg <primary><function>XmuCvtStringToCursor</function></primary> 1736e120bd27Smrg </indexterm> 1737e120bd27Smrg <funcsynopsis> 1738e120bd27Smrg <funcprototype> 1739e120bd27Smrg <funcdef>void <function>XmuCvtStringToCursor</function></funcdef> 1740e120bd27Smrg <paramdef>XrmValue *<parameter>args</parameter></paramdef> 1741e120bd27Smrg <paramdef>Cardinal *<parameter>num_args</parameter></paramdef> 1742e120bd27Smrg <paramdef>XrmValuePtr <parameter>fromVal</parameter></paramdef> 1743e120bd27Smrg <paramdef>XrmValuePtr <parameter>toVal</parameter></paramdef> 1744e120bd27Smrg </funcprototype> 1745e120bd27Smrg </funcsynopsis> 1746e120bd27Smrg <variablelist> 1747e120bd27Smrg <varlistentry> 1748e120bd27Smrg <term><parameter>args</parameter></term> 1749e120bd27Smrg <listitem><para> 1750e120bd27Smrgspecifies the required conversion argument, the screen 1751e120bd27Smrg </para></listitem> 1752e120bd27Smrg </varlistentry> 1753e120bd27Smrg <varlistentry> 1754e120bd27Smrg <term><parameter>num_args</parameter></term> 1755e120bd27Smrg <listitem><para> 1756e120bd27Smrgspecifies the number of required conversion arguments, which is 1 1757e120bd27Smrg </para></listitem> 1758e120bd27Smrg </varlistentry> 1759e120bd27Smrg <varlistentry> 1760e120bd27Smrg <term><parameter>fromVal</parameter></term> 1761e120bd27Smrg <listitem><para> 1762e120bd27Smrgspecifies the string to convert 1763e120bd27Smrg </para></listitem> 1764e120bd27Smrg </varlistentry> 1765e120bd27Smrg <varlistentry> 1766e120bd27Smrg <term><parameter>toVal</parameter></term> 1767e120bd27Smrg <listitem><para> 1768e120bd27Smrgreturns the converted value 1769e120bd27Smrg </para></listitem> 1770e120bd27Smrg </varlistentry> 1771e120bd27Smrg </variablelist> 1772e120bd27Smrg 1773e120bd27Smrg <indexterm zone="XmuCvtStringToCursor"> 1774e120bd27Smrg <primary><type>Cursor</type></primary> 1775e120bd27Smrg </indexterm> 1776e120bd27SmrgThis function converts a string to a 1777e120bd27Smrg<type>Cursor</type>. 1778e120bd27SmrgThe string can either be a 1779e120bd27Smrgstandard cursor name formed by removing the <code>“XC_”</code> 1780e120bd27Smrgprefix from any of the 1781e120bd27Smrgcursor defines listed in Appendix B of the Xlib Manual, a font name and 1782e120bd27Smrgglyph index in decimal of the form "FONT fontname index [[font] index]", or 1783e120bd27Smrga bitmap filename acceptable to 1784e120bd27Smrg<link linkend="XmuLocateBitmapFile"><function>XmuLocateBitmapFile</function></link>. 1785e120bd27SmrgTo use this converter, include 1786e120bd27Smrgthe following in your widget's ClassInitialize procedure: 1787e120bd27Smrg 1788e120bd27Smrg <programlisting> 1789e120bd27Smrgstatic XtConvertArgRec screenConvertArg[] = { 1790e120bd27Smrg {XtBaseOffset, (XtPointer)XtOffsetOf(WidgetRec, core.screen), sizeof(Screen *)} 1791e120bd27Smrg}; 1792e120bd27Smrg 1793e120bd27SmrgXtAddConverter(XtRString, XtRCursor, XmuCvtStringToCursor, 1794e120bd27Smrg screenConvertArg, XtNumber(screenConvertArg)); 1795e120bd27Smrg </programlisting> 1796e120bd27Smrg </para> 1797e120bd27Smrg 1798e120bd27Smrg <para id="XmuCvtStringToGravity"> 1799e120bd27Smrg <indexterm zone="XmuCvtStringToGravity"> 1800e120bd27Smrg <primary><function>XmuCvtStringToGravity</function></primary> 1801e120bd27Smrg </indexterm> 1802e120bd27Smrg <funcsynopsis> 1803e120bd27Smrg <funcprototype> 1804e120bd27Smrg <funcdef>void <function>XmuCvtStringToGravity</function></funcdef> 1805e120bd27Smrg <paramdef>XrmValue *<parameter>args</parameter></paramdef> 1806e120bd27Smrg <paramdef>Cardinal *<parameter>num_args</parameter></paramdef> 1807e120bd27Smrg <paramdef>XrmValuePtr <parameter>fromVal</parameter></paramdef> 1808e120bd27Smrg <paramdef>XrmValuePtr <parameter>toVal</parameter></paramdef> 1809e120bd27Smrg </funcprototype> 1810e120bd27Smrg </funcsynopsis> 1811e120bd27Smrg <variablelist> 1812e120bd27Smrg <varlistentry> 1813e120bd27Smrg <term><parameter>args</parameter></term> 1814e120bd27Smrg <listitem><para> 1815e120bd27Smrgthis argument is ignored 1816e120bd27Smrg </para></listitem> 1817e120bd27Smrg </varlistentry> 1818e120bd27Smrg <varlistentry> 1819e120bd27Smrg <term><parameter>num_args</parameter></term> 1820e120bd27Smrg <listitem><para> 1821e120bd27Smrgthis argument must be a pointer to a Cardinal containing the value 0 1822e120bd27Smrg </para></listitem> 1823e120bd27Smrg </varlistentry> 1824e120bd27Smrg <varlistentry> 1825e120bd27Smrg <term><parameter>fromVal</parameter></term> 1826e120bd27Smrg <listitem><para> 1827e120bd27Smrgspecifies the string to convert 1828e120bd27Smrg </para></listitem> 1829e120bd27Smrg </varlistentry> 1830e120bd27Smrg <varlistentry> 1831e120bd27Smrg <term><parameter>toVal</parameter></term> 1832e120bd27Smrg <listitem><para> 1833e120bd27Smrgreturns the converted value 1834e120bd27Smrg </para></listitem> 1835e120bd27Smrg </varlistentry> 1836e120bd27Smrg </variablelist> 1837e120bd27Smrg 1838e120bd27Smrg <indexterm zone="XmuCvtStringToGravity"> 1839e120bd27Smrg <primary><type>XtGravity</type></primary> 1840e120bd27Smrg </indexterm> 1841e120bd27SmrgThis function converts a string to an 1842e120bd27Smrg<type>XtGravity</type> 1843e120bd27Smrgenumeration value. The string "forget" and a <symbol>NULL</symbol> value convert to 1844e120bd27Smrg<symbol>ForgetGravity</symbol>, 1845e120bd27Smrg"NorthWestGravity" converts to 1846e120bd27Smrg<symbol>NorthWestGravity</symbol>, 1847e120bd27Smrgthe strings "NorthGravity" and "top" convert to 1848e120bd27Smrg<symbol>NorthGravity</symbol>, 1849e120bd27Smrg"NorthEastGravity" converts to 1850e120bd27Smrg<symbol>NorthEastGravity</symbol>, 1851e120bd27Smrgthe strings "West" and "left" convert to 1852e120bd27Smrg<symbol>WestGravity</symbol>, 1853e120bd27Smrg"CenterGravity" converts to 1854e120bd27Smrg<symbol>CenterGravity</symbol>, 1855e120bd27Smrg"EastGravity" and "right" convert to 1856e120bd27Smrg<symbol>EastGravity</symbol>, 1857e120bd27Smrg"SouthWestGravity" converts to 1858e120bd27Smrg<symbol>SouthWestGravity</symbol>, 1859e120bd27Smrg"SouthGravity" and "bottom" convert to 1860e120bd27Smrg<symbol>SouthGravity</symbol>, 1861e120bd27Smrg"SouthEastGravity" converts to 1862e120bd27Smrg<symbol>SouthEastGravity</symbol>, 1863e120bd27Smrg"StaticGravity" converts to 1864e120bd27Smrg<symbol>StaticGravity</symbol>, 1865e120bd27Smrgand "UnmapGravity" converts to 1866e120bd27Smrg<symbol>UnmapGravity</symbol>. 1867e120bd27SmrgThe case of the string does not matter. To use this converter, include 1868e120bd27Smrgthe following in your widget's class initialize procedure: 1869e120bd27Smrg 1870e120bd27Smrg <programlisting> 1871e120bd27SmrgXtAddConverter(XtRString, XtRGravity, XmuCvtStringToGravity, NULL, 0); 1872e120bd27Smrg </programlisting> 1873e120bd27Smrg </para> 1874e120bd27Smrg 1875e120bd27Smrg <para id="XmuCvtStringToJustify"> 1876e120bd27Smrg <indexterm zone="XmuCvtStringToJustify"> 1877e120bd27Smrg <primary><function>XmuCvtStringToJustify</function></primary> 1878e120bd27Smrg </indexterm> 1879e120bd27Smrg <funcsynopsis> 1880e120bd27Smrg <funcprototype> 1881e120bd27Smrg <funcdef>void <function>XmuCvtStringToJustify</function></funcdef> 1882e120bd27Smrg <paramdef>XrmValue *<parameter>args</parameter></paramdef> 1883e120bd27Smrg <paramdef>Cardinal *<parameter>num_args</parameter></paramdef> 1884e120bd27Smrg <paramdef>XrmValuePtr <parameter>fromVal</parameter></paramdef> 1885e120bd27Smrg <paramdef>XrmValuePtr <parameter>toVal</parameter></paramdef> 1886e120bd27Smrg </funcprototype> 1887e120bd27Smrg </funcsynopsis> 1888e120bd27Smrg <variablelist> 1889e120bd27Smrg <varlistentry> 1890e120bd27Smrg <term><parameter>args</parameter></term> 1891e120bd27Smrg <listitem><para> 1892e120bd27Smrgthis argument is ignored 1893e120bd27Smrg </para></listitem> 1894e120bd27Smrg </varlistentry> 1895e120bd27Smrg <varlistentry> 1896e120bd27Smrg <term><parameter>num_args</parameter></term> 1897e120bd27Smrg <listitem><para> 1898e120bd27Smrgthis argument is ignored 1899e120bd27Smrg </para></listitem> 1900e120bd27Smrg </varlistentry> 1901e120bd27Smrg <varlistentry> 1902e120bd27Smrg <term><parameter>fromVal</parameter></term> 1903e120bd27Smrg <listitem><para> 1904e120bd27Smrgspecifies the string to convert 1905e120bd27Smrg </para></listitem> 1906e120bd27Smrg </varlistentry> 1907e120bd27Smrg <varlistentry> 1908e120bd27Smrg <term><parameter>toVal</parameter></term> 1909e120bd27Smrg <listitem><para> 1910e120bd27Smrgreturns the converted value 1911e120bd27Smrg </para></listitem> 1912e120bd27Smrg </varlistentry> 1913e120bd27Smrg </variablelist> 1914e120bd27Smrg 1915e120bd27Smrg <indexterm zone="XmuCvtStringToJustify"> 1916e120bd27Smrg <primary><type>XtJustify</type></primary> 1917e120bd27Smrg </indexterm> 1918e120bd27SmrgThis function converts a string to an 1919e120bd27Smrg<type>XtJustify</type> 1920e120bd27Smrgenumeration value. The string "left" converts to 1921e120bd27Smrg<symbol>XtJustifyLeft</symbol>, 1922e120bd27Smrg"center" converts to 1923e120bd27Smrg<symbol>XtJustifyCenter</symbol>, 1924e120bd27Smrgand "right" converts to 1925e120bd27Smrg<symbol>XtJustifyRight</symbol>. 1926e120bd27SmrgThe case of the string does not matter. To use this converter, 1927e120bd27Smrginclude the following in your widget's ClassInitialize procedure: 1928e120bd27Smrg 1929e120bd27Smrg <programlisting> 1930e120bd27SmrgXtAddConverter(XtRString, XtRJustify, XmuCvtStringToJustify, NULL, 0); 1931e120bd27Smrg </programlisting> 1932e120bd27Smrg </para> 1933e120bd27Smrg 1934e120bd27Smrg <para id="XmuCvtStringToLong"> 1935e120bd27Smrg <indexterm zone="XmuCvtStringToLong"> 1936e120bd27Smrg <primary><function>XmuCvtStringToLong</function></primary> 1937e120bd27Smrg </indexterm> 1938e120bd27Smrg <funcsynopsis> 1939e120bd27Smrg <funcprototype> 1940e120bd27Smrg <funcdef>void <function>XmuCvtStringToLong</function></funcdef> 1941e120bd27Smrg <paramdef>XrmValue *<parameter>args</parameter></paramdef> 1942e120bd27Smrg <paramdef>Cardinal *<parameter>num_args</parameter></paramdef> 1943e120bd27Smrg <paramdef>XrmValuePtr <parameter>fromVal</parameter></paramdef> 1944e120bd27Smrg <paramdef>XrmValuePtr <parameter>toVal</parameter></paramdef> 1945e120bd27Smrg </funcprototype> 1946e120bd27Smrg </funcsynopsis> 1947e120bd27Smrg <variablelist> 1948e120bd27Smrg <varlistentry> 1949e120bd27Smrg <term><parameter>args</parameter></term> 1950e120bd27Smrg <listitem><para> 1951e120bd27Smrgthis argument is ignored 1952e120bd27Smrg </para></listitem> 1953e120bd27Smrg </varlistentry> 1954e120bd27Smrg <varlistentry> 1955e120bd27Smrg <term><parameter>num_args</parameter></term> 1956e120bd27Smrg <listitem><para> 1957e120bd27Smrgthis argument must be a pointer to a Cardinal containing 0 1958e120bd27Smrg </para></listitem> 1959e120bd27Smrg </varlistentry> 1960e120bd27Smrg <varlistentry> 1961e120bd27Smrg <term><parameter>fromVal</parameter></term> 1962e120bd27Smrg <listitem><para> 1963e120bd27Smrgspecifies the string to convert 1964e120bd27Smrg </para></listitem> 1965e120bd27Smrg </varlistentry> 1966e120bd27Smrg <varlistentry> 1967e120bd27Smrg <term><parameter>toVal</parameter></term> 1968e120bd27Smrg <listitem><para> 1969e120bd27Smrgreturns the converted value 1970e120bd27Smrg </para></listitem> 1971e120bd27Smrg </varlistentry> 1972e120bd27Smrg </variablelist> 1973e120bd27Smrg 1974e120bd27SmrgThis function converts a string to an integer of type long. It parses the 1975e120bd27Smrgstring using 1976e120bd27Smrg<function>sscanf</function> 1977e120bd27Smrgwith a format of "%ld". To use this converter, include 1978e120bd27Smrgthe following in your widget's ClassInitialize procedure: 1979e120bd27Smrg 1980e120bd27Smrg <programlisting> 1981e120bd27SmrgXtAddConverter(XtRString, XtRLong, XmuCvtStringToLong, NULL, 0); 1982e120bd27Smrg </programlisting> 1983e120bd27Smrg </para> 1984e120bd27Smrg 1985e120bd27Smrg <para id="XmuCvtStringToOrientation"> 1986e120bd27Smrg <indexterm zone="XmuCvtStringToOrientation"> 1987e120bd27Smrg <primary><function>XmuCvtStringToOrientation</function></primary> 1988e120bd27Smrg </indexterm> 1989e120bd27Smrg <funcsynopsis> 1990e120bd27Smrg <funcprototype> 1991e120bd27Smrg <funcdef>void <function>XmuCvtStringToOrientation</function></funcdef> 1992e120bd27Smrg <paramdef>XrmValue *<parameter>args</parameter></paramdef> 1993e120bd27Smrg <paramdef>Cardinal *<parameter>num_args</parameter></paramdef> 1994e120bd27Smrg <paramdef>XrmValuePtr <parameter>fromVal</parameter></paramdef> 1995e120bd27Smrg <paramdef>XrmValuePtr <parameter>toVal</parameter></paramdef> 1996e120bd27Smrg </funcprototype> 1997e120bd27Smrg </funcsynopsis> 1998e120bd27Smrg <variablelist> 1999e120bd27Smrg <varlistentry> 2000e120bd27Smrg <term><parameter>args</parameter></term> 2001e120bd27Smrg <listitem><para> 2002e120bd27Smrgthis argument is ignored 2003e120bd27Smrg </para></listitem> 2004e120bd27Smrg </varlistentry> 2005e120bd27Smrg <varlistentry> 2006e120bd27Smrg <term><parameter>num_args</parameter></term> 2007e120bd27Smrg <listitem><para> 2008e120bd27Smrgthis argument is ignored 2009e120bd27Smrg </para></listitem> 2010e120bd27Smrg </varlistentry> 2011e120bd27Smrg <varlistentry> 2012e120bd27Smrg <term><parameter>fromVal</parameter></term> 2013e120bd27Smrg <listitem><para> 2014e120bd27Smrgspecifies the string to convert 2015e120bd27Smrg </para></listitem> 2016e120bd27Smrg </varlistentry> 2017e120bd27Smrg <varlistentry> 2018e120bd27Smrg <term><parameter>toVal</parameter></term> 2019e120bd27Smrg <listitem><para> 2020e120bd27Smrgreturns the converted value 2021e120bd27Smrg </para></listitem> 2022e120bd27Smrg </varlistentry> 2023e120bd27Smrg </variablelist> 2024e120bd27Smrg 2025e120bd27Smrg <indexterm zone="XmuCvtStringToOrientation"> 2026e120bd27Smrg <primary><type>XtOrientation</type></primary> 2027e120bd27Smrg </indexterm> 2028e120bd27SmrgThis function converts a string to an 2029e120bd27Smrg<type>XtOrientation</type> 2030e120bd27Smrgenumeration value. The string "horizontal" converts to 2031e120bd27Smrg<symbol>XtorientHorizontal</symbol> 2032e120bd27Smrgand "vertical" converts to 2033e120bd27Smrg<symbol>XtorientVertical</symbol>. 2034e120bd27SmrgThe case of the string does not matter. To use this converter, 2035e120bd27Smrginclude the following in your widget's ClassInitialize procedure: 2036e120bd27Smrg 2037e120bd27Smrg <programlisting> 2038e120bd27SmrgXtAddConverter(XtRString, XtROrientation, XmuCvtStringToOrientation, NULL, 0); 2039e120bd27Smrg </programlisting> 2040e120bd27Smrg </para> 2041e120bd27Smrg 2042e120bd27Smrg <para id="XmuCvtStringToShapeStyle"> 2043e120bd27Smrg <indexterm zone="XmuCvtStringToShapeStyle"> 2044e120bd27Smrg <primary><function>XmuCvtStringToShapeStyle</function></primary> 2045e120bd27Smrg </indexterm> 2046e120bd27Smrg <funcsynopsis> 2047e120bd27Smrg <funcprototype> 2048e120bd27Smrg <funcdef>Boolean <function>XmuCvtStringToShapeStyle</function></funcdef> 2049e120bd27Smrg <paramdef>Display *<parameter>dpy</parameter></paramdef> 2050e120bd27Smrg <paramdef>XrmValue *<parameter>args</parameter></paramdef> 2051e120bd27Smrg <paramdef>Cardinal *<parameter>num_args</parameter></paramdef> 2052e120bd27Smrg <paramdef>XrmValuePtr <parameter>fromVal</parameter></paramdef> 2053e120bd27Smrg <paramdef>XrmValuePtr <parameter>toVal</parameter></paramdef> 2054e120bd27Smrg <paramdef>XtPointer *<parameter>data</parameter></paramdef> 2055e120bd27Smrg </funcprototype> 2056e120bd27Smrg </funcsynopsis> 2057e120bd27Smrg <variablelist> 2058e120bd27Smrg <varlistentry> 2059e120bd27Smrg <term><parameter>dpy</parameter></term> 2060e120bd27Smrg <listitem><para> 2061e120bd27Smrgthe display to use for conversion warnings 2062e120bd27Smrg </para></listitem> 2063e120bd27Smrg </varlistentry> 2064e120bd27Smrg <varlistentry> 2065e120bd27Smrg <term><parameter>args</parameter></term> 2066e120bd27Smrg <listitem><para> 2067e120bd27Smrgthis argument is ignored 2068e120bd27Smrg </para></listitem> 2069e120bd27Smrg </varlistentry> 2070e120bd27Smrg <varlistentry> 2071e120bd27Smrg <term><parameter>num_args</parameter></term> 2072e120bd27Smrg <listitem><para> 2073e120bd27Smrgthis argument is ignored 2074e120bd27Smrg </para></listitem> 2075e120bd27Smrg </varlistentry> 2076e120bd27Smrg <varlistentry> 2077e120bd27Smrg <term><parameter>fromVal</parameter></term> 2078e120bd27Smrg <listitem><para> 2079e120bd27Smrgthe value to convert from 2080e120bd27Smrg </para></listitem> 2081e120bd27Smrg </varlistentry> 2082e120bd27Smrg <varlistentry> 2083e120bd27Smrg <term><parameter>toVal</parameter></term> 2084e120bd27Smrg <listitem><para> 2085e120bd27Smrgthe place to store the converted value 2086e120bd27Smrg </para></listitem> 2087e120bd27Smrg </varlistentry> 2088e120bd27Smrg <varlistentry> 2089e120bd27Smrg <term><parameter>data</parameter></term> 2090e120bd27Smrg <listitem><para> 2091e120bd27Smrgthis argument is ignored 2092e120bd27Smrg </para></listitem> 2093e120bd27Smrg </varlistentry> 2094e120bd27Smrg </variablelist> 2095e120bd27Smrg 2096e120bd27SmrgThis function converts a string to an integer shape style. The string 2097e120bd27Smrg"rectangle" converts to 2098e120bd27Smrg<symbol>XmuShapeRectangle</symbol>, 2099e120bd27Smrg"oval" converts to 2100e120bd27Smrg<symbol>XmuShapeOval</symbol>, 2101e120bd27Smrg"ellipse" converts to 2102e120bd27Smrg<symbol>XmuShapeEllipse</symbol>, 2103e120bd27Smrgand "roundedRectangle" converts to 2104e120bd27Smrg<symbol>XmuShapeRoundedRectangle</symbol>. 2105e120bd27SmrgThe case of the string does not matter. To use this converter, 2106e120bd27Smrginclude the following in your widget's ClassInitialize procedure: 2107e120bd27Smrg 2108e120bd27Smrg <programlisting> 2109e120bd27SmrgXtSetTypeConverter(XtRString, XtRShapeStyle, XmuCvtStringToShapeStyle, 2110e120bd27Smrg NULL, 0, XtCacheNone, NULL); 2111e120bd27Smrg </programlisting> 2112e120bd27Smrg </para> 2113e120bd27Smrg 2114e120bd27Smrg <para id="XmuReshapeWidget"> 2115e120bd27Smrg <indexterm zone="XmuReshapeWidget"> 2116e120bd27Smrg <primary><function>XmuReshapeWidget</function></primary> 2117e120bd27Smrg </indexterm> 2118e120bd27Smrg <funcsynopsis> 2119e120bd27Smrg <funcprototype> 2120e120bd27Smrg <funcdef>Boolean <function>XmuReshapeWidget</function></funcdef> 2121e120bd27Smrg <paramdef>Widget <parameter>w</parameter></paramdef> 2122e120bd27Smrg <paramdef>int <parameter>shape_style</parameter></paramdef> 2123e120bd27Smrg <paramdef>int <parameter>corner_width</parameter></paramdef> 2124e120bd27Smrg <paramdef>int <parameter>corner_height</parameter></paramdef> 2125e120bd27Smrg </funcprototype> 2126e120bd27Smrg </funcsynopsis> 2127e120bd27Smrg <variablelist> 2128e120bd27Smrg <varlistentry> 2129e120bd27Smrg <term><parameter>w</parameter></term> 2130e120bd27Smrg <listitem><para> 2131e120bd27Smrgspecifies the widget to reshape 2132e120bd27Smrg </para></listitem> 2133e120bd27Smrg </varlistentry> 2134e120bd27Smrg <varlistentry> 2135e120bd27Smrg <term><parameter>shape_style</parameter></term> 2136e120bd27Smrg <listitem><para> 2137e120bd27Smrgspecifies the new shape 2138e120bd27Smrg </para></listitem> 2139e120bd27Smrg </varlistentry> 2140e120bd27Smrg <varlistentry> 2141e120bd27Smrg <term><parameter>corner_width</parameter></term> 2142e120bd27Smrg <listitem><para> 2143e120bd27Smrgspecifies the width of the rounded rectangle corner 2144e120bd27Smrg </para></listitem> 2145e120bd27Smrg </varlistentry> 2146e120bd27Smrg <varlistentry> 2147e120bd27Smrg <term><parameter>corner_height</parameter></term> 2148e120bd27Smrg <listitem><para> 2149e120bd27Smrgspecified the height of the rounded rectangle corner 2150e120bd27Smrg </para></listitem> 2151e120bd27Smrg </varlistentry> 2152e120bd27Smrg </variablelist> 2153e120bd27Smrg 2154e120bd27Smrg <indexterm zone="XmuReshapeWidget"> 2155e120bd27Smrg <primary>Shape extension</primary> 2156e120bd27Smrg </indexterm> 2157e120bd27SmrgThis function reshapes the specified widget, using the Shape extension, to a 2158e120bd27Smrgrectangle, oval, ellipse, or rounded rectangle, as specified by shape_style 2159e120bd27Smrg( 2160e120bd27Smrg<symbol>XmuShapeRectangle</symbol>, 2161e120bd27Smrg<symbol>XmuShapeOval</symbol>, 2162e120bd27Smrg<symbol>XmuShapeEllipse</symbol>, 2163e120bd27Smrgand 2164e120bd27Smrg<symbol>XmuShapeRoundedRectangle</symbol>, 2165e120bd27Smrgrespectively). 2166e120bd27SmrgThe shape is bounded by the outside edges of the rectangular extents of the 2167e120bd27Smrgwidget. If the shape is a rounded rectangle, corner_width and corner_height 2168e120bd27Smrgspecify the size of the bounding box that the corners are drawn inside of 2169e120bd27Smrg(see 2170e120bd27Smrg<link linkend="XmuFillRoundedRectangle"><function>XmuFillRoundedRectangle</function></link>); 2171e120bd27Smrgotherwise, corner_width and corner_height are ignored. 2172e120bd27SmrgThe origin of the widget within its parent remains unchanged. 2173e120bd27Smrg </para> 2174e120bd27Smrg 2175e120bd27Smrg <para id="XmuCvtStringToWidget"> 2176e120bd27Smrg <indexterm zone="XmuCvtStringToWidget"> 2177e120bd27Smrg <primary><function>XmuCvtStringToWidget</function></primary> 2178e120bd27Smrg </indexterm> 2179e120bd27Smrg <funcsynopsis> 2180e120bd27Smrg <funcprototype> 2181e120bd27Smrg <funcdef>void <function>XmuCvtStringToWidget</function></funcdef> 2182e120bd27Smrg <paramdef>XrmValue *<parameter>args</parameter></paramdef> 2183e120bd27Smrg <paramdef>Cardinal *<parameter>num_args</parameter></paramdef> 2184e120bd27Smrg <paramdef>XrmValuePtr <parameter>fromVal</parameter></paramdef> 2185e120bd27Smrg <paramdef>XrmValuePtr <parameter>toVal</parameter></paramdef> 2186e120bd27Smrg </funcprototype> 2187e120bd27Smrg </funcsynopsis> 2188e120bd27Smrg <variablelist> 2189e120bd27Smrg <varlistentry> 2190e120bd27Smrg <term><parameter>args</parameter></term> 2191e120bd27Smrg <listitem><para> 2192e120bd27Smrgthe sole argument is the parent Widget 2193e120bd27Smrg </para></listitem> 2194e120bd27Smrg </varlistentry> 2195e120bd27Smrg <varlistentry> 2196e120bd27Smrg <term><parameter>num_args</parameter></term> 2197e120bd27Smrg <listitem><para> 2198e120bd27Smrgthis argument must be 1 2199e120bd27Smrg </para></listitem> 2200e120bd27Smrg </varlistentry> 2201e120bd27Smrg <varlistentry> 2202e120bd27Smrg <term><parameter>fromVal</parameter></term> 2203e120bd27Smrg <listitem><para> 2204e120bd27Smrgspecifies the string to convert 2205e120bd27Smrg </para></listitem> 2206e120bd27Smrg </varlistentry> 2207e120bd27Smrg <varlistentry> 2208e120bd27Smrg <term><parameter>toVal</parameter></term> 2209e120bd27Smrg <listitem><para> 2210e120bd27Smrgreturns the converted value 2211e120bd27Smrg </para></listitem> 2212e120bd27Smrg </varlistentry> 2213e120bd27Smrg </variablelist> 2214e120bd27Smrg 2215e120bd27SmrgThis function converts a string to an immediate child widget of the parent 2216e120bd27Smrgwidget passed as an argument. Note that this converter only works for 2217e120bd27Smrgchild widgets that have already been created; there is no lazy evaluation. 2218e120bd27SmrgThe string is first compared against the 2219e120bd27Smrgnames of the normal and popup children, and if a match is found the 2220e120bd27Smrgcorresponding child is returned. If no match is found, the string is 2221e120bd27Smrgcompared against the classes of the normal and popup children, and if a 2222e120bd27Smrgmatch is found the corresponding child is returned. The case of the string 2223e120bd27Smrgis significant. To use this converter, include the following in your 2224e120bd27Smrgwidget's ClassInitialize procedure: 2225e120bd27Smrg 2226e120bd27Smrg <programlisting> 2227e120bd27Smrgstatic XtConvertArgRec parentCvtArg[] = { 2228e120bd27Smrg {XtBaseOffset, (XtPointer)XtOffset(Widget, core.parent), sizeof(Widget)}, 2229e120bd27Smrg}; 2230e120bd27Smrg 2231e120bd27SmrgXtAddConverter(XtRString, XtRWidget, XmuCvtStringToWidget, 2232e120bd27Smrg parentCvtArg, XtNumber(parentCvtArg)); 2233e120bd27Smrg </programlisting> 2234e120bd27Smrg </para> 2235e120bd27Smrg 2236e120bd27Smrg <para id="XmuNewCvtStringToWidget"> 2237e120bd27Smrg <indexterm zone="XmuNewCvtStringToWidget"> 2238e120bd27Smrg <primary><function>XmuNewCvtStringToWidget</function></primary> 2239e120bd27Smrg </indexterm> 2240e120bd27Smrg <funcsynopsis> 2241e120bd27Smrg <funcprototype> 2242e120bd27Smrg <funcdef>Boolean <function>XmuNewCvtStringToWidget</function></funcdef> 2243e120bd27Smrg <paramdef>Display *<parameter>dpy</parameter></paramdef> 2244e120bd27Smrg <paramdef>XrmValuePtr <parameter>args</parameter></paramdef> 2245e120bd27Smrg <paramdef>Cardinal *<parameter>num_args</parameter></paramdef> 2246e120bd27Smrg <paramdef>XrmValuePtr <parameter>fromVal</parameter></paramdef> 2247e120bd27Smrg <paramdef>XrmValuePtr <parameter>toVal</parameter></paramdef> 2248e120bd27Smrg <paramdef>XtPointer *<parameter>data</parameter></paramdef> 2249e120bd27Smrg </funcprototype> 2250e120bd27Smrg </funcsynopsis> 2251e120bd27Smrg <variablelist> 2252e120bd27Smrg <varlistentry> 2253e120bd27Smrg <term><parameter>dpy</parameter></term> 2254e120bd27Smrg <listitem><para> 2255e120bd27Smrgthe display to use for conversion warnings 2256e120bd27Smrg </para></listitem> 2257e120bd27Smrg </varlistentry> 2258e120bd27Smrg <varlistentry> 2259e120bd27Smrg <term><parameter>args</parameter></term> 2260e120bd27Smrg <listitem><para> 2261e120bd27Smrgthe sole argument is the parent Widget 2262e120bd27Smrg </para></listitem> 2263e120bd27Smrg </varlistentry> 2264e120bd27Smrg <varlistentry> 2265e120bd27Smrg <term><parameter>num_args</parameter></term> 2266e120bd27Smrg <listitem><para> 2267e120bd27Smrgthis argument must be a pointer to a Cardinal containing the value 1 2268e120bd27Smrg </para></listitem> 2269e120bd27Smrg </varlistentry> 2270e120bd27Smrg <varlistentry> 2271e120bd27Smrg <term><parameter>fromVal</parameter></term> 2272e120bd27Smrg <listitem><para> 2273e120bd27Smrgspecifies the string to convert 2274e120bd27Smrg </para></listitem> 2275e120bd27Smrg </varlistentry> 2276e120bd27Smrg <varlistentry> 2277e120bd27Smrg <term><parameter>toVal</parameter></term> 2278e120bd27Smrg <listitem><para> 2279e120bd27Smrgreturns the converted value 2280e120bd27Smrg </para></listitem> 2281e120bd27Smrg </varlistentry> 2282e120bd27Smrg <varlistentry> 2283e120bd27Smrg <term><parameter>data</parameter></term> 2284e120bd27Smrg <listitem><para> 2285e120bd27Smrgthis argument is ignored 2286e120bd27Smrg </para></listitem> 2287e120bd27Smrg </varlistentry> 2288e120bd27Smrg </variablelist> 2289e120bd27Smrg 2290e120bd27SmrgThis converter is identical in functionality to 2291e120bd27Smrg<link linkend="XmuCvtStringToWidget"><function>XmuCvtStringToWidget</function></link>, except 2292e120bd27Smrgthat it is a new-style converter, allowing the specification of a cache type 2293e120bd27Smrgat the time of registration. 2294e120bd27SmrgMost widgets will not cache the conversion results, as the application may 2295e120bd27Smrgdynamically create and destroy widgets, which would cause cached values to 2296e120bd27Smrgbecome illegal. To use this converter, include the following in the widget's 2297e120bd27Smrgclass initialize procedure: 2298e120bd27Smrg 2299e120bd27Smrg <programlisting> 2300e120bd27Smrgstatic XtConvertArgRec parentCvtArg[] = { 2301e120bd27Smrg {XtWidgetBaseOffset, (XtPointer)XtOffsetOf(WidgetRec, core.parent), 2302e120bd27Smrg sizeof(Widget)} 2303e120bd27Smrg}; 2304e120bd27Smrg 2305e120bd27SmrgXtSetTypeConverter(XtRString, XtRWidget, XmuNewCvtStringToWidget, 2306e120bd27Smrg parentCvtArg, XtNumber(parentCvtArg), XtCacheNone, NULL); 2307e120bd27Smrg </programlisting> 2308e120bd27Smrg 2309e120bd27Smrg </para> 2310e120bd27Smrg 2311e120bd27Smrg </sect1> 2312e120bd27Smrg 23130cc2eac3Smrg <sect1 id='Character_Set_Functions'> 23140cc2eac3Smrg<title>Character Set Functions</title> 2315e120bd27Smrg 2316e120bd27Smrg<para> 2317e120bd27SmrgTo use the functions defined in this section, you should include the header 2318e120bd27Smrgfile 2319e120bd27Smrg<<filename class='headerfile'>X11/Xmu/CharSet.h</filename>> 2320e120bd27Smrg<indexterm> 2321e120bd27Smrg<primary><filename class='headerfile'>X11/Xmu/CharSet.h</filename></primary> 2322e120bd27Smrg</indexterm> 2323e120bd27Smrgand link against the libXmu or libXmuu library. 2324e120bd27Smrg</para> 2325e120bd27Smrg 2326e120bd27Smrg <warning><para> 2327e120bd27SmrgThe functions in this section are <emphasis remap='B'>deprecated</emphasis> 2328e120bd27Smrgbecause they don't work in most locales now supported by X11; most platforms 2329e120bd27Smrgprovide alternatives in their system libraries. 2330e120bd27Smrg </para></warning> 2331e120bd27Smrg 2332e120bd27Smrg <para id="XmuCopyISOLatin1Lowered"> 2333e120bd27Smrg <indexterm zone="XmuCopyISOLatin1Lowered"> 2334e120bd27Smrg <primary><function>XmuCopyISOLatin1Lowered</function></primary> 2335e120bd27Smrg </indexterm> 2336e120bd27Smrg <funcsynopsis> 2337e120bd27Smrg <funcprototype> 2338e120bd27Smrg <funcdef>void <function>XmuCopyISOLatin1Lowered</function></funcdef> 2339e120bd27Smrg <paramdef>char *<parameter>dst</parameter></paramdef> 2340e120bd27Smrg <paramdef>const char *<parameter>src</parameter></paramdef> 2341e120bd27Smrg </funcprototype> 2342e120bd27Smrg </funcsynopsis> 2343e120bd27Smrg <variablelist> 2344e120bd27Smrg <varlistentry> 2345e120bd27Smrg <term><parameter>dst</parameter></term> 2346e120bd27Smrg <listitem><para> 2347e120bd27Smrgreturns the string copy 2348e120bd27Smrg </para></listitem> 2349e120bd27Smrg </varlistentry> 2350e120bd27Smrg <varlistentry> 2351e120bd27Smrg <term><parameter>src</parameter></term> 2352e120bd27Smrg <listitem><para> 2353e120bd27Smrgspecifies the string to copy 2354e120bd27Smrg </para></listitem> 2355e120bd27Smrg </varlistentry> 2356e120bd27Smrg </variablelist> 2357e120bd27Smrg 2358e120bd27SmrgThis function copies a null terminated string from src to dst (including the 2359e120bd27Smrgnull), changing all Latin-1 uppercase letters to lowercase. The string is 2360e120bd27Smrgassumed to be encoded using ISO 8859-1. 2361e120bd27Smrg </para> 2362e120bd27Smrg 2363e120bd27Smrg <para> 2364e120bd27SmrgNote that like <function>strcpy</function> the caller is responsible for 2365e120bd27Smrgensuring the size of <parameter>dst</parameter> is at least as large as the 2366e120bd27Smrgsize of <parameter>src</parameter>. 2367e120bd27Smrg </para> 2368e120bd27Smrg 2369e120bd27Smrg <para id="XmuNCopyISOLatin1Lowered"> 2370e120bd27Smrg <indexterm zone="XmuNCopyISOLatin1Lowered"> 2371e120bd27Smrg <primary><function>XmuNCopyISOLatin1Lowered</function></primary> 2372e120bd27Smrg </indexterm> 2373e120bd27Smrg <funcsynopsis> 2374e120bd27Smrg <funcprototype> 2375e120bd27Smrg <funcdef>void <function>XmuNCopyISOLatin1Lowered</function></funcdef> 2376e120bd27Smrg <paramdef>char *<parameter>dst</parameter></paramdef> 2377e120bd27Smrg <paramdef>const char *<parameter>src</parameter></paramdef> 2378e120bd27Smrg <paramdef>int <parameter>size</parameter></paramdef> 2379e120bd27Smrg </funcprototype> 2380e120bd27Smrg </funcsynopsis> 2381e120bd27Smrg <variablelist> 2382e120bd27Smrg <varlistentry> 2383e120bd27Smrg <term><parameter>dst</parameter></term> 2384e120bd27Smrg <listitem><para> 2385e120bd27Smrgreturns the string copy 2386e120bd27Smrg </para></listitem> 2387e120bd27Smrg </varlistentry> 2388e120bd27Smrg <varlistentry> 2389e120bd27Smrg <term><parameter>src</parameter></term> 2390e120bd27Smrg <listitem><para> 2391e120bd27Smrgspecifies the string to copy 2392e120bd27Smrg </para></listitem> 2393e120bd27Smrg </varlistentry> 2394e120bd27Smrg <varlistentry> 2395e120bd27Smrg <term><parameter>size</parameter></term> 2396e120bd27Smrg <listitem><para> 2397e120bd27Smrgmaximum number of characters (including the null terminator) to write to dst 2398e120bd27Smrg </para></listitem> 2399e120bd27Smrg </varlistentry> 2400e120bd27Smrg </variablelist> 2401e120bd27Smrg 2402e120bd27SmrgThis function copies up to <code><parameter>size</parameter> - 1</code> 2403e120bd27Smrgcharacters of a null terminated string from <parameter>src</parameter> 2404e120bd27Smrgto <parameter>dst</parameter>, and terminates it with a null, 2405e120bd27Smrgchanging all Latin-1 uppercase letters to lowercase. The string is 2406e120bd27Smrgassumed to be encoded using ISO 8859-1. 2407e120bd27Smrg </para> 2408e120bd27Smrg 2409e120bd27Smrg <para id="XmuCopyISOLatin1Uppered"> 2410e120bd27Smrg <indexterm zone="XmuCopyISOLatin1Uppered"> 2411e120bd27Smrg <primary><function>XmuCopyISOLatin1Uppered</function></primary> 2412e120bd27Smrg </indexterm> 2413e120bd27Smrg <funcsynopsis> 2414e120bd27Smrg <funcprototype> 2415e120bd27Smrg <funcdef>void <function>XmuCopyISOLatin1Uppered</function></funcdef> 2416e120bd27Smrg <paramdef>char *<parameter>dst</parameter></paramdef> 2417e120bd27Smrg <paramdef>const char *<parameter>src</parameter></paramdef> 2418e120bd27Smrg </funcprototype> 2419e120bd27Smrg </funcsynopsis> 2420e120bd27Smrg <variablelist> 2421e120bd27Smrg <varlistentry> 2422e120bd27Smrg <term><parameter>dst</parameter></term> 2423e120bd27Smrg <listitem><para> 2424e120bd27Smrgreturns the string copy 2425e120bd27Smrg </para></listitem> 2426e120bd27Smrg </varlistentry> 2427e120bd27Smrg <varlistentry> 2428e120bd27Smrg <term><parameter>src</parameter></term> 2429e120bd27Smrg <listitem><para> 2430e120bd27Smrgspecifies the string to copy 2431e120bd27Smrg </para></listitem> 2432e120bd27Smrg </varlistentry> 2433e120bd27Smrg </variablelist> 2434e120bd27Smrg 2435e120bd27SmrgThis function copies a null terminated string from src to dst (including the 2436e120bd27Smrgnull), changing all Latin-1 lowercase letters to uppercase. The string is 2437e120bd27Smrgassumed to be encoded using ISO 8859-1. 2438e120bd27Smrg </para> 2439e120bd27Smrg 2440e120bd27Smrg <para> 2441e120bd27SmrgNote that like <function>strcpy</function> the caller is responsible for 2442e120bd27Smrgensuring the size of <parameter>dst</parameter> is at least as large as the 2443e120bd27Smrgsize of <parameter>src</parameter>. 2444e120bd27Smrg </para> 2445e120bd27Smrg 2446e120bd27Smrg <para id="XmuNCopyISOLatin1Uppered"> 2447e120bd27Smrg <indexterm zone="XmuNCopyISOLatin1Uppered"> 2448e120bd27Smrg <primary><function>XmuNCopyISOLatin1Uppered</function></primary> 2449e120bd27Smrg </indexterm> 2450e120bd27Smrg <funcsynopsis> 2451e120bd27Smrg <funcprototype> 2452e120bd27Smrg <funcdef>void <function>XmuNCopyISOLatin1Uppered</function></funcdef> 2453e120bd27Smrg <paramdef>char *<parameter>dst</parameter></paramdef> 2454e120bd27Smrg <paramdef>const char *<parameter>src</parameter></paramdef> 2455e120bd27Smrg <paramdef>int <parameter>size</parameter></paramdef> 2456e120bd27Smrg </funcprototype> 2457e120bd27Smrg </funcsynopsis> 2458e120bd27Smrg <variablelist> 2459e120bd27Smrg <varlistentry> 2460e120bd27Smrg <term><parameter>dst</parameter></term> 2461e120bd27Smrg <listitem><para> 2462e120bd27Smrgreturns the string copy 2463e120bd27Smrg </para></listitem> 2464e120bd27Smrg </varlistentry> 2465e120bd27Smrg <varlistentry> 2466e120bd27Smrg <term><parameter>src</parameter></term> 2467e120bd27Smrg <listitem><para> 2468e120bd27Smrgspecifies the string to copy 2469e120bd27Smrg </para></listitem> 2470e120bd27Smrg </varlistentry> 2471e120bd27Smrg <varlistentry> 2472e120bd27Smrg <term><parameter>size</parameter></term> 2473e120bd27Smrg <listitem><para> 2474e120bd27Smrgmaximum number of characters (including the null terminator) to write to dst 2475e120bd27Smrg </para></listitem> 2476e120bd27Smrg </varlistentry> 2477e120bd27Smrg </variablelist> 2478e120bd27Smrg 2479e120bd27SmrgThis function copies up to <code><parameter>size</parameter> - 1</code> 2480e120bd27Smrgcharacters of a null terminated string from <parameter>src</parameter> 2481e120bd27Smrgto <parameter>dst</parameter>, and terminates it with a null, 2482e120bd27Smrgchanging all Latin-1 lowercase letters to uppercase. The string is 2483e120bd27Smrgassumed to be encoded using ISO 8859-1. 2484e120bd27Smrg </para> 2485e120bd27Smrg 2486e120bd27Smrg <para id="XmuCompareISOLatin1"> 2487e120bd27Smrg <indexterm zone="XmuCompareISOLatin1"> 2488e120bd27Smrg <primary><function>XmuCompareISOLatin1</function></primary> 2489e120bd27Smrg </indexterm> 2490e120bd27Smrg <funcsynopsis> 2491e120bd27Smrg <funcprototype> 2492e120bd27Smrg <funcdef>int <function>XmuCompareISOLatin1</function></funcdef> 2493e120bd27Smrg <paramdef>const char *<parameter>first</parameter></paramdef> 2494e120bd27Smrg <paramdef>const char *<parameter>second</parameter></paramdef> 2495e120bd27Smrg </funcprototype> 2496e120bd27Smrg </funcsynopsis> 2497e120bd27Smrg <variablelist> 2498e120bd27Smrg <varlistentry> 2499e120bd27Smrg <term><parameter>first</parameter></term> 2500e120bd27Smrg <listitem><para> 2501e120bd27Smrg specifies a string to compare 2502e120bd27Smrg </para></listitem> 2503e120bd27Smrg </varlistentry> 2504e120bd27Smrg <varlistentry> 2505e120bd27Smrg <term><parameter>second</parameter></term> 2506e120bd27Smrg <listitem><para> 2507e120bd27Smrgspecifies a string to compare 2508e120bd27Smrg </para></listitem> 2509e120bd27Smrg </varlistentry> 2510e120bd27Smrg </variablelist> 2511e120bd27Smrg 2512e120bd27SmrgThis function compares two null terminated Latin-1 strings, ignoring case 2513e120bd27Smrgdifferences, and returns an integer greater than, equal to, or less than 0, 2514e120bd27Smrgaccording to whether first is lexicographically greater than, equal to, or 2515e120bd27Smrgless than second. The two strings are assumed to be encoded using ISO 2516e120bd27Smrg8859-1. 2517e120bd27Smrg </para> 2518e120bd27Smrg </sect1> 2519e120bd27Smrg 25200cc2eac3Smrg <sect1 id='Keyboard_Event_Translation_Functions'> 25210cc2eac3Smrg<title>Keyboard Event Translation Functions</title> 2522e120bd27Smrg 2523e120bd27Smrg <para> 2524e120bd27SmrgTo use the functions defined in this section, you should include the header 2525e120bd27Smrgfile 2526e120bd27Smrg<<filename class='headerfile'>X11/Xmu/Lookup.h</filename>> 2527e120bd27Smrg<indexterm> 2528e120bd27Smrg<primary><filename class='headerfile'>X11/Xmu/Lookup.h</filename></primary> 2529e120bd27Smrg</indexterm>. 2530e120bd27Smrgand link against the libXmu library. 2531e120bd27Smrg </para> 2532e120bd27Smrg 2533e120bd27Smrg <warning><para> 2534e120bd27SmrgThe functions in this section are <emphasis remap='B'>deprecated</emphasis> because they don't work 2535e120bd27Smrgin most locales now supported by X11; the function 25360cc2eac3Smrg<olink targetdoc='libX11' targetptr='XmbLookupString'><function>XmbLookupString</function></olink> 2537e120bd27Smrgprovides a better alternative. 2538e120bd27Smrg </para></warning> 2539e120bd27Smrg 2540e120bd27Smrg <para id="XmuLookupLatin1"> 2541e120bd27Smrg <indexterm zone="XmuLookupLatin1"> 2542e120bd27Smrg <primary><function>XmuLookupLatin1</function></primary> 2543e120bd27Smrg </indexterm> 2544e120bd27Smrg <funcsynopsis> 2545e120bd27Smrg <funcprototype> 2546e120bd27Smrg <funcdef>int <function>XmuLookupLatin1</function></funcdef> 2547e120bd27Smrg <paramdef>XKeyEvent *<parameter>event</parameter></paramdef> 2548e120bd27Smrg <paramdef>unsigned char *<parameter>buffer</parameter></paramdef> 2549e120bd27Smrg <paramdef>int <parameter>nbytes</parameter></paramdef> 2550e120bd27Smrg <paramdef>KeySym *<parameter>keysym</parameter></paramdef> 2551e120bd27Smrg <paramdef>XComposeStatus *<parameter>status</parameter></paramdef> 2552e120bd27Smrg </funcprototype> 2553e120bd27Smrg </funcsynopsis> 2554e120bd27Smrg <variablelist> 2555e120bd27Smrg <varlistentry> 2556e120bd27Smrg <term><parameter>event</parameter></term> 2557e120bd27Smrg <listitem><para> 2558e120bd27Smrgspecifies the key event 2559e120bd27Smrg </para></listitem> 2560e120bd27Smrg </varlistentry> 2561e120bd27Smrg <varlistentry> 2562e120bd27Smrg <term><parameter>buffer</parameter></term> 2563e120bd27Smrg <listitem><para> 2564e120bd27Smrgreturns the translated characters 2565e120bd27Smrg </para></listitem> 2566e120bd27Smrg </varlistentry> 2567e120bd27Smrg <varlistentry> 2568e120bd27Smrg <term><parameter>nbytes</parameter></term> 2569e120bd27Smrg <listitem><para> 2570e120bd27Smrgspecifies the length of the buffer 2571e120bd27Smrg </para></listitem> 2572e120bd27Smrg </varlistentry> 2573e120bd27Smrg <varlistentry> 2574e120bd27Smrg <term><parameter>keysym</parameter></term> 2575e120bd27Smrg <listitem><para> 2576e120bd27Smrgreturns the computed KeySym, or None 2577e120bd27Smrg </para></listitem> 2578e120bd27Smrg </varlistentry> 2579e120bd27Smrg <varlistentry> 2580e120bd27Smrg <term><parameter>status</parameter></term> 2581e120bd27Smrg <listitem><para> 2582e120bd27Smrgspecifies or returns the compose state 2583e120bd27Smrg </para></listitem> 2584e120bd27Smrg </varlistentry> 2585e120bd27Smrg </variablelist> 2586e120bd27Smrg 2587e120bd27SmrgThis function is identical to 25880cc2eac3Smrg<olink targetdoc='libX11' targetptr='XLookupString'><function>XLookupString</function></olink>, 2589e120bd27Smrgand exists only for naming symmetry with other functions. 2590e120bd27Smrg </para> 2591e120bd27Smrg 2592e120bd27Smrg <para id="XmuLookupLatin2"> 2593e120bd27Smrg <indexterm zone="XmuLookupLatin2"> 2594e120bd27Smrg <primary><function>XmuLookupLatin2</function></primary> 2595e120bd27Smrg </indexterm> 2596e120bd27Smrg <funcsynopsis> 2597e120bd27Smrg <funcprototype> 2598e120bd27Smrg <funcdef>int <function>XmuLookupLatin2</function></funcdef> 2599e120bd27Smrg <paramdef>XKeyEvent *<parameter>event</parameter></paramdef> 2600e120bd27Smrg <paramdef>unsigned char *<parameter>buffer</parameter></paramdef> 2601e120bd27Smrg <paramdef>int <parameter>nbytes</parameter></paramdef> 2602e120bd27Smrg <paramdef>KeySym *<parameter>keysym</parameter></paramdef> 2603e120bd27Smrg <paramdef>XComposeStatus *<parameter>status</parameter></paramdef> 2604e120bd27Smrg </funcprototype> 2605e120bd27Smrg </funcsynopsis> 2606e120bd27Smrg <variablelist> 2607e120bd27Smrg <varlistentry> 2608e120bd27Smrg <term><parameter>event</parameter></term> 2609e120bd27Smrg <listitem><para> 2610e120bd27Smrgspecifies the key event 2611e120bd27Smrg </para></listitem> 2612e120bd27Smrg </varlistentry> 2613e120bd27Smrg <varlistentry> 2614e120bd27Smrg <term><parameter>buffer</parameter></term> 2615e120bd27Smrg <listitem><para> 2616e120bd27Smrgreturns the translated characters 2617e120bd27Smrg </para></listitem> 2618e120bd27Smrg </varlistentry> 2619e120bd27Smrg <varlistentry> 2620e120bd27Smrg <term><parameter>nbytes</parameter></term> 2621e120bd27Smrg <listitem><para> 2622e120bd27Smrgspecifies the length of the buffer 2623e120bd27Smrg </para></listitem> 2624e120bd27Smrg </varlistentry> 2625e120bd27Smrg <varlistentry> 2626e120bd27Smrg <term><parameter>keysym</parameter></term> 2627e120bd27Smrg <listitem><para> 2628e120bd27Smrgreturns the computed KeySym, or None 2629e120bd27Smrg </para></listitem> 2630e120bd27Smrg </varlistentry> 2631e120bd27Smrg <varlistentry> 2632e120bd27Smrg <term><parameter>status</parameter></term> 2633e120bd27Smrg <listitem><para> 2634e120bd27Smrgspecifies or returns the compose state 2635e120bd27Smrg </para></listitem> 2636e120bd27Smrg </varlistentry> 2637e120bd27Smrg </variablelist> 2638e120bd27Smrg 2639e120bd27SmrgThis function is similar to 26400cc2eac3Smrg<olink targetdoc='libX11' targetptr='XLookupString'><function>XLookupString</function></olink>, 2641e120bd27Smrgexcept that it maps a key event 2642e120bd27Smrgto an Latin-2 (ISO 8859-2) string, or to an ASCII control string. 2643e120bd27Smrg </para> 2644e120bd27Smrg 2645e120bd27Smrg <para id="XmuLookupLatin3"> 2646e120bd27Smrg <indexterm zone="XmuLookupLatin3"> 2647e120bd27Smrg <primary><function>XmuLookupLatin3</function></primary> 2648e120bd27Smrg </indexterm> 2649e120bd27Smrg <funcsynopsis> 2650e120bd27Smrg <funcprototype> 2651e120bd27Smrg <funcdef>int <function>XmuLookupLatin3</function></funcdef> 2652e120bd27Smrg <paramdef>XKeyEvent *<parameter>event</parameter></paramdef> 2653e120bd27Smrg <paramdef>unsigned char *<parameter>buffer</parameter></paramdef> 2654e120bd27Smrg <paramdef>int <parameter>nbytes</parameter></paramdef> 2655e120bd27Smrg <paramdef>KeySym *<parameter>keysym</parameter></paramdef> 2656e120bd27Smrg <paramdef>XComposeStatus *<parameter>status</parameter></paramdef> 2657e120bd27Smrg </funcprototype> 2658e120bd27Smrg </funcsynopsis> 2659e120bd27Smrg <variablelist> 2660e120bd27Smrg <varlistentry> 2661e120bd27Smrg <term><parameter>event</parameter></term> 2662e120bd27Smrg <listitem><para> 2663e120bd27Smrgspecifies the key event 2664e120bd27Smrg </para></listitem> 2665e120bd27Smrg </varlistentry> 2666e120bd27Smrg <varlistentry> 2667e120bd27Smrg <term><parameter>buffer</parameter></term> 2668e120bd27Smrg <listitem><para> 2669e120bd27Smrgreturns the translated characters 2670e120bd27Smrg </para></listitem> 2671e120bd27Smrg </varlistentry> 2672e120bd27Smrg <varlistentry> 2673e120bd27Smrg <term><parameter>nbytes</parameter></term> 2674e120bd27Smrg <listitem><para> 2675e120bd27Smrgspecifies the length of the buffer 2676e120bd27Smrg </para></listitem> 2677e120bd27Smrg </varlistentry> 2678e120bd27Smrg <varlistentry> 2679e120bd27Smrg <term><parameter>keysym</parameter></term> 2680e120bd27Smrg <listitem><para> 2681e120bd27Smrgreturns the computed KeySym, or None 2682e120bd27Smrg </para></listitem> 2683e120bd27Smrg </varlistentry> 2684e120bd27Smrg <varlistentry> 2685e120bd27Smrg <term><parameter>status</parameter></term> 2686e120bd27Smrg <listitem><para> 2687e120bd27Smrgspecifies or returns the compose state 2688e120bd27Smrg </para></listitem> 2689e120bd27Smrg </varlistentry> 2690e120bd27Smrg </variablelist> 2691e120bd27Smrg 2692e120bd27SmrgThis function is similar to 26930cc2eac3Smrg<olink targetdoc='libX11' targetptr='XLookupString'><function>XLookupString</function></olink>, 2694e120bd27Smrgexcept that it maps a key event 2695e120bd27Smrgto an Latin-3 (ISO 8859-3) string, or to an ASCII control string. 2696e120bd27Smrg </para> 2697e120bd27Smrg 2698e120bd27Smrg <para id="XmuLookupLatin4"> 2699e120bd27Smrg <indexterm zone="XmuLookupLatin4"> 2700e120bd27Smrg <primary><function>XmuLookupLatin4</function></primary> 2701e120bd27Smrg </indexterm> 2702e120bd27Smrg <funcsynopsis> 2703e120bd27Smrg <funcprototype> 2704e120bd27Smrg <funcdef>int <function>XmuLookupLatin4</function></funcdef> 2705e120bd27Smrg <paramdef>XKeyEvent *<parameter>event</parameter></paramdef> 2706e120bd27Smrg <paramdef>unsigned char *<parameter>buffer</parameter></paramdef> 2707e120bd27Smrg <paramdef>int <parameter>nbytes</parameter></paramdef> 2708e120bd27Smrg <paramdef>KeySym *<parameter>keysym</parameter></paramdef> 2709e120bd27Smrg <paramdef>XComposeStatus *<parameter>status</parameter></paramdef> 2710e120bd27Smrg </funcprototype> 2711e120bd27Smrg </funcsynopsis> 2712e120bd27Smrg <variablelist> 2713e120bd27Smrg <varlistentry> 2714e120bd27Smrg <term><parameter>event</parameter></term> 2715e120bd27Smrg <listitem><para> 2716e120bd27Smrgspecifies the key event 2717e120bd27Smrg </para></listitem> 2718e120bd27Smrg </varlistentry> 2719e120bd27Smrg <varlistentry> 2720e120bd27Smrg <term><parameter>buffer</parameter></term> 2721e120bd27Smrg <listitem><para> 2722e120bd27Smrgreturns the translated characters 2723e120bd27Smrg </para></listitem> 2724e120bd27Smrg </varlistentry> 2725e120bd27Smrg <varlistentry> 2726e120bd27Smrg <term><parameter>nbytes</parameter></term> 2727e120bd27Smrg <listitem><para> 2728e120bd27Smrgspecifies the length of the buffer 2729e120bd27Smrg </para></listitem> 2730e120bd27Smrg </varlistentry> 2731e120bd27Smrg <varlistentry> 2732e120bd27Smrg <term><parameter>keysym</parameter></term> 2733e120bd27Smrg <listitem><para> 2734e120bd27Smrgreturns the computed KeySym, or None 2735e120bd27Smrg </para></listitem> 2736e120bd27Smrg </varlistentry> 2737e120bd27Smrg <varlistentry> 2738e120bd27Smrg <term><parameter>status</parameter></term> 2739e120bd27Smrg <listitem><para> 2740e120bd27Smrgspecifies or returns the compose state 2741e120bd27Smrg </para></listitem> 2742e120bd27Smrg </varlistentry> 2743e120bd27Smrg </variablelist> 2744e120bd27Smrg 2745e120bd27SmrgThis function is similar to 27460cc2eac3Smrg<olink targetdoc='libX11' targetptr='XLookupString'><function>XLookupString</function></olink>, 2747e120bd27Smrgexcept that it maps a key event 2748e120bd27Smrgto an Latin-4 (ISO 8859-4) string, or to an ASCII control string. 2749e120bd27Smrg </para> 2750e120bd27Smrg 2751e120bd27Smrg <para id="XmuLookupKana"> 2752e120bd27Smrg <indexterm zone="XmuLookupKana"> 2753e120bd27Smrg <primary><function>XmuLookupKana</function></primary> 2754e120bd27Smrg </indexterm> 2755e120bd27Smrg <funcsynopsis> 2756e120bd27Smrg <funcprototype> 2757e120bd27Smrg <funcdef>int <function>XmuLookupKana</function></funcdef> 2758e120bd27Smrg <paramdef>XKeyEvent *<parameter>event</parameter></paramdef> 2759e120bd27Smrg <paramdef>unsigned char *<parameter>buffer</parameter></paramdef> 2760e120bd27Smrg <paramdef>int <parameter>nbytes</parameter></paramdef> 2761e120bd27Smrg <paramdef>KeySym *<parameter>keysym</parameter></paramdef> 2762e120bd27Smrg <paramdef>XComposeStatus *<parameter>status</parameter></paramdef> 2763e120bd27Smrg </funcprototype> 2764e120bd27Smrg </funcsynopsis> 2765e120bd27Smrg <variablelist> 2766e120bd27Smrg <varlistentry> 2767e120bd27Smrg <term><parameter>event</parameter></term> 2768e120bd27Smrg <listitem><para> 2769e120bd27Smrgspecifies the key event 2770e120bd27Smrg </para></listitem> 2771e120bd27Smrg </varlistentry> 2772e120bd27Smrg <varlistentry> 2773e120bd27Smrg <term><parameter>buffer</parameter></term> 2774e120bd27Smrg <listitem><para> 2775e120bd27Smrgreturns the translated characters 2776e120bd27Smrg </para></listitem> 2777e120bd27Smrg </varlistentry> 2778e120bd27Smrg <varlistentry> 2779e120bd27Smrg <term><parameter>nbytes</parameter></term> 2780e120bd27Smrg <listitem><para> 2781e120bd27Smrgspecifies the length of the buffer 2782e120bd27Smrg </para></listitem> 2783e120bd27Smrg </varlistentry> 2784e120bd27Smrg <varlistentry> 2785e120bd27Smrg <term><parameter>keysym</parameter></term> 2786e120bd27Smrg <listitem><para> 2787e120bd27Smrgreturns the computed KeySym, or None 2788e120bd27Smrg </para></listitem> 2789e120bd27Smrg </varlistentry> 2790e120bd27Smrg <varlistentry> 2791e120bd27Smrg <term><parameter>status</parameter></term> 2792e120bd27Smrg <listitem><para> 2793e120bd27Smrgspecifies or returns the compose state 2794e120bd27Smrg </para></listitem> 2795e120bd27Smrg </varlistentry> 2796e120bd27Smrg </variablelist> 2797e120bd27Smrg 2798e120bd27SmrgThis function is similar to 27990cc2eac3Smrg<olink targetdoc='libX11' targetptr='XLookupString'><function>XLookupString</function></olink>, 2800e120bd27Smrgexcept that it maps a key event 2801e120bd27Smrgto a string in an encoding consisting of Latin-1 (ISO 8859-1) and ASCII 2802e120bd27Smrgcontrol in the Graphics Left half (values 0 to 127), and Katakana in the 2803e120bd27SmrgGraphics Right half (values 128 to 255), using the values from JIS 2804e120bd27SmrgX201-1976. 2805e120bd27Smrg </para> 2806e120bd27Smrg 2807e120bd27Smrg <para id="XmuLookupJISX0201"> 2808e120bd27Smrg <indexterm zone="XmuLookupJISX0201"> 2809e120bd27Smrg <primary><function>XmuLookupJISX0201</function></primary> 2810e120bd27Smrg </indexterm> 2811e120bd27Smrg <funcsynopsis> 2812e120bd27Smrg <funcprototype> 2813e120bd27Smrg <funcdef>int <function>XmuLookupJISX0201</function></funcdef> 2814e120bd27Smrg <paramdef>XKeyEvent *<parameter>event</parameter></paramdef> 2815e120bd27Smrg <paramdef>unsigned char *<parameter>buffer</parameter></paramdef> 2816e120bd27Smrg <paramdef>int <parameter>nbytes</parameter></paramdef> 2817e120bd27Smrg <paramdef>KeySym *<parameter>keysym</parameter></paramdef> 2818e120bd27Smrg <paramdef>XComposeStatus *<parameter>status</parameter></paramdef> 2819e120bd27Smrg </funcprototype> 2820e120bd27Smrg </funcsynopsis> 2821e120bd27Smrg <variablelist> 2822e120bd27Smrg <varlistentry> 2823e120bd27Smrg <term><parameter>event</parameter></term> 2824e120bd27Smrg <listitem><para> 2825e120bd27Smrgspecifies the key event 2826e120bd27Smrg </para></listitem> 2827e120bd27Smrg </varlistentry> 2828e120bd27Smrg <varlistentry> 2829e120bd27Smrg <term><parameter>buffer</parameter></term> 2830e120bd27Smrg <listitem><para> 2831e120bd27Smrgreturns the translated characters 2832e120bd27Smrg </para></listitem> 2833e120bd27Smrg </varlistentry> 2834e120bd27Smrg <varlistentry> 2835e120bd27Smrg <term><parameter>nbytes</parameter></term> 2836e120bd27Smrg <listitem><para> 2837e120bd27Smrgspecifies the length of the buffer 2838e120bd27Smrg </para></listitem> 2839e120bd27Smrg </varlistentry> 2840e120bd27Smrg <varlistentry> 2841e120bd27Smrg <term><parameter>keysym</parameter></term> 2842e120bd27Smrg <listitem><para> 2843e120bd27Smrgreturns the computed KeySym, or None 2844e120bd27Smrg </para></listitem> 2845e120bd27Smrg </varlistentry> 2846e120bd27Smrg <varlistentry> 2847e120bd27Smrg <term><parameter>status</parameter></term> 2848e120bd27Smrg <listitem><para> 2849e120bd27Smrgspecifies or returns the compose state 2850e120bd27Smrg </para></listitem> 2851e120bd27Smrg </varlistentry> 2852e120bd27Smrg </variablelist> 2853e120bd27Smrg 2854e120bd27SmrgThis function is similar to 28550cc2eac3Smrg<olink targetdoc='libX11' targetptr='XLookupString'><function>XLookupString</function></olink>, 2856e120bd27Smrgexcept that it maps a key event 2857e120bd27Smrgto a string in the JIS X0201-1976 encoding, including ASCII control. 2858e120bd27Smrg </para> 2859e120bd27Smrg 2860e120bd27Smrg <para id="XmuLookupArabic"> 2861e120bd27Smrg <indexterm zone="XmuLookupArabic"> 2862e120bd27Smrg <primary><function>XmuLookupArabic</function></primary> 2863e120bd27Smrg </indexterm> 2864e120bd27Smrg <funcsynopsis> 2865e120bd27Smrg <funcprototype> 2866e120bd27Smrg <funcdef>int <function>XmuLookupArabic</function></funcdef> 2867e120bd27Smrg <paramdef>XKeyEvent *<parameter>event</parameter></paramdef> 2868e120bd27Smrg <paramdef>unsigned char *<parameter>buffer</parameter></paramdef> 2869e120bd27Smrg <paramdef>int <parameter>nbytes</parameter></paramdef> 2870e120bd27Smrg <paramdef>KeySym *<parameter>keysym</parameter></paramdef> 2871e120bd27Smrg <paramdef>XComposeStatus *<parameter>status</parameter></paramdef> 2872e120bd27Smrg </funcprototype> 2873e120bd27Smrg </funcsynopsis> 2874e120bd27Smrg <variablelist> 2875e120bd27Smrg <varlistentry> 2876e120bd27Smrg <term><parameter>event</parameter></term> 2877e120bd27Smrg <listitem><para> 2878e120bd27Smrgspecifies the key event 2879e120bd27Smrg </para></listitem> 2880e120bd27Smrg </varlistentry> 2881e120bd27Smrg <varlistentry> 2882e120bd27Smrg <term><parameter>buffer</parameter></term> 2883e120bd27Smrg <listitem><para> 2884e120bd27Smrgreturns the translated characters 2885e120bd27Smrg </para></listitem> 2886e120bd27Smrg </varlistentry> 2887e120bd27Smrg <varlistentry> 2888e120bd27Smrg <term><parameter>nbytes</parameter></term> 2889e120bd27Smrg <listitem><para> 2890e120bd27Smrgspecifies the length of the buffer 2891e120bd27Smrg </para></listitem> 2892e120bd27Smrg </varlistentry> 2893e120bd27Smrg <varlistentry> 2894e120bd27Smrg <term><parameter>keysym</parameter></term> 2895e120bd27Smrg <listitem><para> 2896e120bd27Smrgreturns the computed KeySym, or None 2897e120bd27Smrg </para></listitem> 2898e120bd27Smrg </varlistentry> 2899e120bd27Smrg <varlistentry> 2900e120bd27Smrg <term><parameter>status</parameter></term> 2901e120bd27Smrg <listitem><para> 2902e120bd27Smrgspecifies or returns the compose state 2903e120bd27Smrg </para></listitem> 2904e120bd27Smrg </varlistentry> 2905e120bd27Smrg </variablelist> 2906e120bd27Smrg 2907e120bd27SmrgThis function is similar to 29080cc2eac3Smrg<olink targetdoc='libX11' targetptr='XLookupString'><function>XLookupString</function></olink>, 2909e120bd27Smrgexcept that it maps a key event 2910e120bd27Smrgto a Latin/Arabic (ISO 8859-6) string, or to an ASCII control string. 2911e120bd27Smrg </para> 2912e120bd27Smrg 2913e120bd27Smrg <para id="XmuLookupCyrillic"> 2914e120bd27Smrg <indexterm zone="XmuLookupCyrillic"> 2915e120bd27Smrg <primary><function>XmuLookupCyrillic</function></primary> 2916e120bd27Smrg </indexterm> 2917e120bd27Smrg <funcsynopsis> 2918e120bd27Smrg <funcprototype> 2919e120bd27Smrg <funcdef>int <function>XmuLookupCyrillic</function></funcdef> 2920e120bd27Smrg <paramdef>XKeyEvent *<parameter>event</parameter></paramdef> 2921e120bd27Smrg <paramdef>unsigned char *<parameter>buffer</parameter></paramdef> 2922e120bd27Smrg <paramdef>int <parameter>nbytes</parameter></paramdef> 2923e120bd27Smrg <paramdef>KeySym *<parameter>keysym</parameter></paramdef> 2924e120bd27Smrg <paramdef>XComposeStatus *<parameter>status</parameter></paramdef> 2925e120bd27Smrg </funcprototype> 2926e120bd27Smrg </funcsynopsis> 2927e120bd27Smrg <variablelist> 2928e120bd27Smrg <varlistentry> 2929e120bd27Smrg <term><parameter>event</parameter></term> 2930e120bd27Smrg <listitem><para> 2931e120bd27Smrgspecifies the key event 2932e120bd27Smrg </para></listitem> 2933e120bd27Smrg </varlistentry> 2934e120bd27Smrg <varlistentry> 2935e120bd27Smrg <term><parameter>buffer</parameter></term> 2936e120bd27Smrg <listitem><para> 2937e120bd27Smrgreturns the translated characters 2938e120bd27Smrg </para></listitem> 2939e120bd27Smrg </varlistentry> 2940e120bd27Smrg <varlistentry> 2941e120bd27Smrg <term><parameter>nbytes</parameter></term> 2942e120bd27Smrg <listitem><para> 2943e120bd27Smrgspecifies the length of the buffer 2944e120bd27Smrg </para></listitem> 2945e120bd27Smrg </varlistentry> 2946e120bd27Smrg <varlistentry> 2947e120bd27Smrg <term><parameter>keysym</parameter></term> 2948e120bd27Smrg <listitem><para> 2949e120bd27Smrgreturns the computed KeySym, or None 2950e120bd27Smrg </para></listitem> 2951e120bd27Smrg </varlistentry> 2952e120bd27Smrg <varlistentry> 2953e120bd27Smrg <term><parameter>status</parameter></term> 2954e120bd27Smrg <listitem><para> 2955e120bd27Smrgspecifies or returns the compose state 2956e120bd27Smrg </para></listitem> 2957e120bd27Smrg </varlistentry> 2958e120bd27Smrg </variablelist> 2959e120bd27Smrg 2960e120bd27SmrgThis function is similar to 29610cc2eac3Smrg<olink targetdoc='libX11' targetptr='XLookupString'><function>XLookupString</function></olink>, 2962e120bd27Smrgexcept that it maps a key event 2963e120bd27Smrgto a Latin/Cyrillic (ISO 8859-5) string, or to an ASCII control string. 2964e120bd27Smrg </para> 2965e120bd27Smrg 2966e120bd27Smrg <para id="XmuLookupGreek"> 2967e120bd27Smrg <indexterm zone="XmuLookupGreek"> 2968e120bd27Smrg <primary><function>XmuLookupGreek</function></primary> 2969e120bd27Smrg </indexterm> 2970e120bd27Smrg <funcsynopsis> 2971e120bd27Smrg <funcprototype> 2972e120bd27Smrg <funcdef>int <function>XmuLookupGreek</function></funcdef> 2973e120bd27Smrg <paramdef>XKeyEvent *<parameter>event</parameter></paramdef> 2974e120bd27Smrg <paramdef>unsigned char *<parameter>buffer</parameter></paramdef> 2975e120bd27Smrg <paramdef>int <parameter>nbytes</parameter></paramdef> 2976e120bd27Smrg <paramdef>KeySym *<parameter>keysym</parameter></paramdef> 2977e120bd27Smrg <paramdef>XComposeStatus *<parameter>status</parameter></paramdef> 2978e120bd27Smrg </funcprototype> 2979e120bd27Smrg </funcsynopsis> 2980e120bd27Smrg <variablelist> 2981e120bd27Smrg <varlistentry> 2982e120bd27Smrg <term><parameter>event</parameter></term> 2983e120bd27Smrg <listitem><para> 2984e120bd27Smrgspecifies the key event 2985e120bd27Smrg </para></listitem> 2986e120bd27Smrg </varlistentry> 2987e120bd27Smrg <varlistentry> 2988e120bd27Smrg <term><parameter>buffer</parameter></term> 2989e120bd27Smrg <listitem><para> 2990e120bd27Smrgreturns the translated characters 2991e120bd27Smrg </para></listitem> 2992e120bd27Smrg </varlistentry> 2993e120bd27Smrg <varlistentry> 2994e120bd27Smrg <term><parameter>nbytes</parameter></term> 2995e120bd27Smrg <listitem><para> 2996e120bd27Smrgspecifies the length of the buffer 2997e120bd27Smrg </para></listitem> 2998e120bd27Smrg </varlistentry> 2999e120bd27Smrg <varlistentry> 3000e120bd27Smrg <term><parameter>keysym</parameter></term> 3001e120bd27Smrg <listitem><para> 3002e120bd27Smrgreturns the computed KeySym, or None 3003e120bd27Smrg </para></listitem> 3004e120bd27Smrg </varlistentry> 3005e120bd27Smrg <varlistentry> 3006e120bd27Smrg <term><parameter>status</parameter></term> 3007e120bd27Smrg <listitem><para> 3008e120bd27Smrgspecifies or returns the compose state 3009e120bd27Smrg </para></listitem> 3010e120bd27Smrg </varlistentry> 3011e120bd27Smrg </variablelist> 3012e120bd27Smrg 3013e120bd27SmrgThis function is similar to 30140cc2eac3Smrg<olink targetdoc='libX11' targetptr='XLookupString'><function>XLookupString</function></olink>, 3015e120bd27Smrgexcept that it maps a key event 3016e120bd27Smrgto a Latin/Greek (ISO 8859-7) string, or to an ASCII control string. 3017e120bd27Smrg </para> 3018e120bd27Smrg 3019e120bd27Smrg <para id="XmuLookupHebrew"> 3020e120bd27Smrg <indexterm zone="XmuLookupHebrew"> 3021e120bd27Smrg <primary><function>XmuLookupHebrew</function></primary> 3022e120bd27Smrg </indexterm> 3023e120bd27Smrg <funcsynopsis> 3024e120bd27Smrg <funcprototype> 3025e120bd27Smrg <funcdef>int <function>XmuLookupHebrew</function></funcdef> 3026e120bd27Smrg <paramdef>XKeyEvent *<parameter>event</parameter></paramdef> 3027e120bd27Smrg <paramdef>unsigned char *<parameter>buffer</parameter></paramdef> 3028e120bd27Smrg <paramdef>int <parameter>nbytes</parameter></paramdef> 3029e120bd27Smrg <paramdef>KeySym *<parameter>keysym</parameter></paramdef> 3030e120bd27Smrg <paramdef>XComposeStatus *<parameter>status</parameter></paramdef> 3031e120bd27Smrg </funcprototype> 3032e120bd27Smrg </funcsynopsis> 3033e120bd27Smrg <variablelist> 3034e120bd27Smrg <varlistentry> 3035e120bd27Smrg <term><parameter>event</parameter></term> 3036e120bd27Smrg <listitem><para> 3037e120bd27Smrgspecifies the key event 3038e120bd27Smrg </para></listitem> 3039e120bd27Smrg </varlistentry> 3040e120bd27Smrg <varlistentry> 3041e120bd27Smrg <term><parameter>buffer</parameter></term> 3042e120bd27Smrg <listitem><para> 3043e120bd27Smrgreturns the translated characters 3044e120bd27Smrg </para></listitem> 3045e120bd27Smrg </varlistentry> 3046e120bd27Smrg <varlistentry> 3047e120bd27Smrg <term><parameter>nbytes</parameter></term> 3048e120bd27Smrg <listitem><para> 3049e120bd27Smrgspecifies the length of the buffer 3050e120bd27Smrg </para></listitem> 3051e120bd27Smrg </varlistentry> 3052e120bd27Smrg <varlistentry> 3053e120bd27Smrg <term><parameter>keysym</parameter></term> 3054e120bd27Smrg <listitem><para> 3055e120bd27Smrgreturns the computed KeySym, or None 3056e120bd27Smrg </para></listitem> 3057e120bd27Smrg </varlistentry> 3058e120bd27Smrg <varlistentry> 3059e120bd27Smrg <term><parameter>status</parameter></term> 3060e120bd27Smrg <listitem><para> 3061e120bd27Smrgspecifies or returns the compose state 3062e120bd27Smrg </para></listitem> 3063e120bd27Smrg </varlistentry> 3064e120bd27Smrg </variablelist> 3065e120bd27Smrg 3066e120bd27SmrgThis function is similar to 30670cc2eac3Smrg<olink targetdoc='libX11' targetptr='XLookupString'><function>XLookupString</function></olink>, 3068e120bd27Smrgexcept that it maps a key event 3069e120bd27Smrgto a Latin/Hebrew (ISO 8859-8) string, or to an ASCII control string. 3070e120bd27Smrg </para> 3071e120bd27Smrg 3072e120bd27Smrg <para id="XmuLookupAPL"> 3073e120bd27Smrg <indexterm zone="XmuLookupAPL"> 3074e120bd27Smrg <primary><function>XmuLookupAPL</function></primary> 3075e120bd27Smrg </indexterm> 3076e120bd27Smrg <funcsynopsis> 3077e120bd27Smrg <funcprototype> 3078e120bd27Smrg <funcdef>int <function>XmuLookupAPL</function></funcdef> 3079e120bd27Smrg <paramdef>XKeyEvent *<parameter>event</parameter></paramdef> 3080e120bd27Smrg <paramdef>unsigned char *<parameter>buffer</parameter></paramdef> 3081e120bd27Smrg <paramdef>int <parameter>nbytes</parameter></paramdef> 3082e120bd27Smrg <paramdef>KeySym *<parameter>keysym</parameter></paramdef> 3083e120bd27Smrg <paramdef>XComposeStatus *<parameter>status</parameter></paramdef> 3084e120bd27Smrg </funcprototype> 3085e120bd27Smrg </funcsynopsis> 3086e120bd27Smrg <variablelist> 3087e120bd27Smrg <varlistentry> 3088e120bd27Smrg <term><parameter>event</parameter></term> 3089e120bd27Smrg <listitem><para> 3090e120bd27Smrgspecifies the key event 3091e120bd27Smrg </para></listitem> 3092e120bd27Smrg </varlistentry> 3093e120bd27Smrg <varlistentry> 3094e120bd27Smrg <term><parameter>buffer</parameter></term> 3095e120bd27Smrg <listitem><para> 3096e120bd27Smrgreturns the translated characters 3097e120bd27Smrg </para></listitem> 3098e120bd27Smrg </varlistentry> 3099e120bd27Smrg <varlistentry> 3100e120bd27Smrg <term><parameter>nbytes</parameter></term> 3101e120bd27Smrg <listitem><para> 3102e120bd27Smrgspecifies the length of the buffer 3103e120bd27Smrg </para></listitem> 3104e120bd27Smrg </varlistentry> 3105e120bd27Smrg <varlistentry> 3106e120bd27Smrg <term><parameter>keysym</parameter></term> 3107e120bd27Smrg <listitem><para> 3108e120bd27Smrgreturns the computed KeySym, or None 3109e120bd27Smrg </para></listitem> 3110e120bd27Smrg </varlistentry> 3111e120bd27Smrg <varlistentry> 3112e120bd27Smrg <term><parameter>status</parameter></term> 3113e120bd27Smrg <listitem><para> 3114e120bd27Smrgspecifies or returns the compose state 3115e120bd27Smrg </para></listitem> 3116e120bd27Smrg </varlistentry> 3117e120bd27Smrg </variablelist> 3118e120bd27Smrg 3119e120bd27SmrgThis function is similar to 31200cc2eac3Smrg<olink targetdoc='libX11' targetptr='XLookupString'><function>XLookupString</function></olink>, 3121e120bd27Smrgexcept that it maps a key event to an APL string. 3122e120bd27Smrg </para> 3123e120bd27Smrg 3124e120bd27Smrg </sect1> 3125e120bd27Smrg 31260cc2eac3Smrg <sect1 id='Compound_Text_Functions'> 31270cc2eac3Smrg<title>Compound Text Functions</title> 3128e120bd27Smrg 3129e120bd27Smrg <para> 3130e120bd27SmrgThe functions defined in this section are for parsing Compound Text strings, 3131e120bd27Smrgdecomposing them into individual segments. Definitions needed to use these 3132e120bd27Smrgroutines are in the include file 3133e120bd27Smrg<<filename class='headerfile'>X11/Xmu/Xct.h</filename>> 3134e120bd27Smrg<indexterm> 3135e120bd27Smrg<primary><filename class='headerfile'>X11/Xmu/Xct.h</filename></primary> 3136e120bd27Smrg</indexterm> 3137e120bd27Smrgand link against the libXmu library. 3138e120bd27Smrg </para> 3139e120bd27Smrg 3140e120bd27Smrg <warning><para> 3141e120bd27SmrgThe functions in this section are <emphasis remap='B'>deprecated</emphasis> because they shift the 3142e120bd27Smrgburden for recently introduced locale encodings to the application. The 3143e120bd27Smrguse of the 3144e120bd27Smrg<symbol>UTF8_STRING</symbol> 3145e120bd27Smrgtext encoding provides a better alternative. 3146e120bd27Smrg </para></warning> 3147e120bd27Smrg 3148e120bd27Smrg <para> 3149e120bd27SmrgA Compound Text string is represented as the following type: 3150e120bd27Smrg 3151e120bd27Smrg <synopsis> 3152e120bd27Smrg typedef unsigned char *XctString; 3153e120bd27Smrg </synopsis> 3154e120bd27Smrg </para> 3155e120bd27Smrg 3156e120bd27Smrg <para id="XctCreate"> 3157e120bd27Smrg <indexterm zone="XctCreate"> 3158e120bd27Smrg <primary><function>XctCreate</function></primary> 3159e120bd27Smrg </indexterm> 3160e120bd27Smrg <funcsynopsis> 3161e120bd27Smrg <funcprototype> 3162e120bd27Smrg <funcdef>XctData <function>XctCreate</function></funcdef> 3163e120bd27Smrg <paramdef>const XctString <parameter>string</parameter></paramdef> 3164e120bd27Smrg <paramdef>int <parameter>length</parameter></paramdef> 3165e120bd27Smrg <paramdef>XctFlags <parameter>flags</parameter></paramdef> 3166e120bd27Smrg </funcprototype> 3167e120bd27Smrg </funcsynopsis> 3168e120bd27Smrg <variablelist> 3169e120bd27Smrg <varlistentry> 3170e120bd27Smrg <term><parameter>string</parameter></term> 3171e120bd27Smrg <listitem><para> 3172e120bd27Smrgthe Compound Text string 3173e120bd27Smrg </para></listitem> 3174e120bd27Smrg </varlistentry> 3175e120bd27Smrg <varlistentry> 3176e120bd27Smrg <term><parameter>length</parameter></term> 3177e120bd27Smrg <listitem><para> 3178e120bd27Smrgthe number of bytes in string 3179e120bd27Smrg </para></listitem> 3180e120bd27Smrg </varlistentry> 3181e120bd27Smrg <varlistentry> 3182e120bd27Smrg <term><parameter>flags</parameter></term> 3183e120bd27Smrg <listitem><para> 3184e120bd27Smrgparsing control flags 3185e120bd27Smrg </para></listitem> 3186e120bd27Smrg </varlistentry> 3187e120bd27Smrg </variablelist> 3188e120bd27Smrg 3189e120bd27SmrgThis function creates an 3190e120bd27Smrg<type>XctData</type> 3191e120bd27Smrgstructure for parsing a Compound Text 3192e120bd27Smrgstring. The string need not be null terminated. The following flags are 3193e120bd27Smrgdefined to control parsing of the string: 3194e120bd27Smrg 3195e120bd27Smrg <variablelist> 3196e120bd27Smrg <varlistentry> 3197e120bd27Smrg <term><symbol>XctSingleSetSegments</symbol></term> 3198e120bd27Smrg <listitem><para> 3199e120bd27SmrgThis means that returned segments should contain 3200e120bd27Smrgcharacters from only one set (C0, C1, GL, GR). When this is requested, 3201e120bd27Smrg<symbol>XctSegment</symbol> 3202e120bd27Smrgis never returned by 3203e120bd27Smrg<function>XctNextItem</function>, 3204e120bd27Smrginstead 3205e120bd27Smrg<symbol>XctC0Segment</symbol>, 3206e120bd27Smrg<symbol>XctC1Segment</symbol>, 3207e120bd27Smrg<symbol>XctGlSegment</symbol>, 3208e120bd27Smrgand 3209e120bd27Smrg<symbol>XctGRSegment</symbol> 3210e120bd27Smrgare returned. C0 and C1 3211e120bd27Smrgsegments are always returned as singleton characters. 3212e120bd27Smrg </para></listitem> 3213e120bd27Smrg </varlistentry> 3214e120bd27Smrg 3215e120bd27Smrg <varlistentry> 3216e120bd27Smrg <term><symbol>XctProvideExtensions</symbol></term> 3217e120bd27Smrg <listitem><para> 3218e120bd27SmrgThis means that if the Compound Text string is from a 3219e120bd27Smrghigher version than this code is implemented to, then syntactically correct 3220e120bd27Smrgbut unknown control sequences should be returned as 3221e120bd27Smrg<symbol>XctExtension</symbol> 3222e120bd27Smrgitems by 3223e120bd27Smrg<function>XctNextItem</function>. 3224e120bd27SmrgIf this flag is not set, and the Compound Text string version 3225e120bd27Smrgindicates that extensions cannot be ignored, then each unknown control 3226e120bd27Smrgsequence will be reported as an 3227e120bd27Smrg<symbol>XctError</symbol>. 3228e120bd27Smrg </para></listitem> 3229e120bd27Smrg </varlistentry> 3230e120bd27Smrg 3231e120bd27Smrg <varlistentry> 3232e120bd27Smrg <term><symbol>XctAcceptC0Extensions</symbol></term> 3233e120bd27Smrg <listitem><para> 3234e120bd27SmrgThis means that if the Compound Text string is from 3235e120bd27Smrga higher version than this code is implemented to, then unknown C0 3236e120bd27Smrgcharacters should be treated as if they were legal, and returned as C0 3237e120bd27Smrgcharacters (regardless of how 3238e120bd27Smrg<symbol>XctProvideExtensions</symbol> 3239e120bd27Smrgis set) by 3240e120bd27Smrg<function>XctNextItem</function>. 3241e120bd27SmrgIf this flag is not set, then all unknown C0 characters are treated 3242e120bd27Smrgaccording to 3243e120bd27Smrg<symbol>XctProvideExtensions</symbol>. 3244e120bd27Smrg </para></listitem> 3245e120bd27Smrg </varlistentry> 3246e120bd27Smrg 3247e120bd27Smrg <varlistentry> 3248e120bd27Smrg <term><symbol>XctAcceptC1Extensions</symbol></term> 3249e120bd27Smrg <listitem><para> 3250e120bd27SmrgThis means that if the Compound Text string is from 3251e120bd27Smrga higher version than this code is implemented to, then unknown C1 3252e120bd27Smrgcharacters should be treated as if they were legal, and returned as C1 3253e120bd27Smrgcharacters (regardless of how 3254e120bd27Smrg<symbol>XctProvideExtensions</symbol> 3255e120bd27Smrgis set) by 3256e120bd27Smrg<function>XctNextItem</function>. 3257e120bd27SmrgIf this flag is not set, then all unknown C1 characters are treated 3258e120bd27Smrgaccording to 3259e120bd27Smrg<symbol>XctProvideExtensions</symbol>. 3260e120bd27Smrg </para></listitem> 3261e120bd27Smrg </varlistentry> 3262e120bd27Smrg <varlistentry> 3263e120bd27Smrg <term><symbol>XctHideDirection</symbol></term> 3264e120bd27Smrg <listitem><para> 3265e120bd27SmrgThis means that horizontal direction changes should be 3266e120bd27Smrgreported as 3267e120bd27Smrg<symbol>XctHorizontal</symbol> 3268e120bd27Smrgitems by 3269e120bd27Smrg<function>XctNextItem</function>. If this flag is not set, 3270e120bd27Smrgthen direction changes are not returned as items, but the current direction 3271e120bd27Smrgis still maintained and reported for other items. The current direction is 3272e120bd27Smrggiven as an enumeration, with the values 3273e120bd27Smrg<symbol>XctUnspecified</symbol>, 3274e120bd27Smrg<symbol>XctLeftToRight</symbol>, 3275e120bd27Smrgand 3276e120bd27Smrg<symbol>XctRightToLeft</symbol>. 3277e120bd27Smrg </para></listitem> 3278e120bd27Smrg </varlistentry> 3279e120bd27Smrg <varlistentry> 3280e120bd27Smrg <term><symbol>XctFreeString</symbol></term> 3281e120bd27Smrg <listitem><para> 3282e120bd27SmrgThis means that 3283e120bd27Smrg<function>XctFree</function> 3284e120bd27Smrgshould free the Compound Text string that is passed to 3285e120bd27Smrg<function>XctCreate</function>. 3286e120bd27SmrgIf this flag is not set, the string is not freed. 3287e120bd27Smrg </para></listitem> 3288e120bd27Smrg </varlistentry> 3289e120bd27Smrg 3290e120bd27Smrg <varlistentry> 3291e120bd27Smrg <term><symbol>XctShiftMultiGRToGL</symbol></term> 3292e120bd27Smrg <listitem><para> 3293e120bd27SmrgThis means that 3294e120bd27Smrg<function>XctNextItem</function> 3295e120bd27Smrgshould translate GR 3296e120bd27Smrgsegments on-the-fly into GL segments for the GR sets: GB2312.1980-1, 3297e120bd27SmrgJISX0208.1983-1, and KSC5601.1987-1. 3298e120bd27Smrg </para></listitem> 3299e120bd27Smrg </varlistentry> 3300e120bd27Smrg </variablelist> 3301e120bd27Smrg </para> 3302e120bd27Smrg 3303e120bd27Smrg <para id="XctReset"> 3304e120bd27Smrg <indexterm zone="XctReset"> 3305e120bd27Smrg <primary><function>XctReset</function></primary> 3306e120bd27Smrg </indexterm> 3307e120bd27Smrg <funcsynopsis> 3308e120bd27Smrg <funcprototype> 3309e120bd27Smrg <funcdef>void <function>XctReset</function></funcdef> 3310e120bd27Smrg <paramdef>XctData <parameter>data</parameter></paramdef> 3311e120bd27Smrg </funcprototype> 3312e120bd27Smrg </funcsynopsis> 3313e120bd27Smrg <variablelist> 3314e120bd27Smrg <varlistentry> 3315e120bd27Smrg <term><parameter>data</parameter></term> 3316e120bd27Smrg <listitem><para> 3317e120bd27Smrgspecifies the Compound Text structure 3318e120bd27Smrg </para></listitem> 3319e120bd27Smrg </varlistentry> 3320e120bd27Smrg </variablelist> 3321e120bd27Smrg 3322e120bd27SmrgThis function resets the 3323e120bd27Smrg<type>XctData</type> 3324e120bd27Smrgstructure to reparse the Compound Text string from the beginning. 3325e120bd27Smrg </para> 3326e120bd27Smrg 3327e120bd27Smrg <para id="XctNextItem"> 3328e120bd27Smrg <indexterm zone="XctNextItem"> 3329e120bd27Smrg <primary><function>XctNextItem</function></primary> 3330e120bd27Smrg </indexterm> 3331e120bd27Smrg <funcsynopsis> 3332e120bd27Smrg <funcprototype> 3333e120bd27Smrg <funcdef>XctResult <function>XctNextItem</function></funcdef> 3334e120bd27Smrg <paramdef>XctData <parameter>data</parameter></paramdef> 3335e120bd27Smrg </funcprototype> 3336e120bd27Smrg </funcsynopsis> 3337e120bd27Smrg <variablelist> 3338e120bd27Smrg <varlistentry> 3339e120bd27Smrg <term><parameter>data</parameter></term> 3340e120bd27Smrg <listitem><para> 3341e120bd27Smrgspecifies the Compound Text structure 3342e120bd27Smrg </para></listitem> 3343e120bd27Smrg </varlistentry> 3344e120bd27Smrg </variablelist> 3345e120bd27Smrg 3346e120bd27SmrgThis function parses the next “item” from the Compound Text string. The 3347e120bd27Smrgreturn value indicates what kind of item is returned. The item itself, its 3348e120bd27Smrglength, and the current contextual state, are reported as components of the 3349e120bd27Smrg<type>XctData</type> 3350e120bd27Smrgstructure. 3351e120bd27Smrg<type>XctResult</type> 3352e120bd27Smrgis an enumeration, with the following values: 3353e120bd27Smrg 3354e120bd27Smrg <variablelist> 3355e120bd27Smrg <varlistentry> 3356e120bd27Smrg <term><symbol>XctSegment</symbol></term> 3357e120bd27Smrg <listitem><para> 3358e120bd27Smrgthe item contains some mixture of C0, GL, GR, and C1 characters. 3359e120bd27Smrg </para></listitem> 3360e120bd27Smrg </varlistentry> 3361e120bd27Smrg 3362e120bd27Smrg <varlistentry> 3363e120bd27Smrg <term><symbol>XctC0Segment</symbol></term> 3364e120bd27Smrg <listitem><para> 3365e120bd27Smrgthe item contains only C0 characters. 3366e120bd27Smrg </para></listitem> 3367e120bd27Smrg </varlistentry> 3368e120bd27Smrg 3369e120bd27Smrg <varlistentry> 3370e120bd27Smrg <term><symbol>XctGLSegment</symbol></term> 3371e120bd27Smrg <listitem><para> 3372e120bd27Smrgthe item contains only GL characters. 3373e120bd27Smrg </para></listitem> 3374e120bd27Smrg </varlistentry> 3375e120bd27Smrg 3376e120bd27Smrg <varlistentry> 3377e120bd27Smrg <term><symbol>XctC1Segment</symbol></term> 3378e120bd27Smrg <listitem><para> 3379e120bd27Smrgthe item contains only C1 characters. 3380e120bd27Smrg </para></listitem> 3381e120bd27Smrg </varlistentry> 3382e120bd27Smrg 3383e120bd27Smrg <varlistentry> 3384e120bd27Smrg <term><symbol>XctGRSegment</symbol></term> 3385e120bd27Smrg <listitem><para> 3386e120bd27Smrgthe item contains only GR characters. 3387e120bd27Smrg </para></listitem> 3388e120bd27Smrg </varlistentry> 3389e120bd27Smrg 3390e120bd27Smrg <varlistentry> 3391e120bd27Smrg <term><symbol>XctExtendedSegment</symbol></term> 3392e120bd27Smrg <listitem><para> 3393e120bd27Smrgthe item contains an extended segment. 3394e120bd27Smrg </para></listitem> 3395e120bd27Smrg </varlistentry> 3396e120bd27Smrg 3397e120bd27Smrg <varlistentry> 3398e120bd27Smrg <term><symbol>XctExtension</symbol></term> 3399e120bd27Smrg <listitem><para> 3400e120bd27Smrgthe item is an unknown extension control sequence. 3401e120bd27Smrg </para></listitem> 3402e120bd27Smrg </varlistentry> 3403e120bd27Smrg 3404e120bd27Smrg <varlistentry> 3405e120bd27Smrg <term><symbol>XctHorizontal</symbol></term> 3406e120bd27Smrg <listitem><para> 3407e120bd27Smrgthe item indicates a change in horizontal direction or 3408e120bd27Smrgdepth. The new direction and depth are recorded in the 3409e120bd27Smrg<type>XctData</type> 3410e120bd27Smrgstructure. 3411e120bd27Smrg </para></listitem> 3412e120bd27Smrg </varlistentry> 3413e120bd27Smrg 3414e120bd27Smrg <varlistentry> 3415e120bd27Smrg <term><symbol>XctEndOfText</symbol></term> 3416e120bd27Smrg <listitem><para> 3417e120bd27SmrgThe end of the Compound Text string has been reached. 3418e120bd27Smrg </para></listitem> 3419e120bd27Smrg </varlistentry> 3420e120bd27Smrg 3421e120bd27Smrg <varlistentry> 3422e120bd27Smrg <term><symbol>XctError</symbol></term> 3423e120bd27Smrg <listitem><para> 3424e120bd27Smrgthe string contains a syntactic or semantic error; no further 3425e120bd27Smrgparsing should be performed. 3426e120bd27Smrg </para></listitem> 3427e120bd27Smrg </varlistentry> 3428e120bd27Smrg </variablelist> 3429e120bd27Smrg </para> 3430e120bd27Smrg 3431e120bd27Smrg <para id="XctData"> 3432e120bd27Smrg <indexterm zone="XctData"> 3433e120bd27Smrg <primary><type>XctData</type></primary> 3434e120bd27Smrg </indexterm> 3435e120bd27SmrgThe following state values are stored in the 3436e120bd27Smrg<type>XctData</type> 3437e120bd27Smrgstructure: 3438e120bd27Smrg <synopsis> 3439e120bd27Smrg XctString item; /* the action item */ 3440e120bd27Smrg unsigned item_length; /* length of item in bytes */ 3441e120bd27Smrg int char_size; /* the number of bytes per character in 3442e120bd27Smrg * item, with zero meaning variable */ 3443e120bd27Smrg char *encoding; /* the XLFD encoding name for item */ 3444e120bd27Smrg XctHDirection horizontal; /* the direction of item */ 3445e120bd27Smrg unsigned horz_depth; /* the current direction nesting depth */ 3446e120bd27Smrg char *GL; /* the "{I} F" string for the current GL */ 3447e120bd27Smrg char *GL_encoding; /* the XLFD encoding name for the current GL */ 3448e120bd27Smrg int GL_set_size; /* 94 or 96 */ 3449e120bd27Smrg int GL_char_size; /* the number of bytes per GL character */ 3450e120bd27Smrg char *GR; /* the "{I} F" string for the current GR */ 3451e120bd27Smrg char *GR_encoding; /* the XLFD encoding name for the current GR */ 3452e120bd27Smrg int GR_set_size; /* 94 or 96 */ 3453e120bd27Smrg int GR_char_size; /* number of bytes per GR character */ 3454e120bd27Smrg char *GLGR_encoding; /* the XLFD encoding name for the current 3455e120bd27Smrg * GL+GR, if known */ 3456e120bd27Smrg </synopsis> 3457e120bd27Smrg </para> 3458e120bd27Smrg <para> 3459e120bd27Smrg <funcsynopsis> 3460e120bd27Smrg <funcprototype> 3461e120bd27Smrg <funcdef>void <function>XctFree</function></funcdef> 3462e120bd27Smrg <paramdef>XctData <parameter>data</parameter></paramdef> 3463e120bd27Smrg </funcprototype> 3464e120bd27Smrg </funcsynopsis> 3465e120bd27Smrg <variablelist> 3466e120bd27Smrg <varlistentry> 3467e120bd27Smrg <term><parameter>data</parameter></term> 3468e120bd27Smrg <listitem><para> 3469e120bd27Smrgspecifies the Compound Text structure 3470e120bd27Smrg </para></listitem> 3471e120bd27Smrg </varlistentry> 3472e120bd27Smrg </variablelist> 3473e120bd27Smrg 3474e120bd27SmrgThis function frees all data associated with the 3475e120bd27Smrg<type>XctData</type> 3476e120bd27Smrgstructure. 3477e120bd27Smrg </para> 3478e120bd27Smrg 3479e120bd27Smrg </sect1> 3480e120bd27Smrg 34810cc2eac3Smrg <sect1 id='CloseDisplay_Hook_Functions'> 34820cc2eac3Smrg<title>CloseDisplay Hook Functions</title> 3483e120bd27Smrg 3484e120bd27Smrg <para> 3485e120bd27SmrgTo use the functions defined in this section, you should include the header 3486e120bd27Smrgfile 3487e120bd27Smrg<<filename class='headerfile'>X11/Xmu/CloseHook.h</filename>> 3488e120bd27Smrg<indexterm> 3489e120bd27Smrg<primary><filename class='headerfile'>X11/Xmu/CloseHook.h</filename></primary> 3490e120bd27Smrg</indexterm> 3491e120bd27Smrgand link against the libXmu library. 3492e120bd27Smrg </para> 3493e120bd27Smrg 3494e120bd27Smrg <para id="XmuAddCloseDisplayHook"> 3495e120bd27Smrg <indexterm zone="XmuAddCloseDisplayHook"> 3496e120bd27Smrg <primary><function>XmuAddCloseDisplayHook</function></primary> 3497e120bd27Smrg </indexterm> 3498e120bd27Smrg <funcsynopsis> 3499e120bd27Smrg <funcprototype> 3500e120bd27Smrg <funcdef>CloseHook <function>XmuAddCloseDisplayHook</function></funcdef> 3501e120bd27Smrg <paramdef>Display *<parameter>dpy</parameter></paramdef> 3502e120bd27Smrg <paramdef>int <parameter>( *func )</parameter> 3503e120bd27Smrg <funcparams>Display *, XPointer</funcparams></paramdef> 3504e120bd27Smrg <paramdef>XPointer <parameter>arg</parameter></paramdef> 3505e120bd27Smrg </funcprototype> 3506e120bd27Smrg </funcsynopsis> 3507e120bd27Smrg <variablelist> 3508e120bd27Smrg <varlistentry> 3509e120bd27Smrg <term><parameter>dpy</parameter></term> 3510e120bd27Smrg <listitem><para> 3511e120bd27Smrgspecifies the connection to the X server 3512e120bd27Smrg </para></listitem> 3513e120bd27Smrg </varlistentry> 3514e120bd27Smrg <varlistentry> 3515e120bd27Smrg <term><parameter>func</parameter></term> 3516e120bd27Smrg <listitem><para> 3517e120bd27Smrgspecifies the function to call at display close 3518e120bd27Smrg </para></listitem> 3519e120bd27Smrg </varlistentry> 3520e120bd27Smrg <varlistentry> 3521e120bd27Smrg <term><parameter>arg</parameter></term> 3522e120bd27Smrg <listitem><para> 3523e120bd27Smrgspecifies arbitrary data to pass to <parameter>func</parameter> 3524e120bd27Smrg </para></listitem> 3525e120bd27Smrg </varlistentry> 3526e120bd27Smrg </variablelist> 3527e120bd27Smrg 3528e120bd27SmrgThis function adds a callback for the given display. When the display is 3529e120bd27Smrgclosed, the given function will be called with the given display and 3530e120bd27Smrgargument as: 3531e120bd27Smrg 3532e120bd27Smrg <programlisting> 3533e120bd27Smrg (*func)(dpy, arg) 3534e120bd27Smrg </programlisting> 3535e120bd27Smrg </para> 3536e120bd27Smrg 3537e120bd27Smrg <para> 3538e120bd27SmrgThe function is declared to return an int even though the value is ignored, 3539e120bd27Smrgbecause some compilers used to have problems with functions returning void. 3540e120bd27Smrg </para> 3541e120bd27Smrg 3542e120bd27Smrg <para> 3543e120bd27SmrgThis routine returns <symbol>NULL</symbol> if it was unable to add the 3544e120bd27Smrgcallback, otherwise it 3545e120bd27Smrgreturns an opaque handle that can be used to remove or lookup the callback. 3546e120bd27Smrg </para> 3547e120bd27Smrg 3548e120bd27Smrg <para id="XmuRemoveCloseDisplayHook"> 3549e120bd27Smrg <indexterm zone="XmuRemoveCloseDisplayHook"> 3550e120bd27Smrg <primary><function>XmuRemoveCloseDisplayHook</function></primary> 3551e120bd27Smrg </indexterm> 3552e120bd27Smrg <funcsynopsis> 3553e120bd27Smrg <funcprototype> 3554e120bd27Smrg <funcdef>Bool <function>XmuRemoveCloseDisplayHook</function></funcdef> 3555e120bd27Smrg <paramdef>Display *<parameter>dpy</parameter></paramdef> 3556e120bd27Smrg <paramdef>CloseHook <parameter>handle</parameter></paramdef> 3557e120bd27Smrg <paramdef>int <parameter>( *func )</parameter> 3558e120bd27Smrg <funcparams>Display *, XPointer</funcparams></paramdef> 3559e120bd27Smrg <paramdef>XPointer <parameter>arg</parameter></paramdef> 3560e120bd27Smrg </funcprototype> 3561e120bd27Smrg </funcsynopsis> 3562e120bd27Smrg <variablelist> 3563e120bd27Smrg <varlistentry> 3564e120bd27Smrg <term><parameter>dpy</parameter></term> 3565e120bd27Smrg <listitem><para> 3566e120bd27Smrgspecifies the connection to the X server 3567e120bd27Smrg </para></listitem> 3568e120bd27Smrg </varlistentry> 3569e120bd27Smrg <varlistentry> 3570e120bd27Smrg <term><parameter>handle</parameter></term> 3571e120bd27Smrg <listitem><para> 3572e120bd27Smrgspecifies the callback by id, or <symbol>NULL</symbol> 3573e120bd27Smrg </para></listitem> 3574e120bd27Smrg </varlistentry> 3575e120bd27Smrg <varlistentry> 3576e120bd27Smrg <term><function>func</function></term> 3577e120bd27Smrg <listitem><para> 3578e120bd27Smrgspecifies the callback by function 3579e120bd27Smrg </para></listitem> 3580e120bd27Smrg </varlistentry> 3581e120bd27Smrg <varlistentry> 3582e120bd27Smrg <term><parameter>arg</parameter></term> 3583e120bd27Smrg <listitem><para> 3584e120bd27Smrgspecifies the function data to match 3585e120bd27Smrg </para></listitem> 3586e120bd27Smrg </varlistentry> 3587e120bd27Smrg </variablelist> 3588e120bd27Smrg 3589e120bd27SmrgThis function deletes a callback that has been added with 3590e120bd27Smrg<function>XmuAddCloseDisplayHook</function>. 3591e120bd27SmrgIf handle is not <symbol>NULL</symbol>, it specifies the callback to 3592e120bd27Smrgremove, and the func and arg parameters are ignored. If handle is <symbol>NULL</symbol>, the 3593e120bd27Smrgfirst callback found to match the specified func and arg will be removed. 3594e120bd27SmrgReturns 3595e120bd27Smrg<symbol>True</symbol> 3596e120bd27Smrgif a callback was removed, else returns 3597e120bd27Smrg<symbol>False</symbol>. 3598e120bd27Smrg </para> 3599e120bd27Smrg 3600e120bd27Smrg <para id="XmuLookupCloseDisplayHook"> 3601e120bd27Smrg <indexterm zone="XmuLookupCloseDisplayHook"> 3602e120bd27Smrg <primary><function>XmuLookupCloseDisplayHook</function></primary> 3603e120bd27Smrg </indexterm> 3604e120bd27Smrg <funcsynopsis> 3605e120bd27Smrg <funcprototype> 3606e120bd27Smrg <funcdef>Bool <function>XmuLookupCloseDisplayHook</function></funcdef> 3607e120bd27Smrg <paramdef>Display *<parameter>dpy</parameter></paramdef> 3608e120bd27Smrg <paramdef>CloseHook <parameter>handle</parameter></paramdef> 3609e120bd27Smrg <paramdef>int <parameter>( *func )</parameter> 3610e120bd27Smrg <funcparams>Display *, XPointer</funcparams></paramdef> 3611e120bd27Smrg <paramdef>XPointer <parameter>arg</parameter></paramdef> 3612e120bd27Smrg </funcprototype> 3613e120bd27Smrg </funcsynopsis> 3614e120bd27Smrg <variablelist> 3615e120bd27Smrg <varlistentry> 3616e120bd27Smrg <term><parameter>dpy</parameter></term> 3617e120bd27Smrg <listitem><para> 3618e120bd27Smrgspecifies the connection to the X server 3619e120bd27Smrg </para></listitem> 3620e120bd27Smrg </varlistentry> 3621e120bd27Smrg <varlistentry> 3622e120bd27Smrg <term><parameter>handle</parameter></term> 3623e120bd27Smrg <listitem><para> 3624e120bd27Smrgspecifies the callback by id, or <symbol>NULL</symbol> 3625e120bd27Smrg </para></listitem> 3626e120bd27Smrg </varlistentry> 3627e120bd27Smrg <varlistentry> 3628e120bd27Smrg <term><function>func</function></term> 3629e120bd27Smrg <listitem><para> 3630e120bd27Smrgspecifies the callback by function 3631e120bd27Smrg </para></listitem> 3632e120bd27Smrg </varlistentry> 3633e120bd27Smrg <varlistentry> 3634e120bd27Smrg <term><parameter>arg</parameter></term> 3635e120bd27Smrg <listitem><para> 3636e120bd27Smrgspecifies the function data to match 3637e120bd27Smrg </para></listitem> 3638e120bd27Smrg </varlistentry> 3639e120bd27Smrg </variablelist> 3640e120bd27Smrg 3641e120bd27SmrgThis function determines if a callback is installed. If handle is not 3642e120bd27Smrg<symbol>NULL</symbol>, 3643e120bd27Smrgit specifies the callback to look for, and the func and arg parameters are 3644e120bd27Smrgignored. If handle is <symbol>NULL</symbol>, the function will look for 3645e120bd27Smrgany callback for the 3646e120bd27Smrgspecified func and arg. Returns 3647e120bd27Smrg<symbol>True</symbol> 3648e120bd27Smrgif a matching callback exists, else returns 3649e120bd27Smrg<symbol>False</symbol>. 3650e120bd27Smrg 3651e120bd27Smrg 3652e120bd27Smrg </para> 3653e120bd27Smrg </sect1> 3654e120bd27Smrg 36550cc2eac3Smrg <sect1 id='Display_Queue_Functions'> 36560cc2eac3Smrg<title>Display Queue Functions</title> 3657e120bd27Smrg 3658e120bd27Smrg <para> 3659e120bd27SmrgTo use the functions and types defined in this section, you should include the 3660e120bd27Smrgheader file 3661e120bd27Smrg<<filename class='headerfile'>X11/Xmu/DisplayQue.h</filename>> 3662e120bd27Smrg<indexterm> 3663e120bd27Smrg<primary><filename class='headerfile'>X11/Xmu/DisplayQue.h</filename></primary> 3664e120bd27Smrg</indexterm> 3665e120bd27Smrgand link against the libXmu library. 3666e120bd27Smrg<filename class='headerfile'>DisplayQue.h</filename> defines the following 3667e120bd27Smrgtypes: 3668e120bd27Smrg 3669e120bd27Smrg <indexterm zone="XmuDisplayQueue"> 3670e120bd27Smrg <primary><type>XmuDisplayQueue</type></primary> 3671e120bd27Smrg </indexterm> 3672e120bd27Smrg <synopsis id="XmuDisplayQueue"> 3673e120bd27Smrgtypedef int (*XmuCloseDisplayQueueProc)(XmuDisplayQueue *queue, 3674e120bd27Smrg XmuDisplayQueueEntry *entry); 3675e120bd27Smrg 3676e120bd27Smrgtypedef int (*XmuFreeDisplayQueueProc)(XmuDisplayQueue *queue); 3677e120bd27Smrg 3678e120bd27Smrgtypedef struct _XmuDisplayQueueEntry { 3679e120bd27Smrg struct _XmuDisplayQueueEntry *prev, *next; 3680e120bd27Smrg Display *display; 3681e120bd27Smrg CloseHook closehook; 3682e120bd27Smrg XPointer data; 3683e120bd27Smrg} XmuDisplayQueueEntry; 3684e120bd27Smrg 3685e120bd27Smrgtypedef struct _XmuDisplayQueue { 3686e120bd27Smrg int nentries; 3687e120bd27Smrg XmuDisplayQueueEntry *head, *tail; 3688e120bd27Smrg XmuCloseDisplayQueueProc closefunc; 3689e120bd27Smrg XmuFreeDisplayQueueProc freefunc; 3690e120bd27Smrg XPointer data; 3691e120bd27Smrg} XmuDisplayQueue; 3692e120bd27Smrg </synopsis> 3693e120bd27Smrg </para> 3694e120bd27Smrg 3695e120bd27Smrg <para id="XmuDQCreate"> 3696e120bd27Smrg <indexterm zone="XmuDQCreate"> 3697e120bd27Smrg <primary><function>XmuDQCreate</function></primary> 3698e120bd27Smrg </indexterm> 3699e120bd27Smrg <funcsynopsis> 3700e120bd27Smrg <funcprototype> 3701e120bd27Smrg <funcdef>XmuDisplayQueue *<function>XmuDQCreate</function></funcdef> 3702e120bd27Smrg <paramdef>XmuCloseDisplayQueueProc <parameter>closefunc</parameter></paramdef> 3703e120bd27Smrg <paramdef>XmuFreeDisplayQueueProc <parameter>freefunc</parameter></paramdef> 3704e120bd27Smrg <paramdef>XPointer <parameter>data</parameter></paramdef> 3705e120bd27Smrg </funcprototype> 3706e120bd27Smrg </funcsynopsis> 3707e120bd27Smrg <variablelist> 3708e120bd27Smrg <varlistentry> 3709e120bd27Smrg <term><parameter>closefunc</parameter></term> 3710e120bd27Smrg <listitem><para> 3711e120bd27Smrgspecifies the close function 3712e120bd27Smrg </para></listitem> 3713e120bd27Smrg </varlistentry> 3714e120bd27Smrg <varlistentry> 3715e120bd27Smrg <term><parameter>freefunc</parameter></term> 3716e120bd27Smrg <listitem><para> 3717e120bd27Smrgspecifies the free function 3718e120bd27Smrg </para></listitem> 3719e120bd27Smrg </varlistentry> 3720e120bd27Smrg <varlistentry> 3721e120bd27Smrg <term><parameter>data</parameter></term> 3722e120bd27Smrg <listitem><para> 3723e120bd27Smrgspecifies private data for the functions 3724e120bd27Smrg </para></listitem> 3725e120bd27Smrg </varlistentry> 3726e120bd27Smrg </variablelist> 3727e120bd27Smrg 3728e120bd27SmrgThis function creates and returns an empty 3729e120bd27Smrg<type>XmuDisplayQueue</type> 3730e120bd27Smrg(which is really just a set of displays, but is called a queue for 3731e120bd27Smrghistorical reasons). The queue is initially empty, but displays 3732e120bd27Smrgcan be added using 3733e120bd27Smrg<function>XmuAddDisplay</function>. 3734e120bd27SmrgThe data value is simply stored in the queue for use by the closefunc 3735e120bd27Smrgand freefunc callbacks. 3736e120bd27SmrgWhenever a display in the queue is closed using 3737e120bd27Smrg<function>XCloseDisplay</function>, 3738e120bd27Smrgthe <parameter>closefunc</parameter> (if non-<symbol>NULL</symbol>) is called with the queue and the display's 3739e120bd27Smrg<function>XmuDisplayQueueEntry</function> 3740e120bd27Smrgas follows: 3741e120bd27Smrg <programlisting> 3742e120bd27Smrg (*closefunc)(queue, entry) 3743e120bd27Smrg </programlisting> 3744e120bd27Smrg </para> 3745e120bd27Smrg 3746e120bd27Smrg <para> 3747e120bd27SmrgThe <parameter>freefunc</parameter> (if non-<symbol>NULL</symbol>) is called whenever the last 3748e120bd27Smrgdisplay in the 3749e120bd27Smrgqueue is closed, as follows: 3750e120bd27Smrg 3751e120bd27Smrg <programlisting> 3752e120bd27Smrg (*freefunc)(queue) 3753e120bd27Smrg </programlisting> 3754e120bd27Smrg </para> 3755e120bd27Smrg 3756e120bd27Smrg <para> 3757e120bd27SmrgThe application is responsible for actually freeing the queue, by calling 3758e120bd27Smrg<function>XmuDQDestroy</function>. 3759e120bd27Smrg </para> 3760e120bd27Smrg 3761e120bd27Smrg <para id="XmuDQAddDisplay"> 3762e120bd27Smrg <indexterm zone="XmuDQAddDisplay"> 3763e120bd27Smrg <primary><function>XmuDQAddDisplay</function></primary> 3764e120bd27Smrg </indexterm> 3765e120bd27Smrg <funcsynopsis> 3766e120bd27Smrg <funcprototype> 3767e120bd27Smrg <funcdef>XmuDisplayQueueEntry *<function>XmuDQAddDisplay</function></funcdef> 3768e120bd27Smrg <paramdef>XmuDisplayQueue *<parameter>q</parameter></paramdef> 3769e120bd27Smrg <paramdef>Display *<parameter>dpy</parameter></paramdef> 3770e120bd27Smrg <paramdef>XPointer <parameter>data</parameter></paramdef> 3771e120bd27Smrg </funcprototype> 3772e120bd27Smrg </funcsynopsis> 3773e120bd27Smrg 3774e120bd27Smrg <variablelist> 3775e120bd27Smrg <varlistentry> 3776e120bd27Smrg <term><parameter>q</parameter></term> 3777e120bd27Smrg <listitem><para> 3778e120bd27Smrgspecifies the queue 3779e120bd27Smrg </para></listitem> 3780e120bd27Smrg </varlistentry> 3781e120bd27Smrg <varlistentry> 3782e120bd27Smrg <term><parameter>dpy</parameter></term> 3783e120bd27Smrg <listitem><para> 3784e120bd27Smrgspecifies the display to add 3785e120bd27Smrg </para></listitem> 3786e120bd27Smrg </varlistentry> 3787e120bd27Smrg <varlistentry> 3788e120bd27Smrg <term><parameter>data</parameter></term> 3789e120bd27Smrg <listitem><para> 3790e120bd27Smrgspecifies private data for the free function 3791e120bd27Smrg </para></listitem> 3792e120bd27Smrg </varlistentry> 3793e120bd27Smrg </variablelist> 3794e120bd27Smrg 3795e120bd27SmrgThis function adds the specified display to the queue. If successful, 3796e120bd27Smrgthe queue entry is returned, otherwise <symbol>NULL</symbol> is returned. 3797e120bd27SmrgThe data value is simply stored in the queue entry for use by the 3798e120bd27Smrgqueue's freefunc callback. This function does not attempt to prevent 3799e120bd27Smrgduplicate entries in the queue; the caller should use 3800e120bd27Smrg<function>XmuDQLookupDisplay</function> 3801e120bd27Smrgto determine if a display has already been added to a queue. 3802e120bd27Smrg </para> 3803e120bd27Smrg 3804e120bd27Smrg <para id="XmuDQLookupDisplay"> 3805e120bd27Smrg <indexterm zone="XmuDQLookupDisplay"> 3806e120bd27Smrg <primary><function>XmuDQLookupDisplay</function></primary> 3807e120bd27Smrg </indexterm> 3808e120bd27Smrg <funcsynopsis> 3809e120bd27Smrg <funcprototype> 3810e120bd27Smrg <funcdef>XmuDisplayQueueEntry *<function>XmuDQLookupDisplay</function></funcdef> 3811e120bd27Smrg <paramdef>XmuDisplayQueue *<parameter>q</parameter></paramdef> 3812e120bd27Smrg <paramdef>Display *<parameter>dpy</parameter></paramdef> 3813e120bd27Smrg </funcprototype> 3814e120bd27Smrg </funcsynopsis> 3815e120bd27Smrg <variablelist> 3816e120bd27Smrg <varlistentry> 3817e120bd27Smrg <term><parameter>q</parameter></term> 3818e120bd27Smrg <listitem><para> 3819e120bd27Smrgspecifies the queue 3820e120bd27Smrg </para></listitem> 3821e120bd27Smrg </varlistentry> 3822e120bd27Smrg <varlistentry> 3823e120bd27Smrg <term><parameter>dpy</parameter></term> 3824e120bd27Smrg <listitem><para> 3825e120bd27Smrgspecifies the display to lookup 3826e120bd27Smrg </para></listitem> 3827e120bd27Smrg </varlistentry> 3828e120bd27Smrg </variablelist> 3829e120bd27Smrg 3830e120bd27SmrgThis function returns the queue entry for the specified display, or 3831e120bd27Smrg<symbol>NULL</symbol> if 3832e120bd27Smrgthe display is not in the queue. 3833e120bd27Smrg </para> 3834e120bd27Smrg 3835e120bd27Smrg <para id="XmuDQNDisplays"> 3836e120bd27Smrg <indexterm zone="XmuDQNDisplays"> 3837e120bd27Smrg <primary><function>XmuDQNDisplays</function></primary> 3838e120bd27Smrg </indexterm> 3839e120bd27Smrg <funcsynopsis> 3840e120bd27Smrg <funcprototype> 3841e120bd27Smrg <funcdef><function>XmuDQNDisplays</function></funcdef> 3842e120bd27Smrg <paramdef><parameter>q</parameter></paramdef> 3843e120bd27Smrg </funcprototype> 3844e120bd27Smrg </funcsynopsis> 3845e120bd27SmrgThis macro returns the number of displays in the specified queue. 3846e120bd27Smrg </para> 3847e120bd27Smrg 3848e120bd27Smrg <para id="XmuDQRemoveDisplay"> 3849e120bd27Smrg <indexterm zone="XmuDQRemoveDisplay"> 3850e120bd27Smrg <primary><function>XmuDQRemoveDisplay</function></primary> 3851e120bd27Smrg </indexterm> 3852e120bd27Smrg <funcsynopsis> 3853e120bd27Smrg <funcprototype> 3854e120bd27Smrg <funcdef>Bool <function>XmuDQRemoveDisplay</function></funcdef> 3855e120bd27Smrg <paramdef>XmuDisplayQueue *<parameter>q</parameter></paramdef> 3856e120bd27Smrg <paramdef>Display *<parameter>dpy</parameter></paramdef> 3857e120bd27Smrg </funcprototype> 3858e120bd27Smrg </funcsynopsis> 3859e120bd27Smrg <variablelist> 3860e120bd27Smrg <varlistentry> 3861e120bd27Smrg <term><parameter>q</parameter></term> 3862e120bd27Smrg <listitem><para> 3863e120bd27Smrgspecifies the queue 3864e120bd27Smrg </para></listitem> 3865e120bd27Smrg </varlistentry> 3866e120bd27Smrg <varlistentry> 3867e120bd27Smrg <term><parameter>dpy</parameter></term> 3868e120bd27Smrg <listitem><para> 3869e120bd27Smrgspecifies the display to remove 3870e120bd27Smrg </para></listitem> 3871e120bd27Smrg </varlistentry> 3872e120bd27Smrg </variablelist> 3873e120bd27Smrg 3874e120bd27SmrgThis function removes the specified display from the specified queue. 3875e120bd27SmrgNo callbacks are performed. 3876e120bd27SmrgIf the display is not found in the queue, 3877e120bd27Smrg<symbol>False</symbol> 3878e120bd27Smrgis returned, otherwise 3879e120bd27Smrg<symbol>True</symbol> 3880e120bd27Smrgis returned. 3881e120bd27Smrg </para> 3882e120bd27Smrg 3883e120bd27Smrg <para id="XmuDQDestroy"> 3884e120bd27Smrg <indexterm zone="XmuDQDestroy"> 3885e120bd27Smrg <primary><function>XmuDQDestroy</function></primary> 3886e120bd27Smrg </indexterm> 3887e120bd27Smrg <funcsynopsis> 3888e120bd27Smrg <funcprototype> 3889e120bd27Smrg <funcdef>Bool <function>XmuDQDestroy</function></funcdef> 3890e120bd27Smrg <paramdef>XmuDisplayQueue *<parameter>q</parameter></paramdef> 3891e120bd27Smrg <paramdef>Bool <parameter>docallbacks</parameter></paramdef> 3892e120bd27Smrg </funcprototype> 3893e120bd27Smrg </funcsynopsis> 3894e120bd27Smrg <variablelist> 3895e120bd27Smrg <varlistentry> 3896e120bd27Smrg <term><parameter>q</parameter></term> 3897e120bd27Smrg <listitem><para> 3898e120bd27Smrgspecifies the queue to destroy 3899e120bd27Smrg </para></listitem> 3900e120bd27Smrg </varlistentry> 3901e120bd27Smrg <varlistentry> 3902e120bd27Smrg <term><parameter>docallbacks</parameter></term> 3903e120bd27Smrg <listitem><para> 3904e120bd27Smrgspecifies whether close functions should be called 3905e120bd27Smrg </para></listitem> 3906e120bd27Smrg </varlistentry> 3907e120bd27Smrg </variablelist> 3908e120bd27Smrg 3909e120bd27SmrgThis function releases all memory associated with the specified queue. 3910e120bd27SmrgIf docallbacks is 3911e120bd27Smrg<symbol>True</symbol>, 3912e120bd27Smrgthen the queue's closefunc callback (if non-<symbol>NULL</symbol>) is first called 3913e120bd27Smrgfor each display in the queue, even though 3914e120bd27Smrg<function>XCloseDisplay</function> 3915e120bd27Smrgis not called on the display. 3916e120bd27Smrg </para> 3917e120bd27Smrg 3918e120bd27Smrg </sect1> 3919e120bd27Smrg 39200cc2eac3Smrg <sect1 id='Toolkit_Convenience_Functions'> 39210cc2eac3Smrg<title>Toolkit Convenience Functions</title> 3922e120bd27Smrg 3923e120bd27Smrg <para> 3924e120bd27SmrgTo use the functions defined in this section, you should include the header 3925e120bd27Smrgfile 3926e120bd27Smrg<<filename class='headerfile'>X11/Xmu/Initer.h</filename>> 3927e120bd27Smrg<indexterm> 3928e120bd27Smrg<primary><filename class='headerfile'>X11/Xmu/Initer.h</filename></primary> 3929e120bd27Smrg</indexterm> 3930e120bd27Smrgand link against the libXmu library. 3931e120bd27Smrg </para> 3932e120bd27Smrg 3933e120bd27Smrg <para id="XmuAddInitializer"> 3934e120bd27Smrg <indexterm zone="XmuAddInitializer"> 3935e120bd27Smrg <primary><function>XmuAddInitializer</function></primary> 3936e120bd27Smrg </indexterm> 3937e120bd27Smrg <funcsynopsis> 3938e120bd27Smrg <funcprototype> 3939e120bd27Smrg <funcdef>void <function>XmuAddInitializer</function></funcdef> 3940e120bd27Smrg <paramdef>void <parameter>( *func )</parameter> 3941e120bd27Smrg <funcparams>XtAppContext, XPointer</funcparams></paramdef> 3942e120bd27Smrg <paramdef>XPointer <parameter>data</parameter></paramdef> 3943e120bd27Smrg </funcprototype> 3944e120bd27Smrg </funcsynopsis> 3945e120bd27Smrg <variablelist> 3946e120bd27Smrg <varlistentry> 3947e120bd27Smrg <term><parameter>func</parameter></term> 3948e120bd27Smrg <listitem><para> 3949e120bd27Smrgspecifies the procedure to register 3950e120bd27Smrg </para></listitem> 3951e120bd27Smrg </varlistentry> 3952e120bd27Smrg <varlistentry> 3953e120bd27Smrg <term><parameter>data</parameter></term> 3954e120bd27Smrg <listitem><para> 3955e120bd27Smrgspecifies private data for the procedure 3956e120bd27Smrg </para></listitem> 3957e120bd27Smrg </varlistentry> 3958e120bd27Smrg </variablelist> 3959e120bd27Smrg 3960e120bd27SmrgThis function registers a procedure, to be invoked the first time 3961e120bd27Smrg<function>XmuCallInitializers</function> 3962e120bd27Smrgis called on a given application context. The procedure 3963e120bd27Smrgis called with the application context and the specified data: 3964e120bd27Smrg 3965e120bd27Smrg <programlisting> 3966e120bd27Smrg (*func)(app_con, data) 3967e120bd27Smrg </programlisting> 3968e120bd27Smrg </para> 3969e120bd27Smrg 3970e120bd27Smrg <para id="XmuCallInitializers"> 3971e120bd27Smrg <indexterm zone="XmuCallInitializers"> 3972e120bd27Smrg <primary><function>XmuCallInitializers</function></primary> 3973e120bd27Smrg </indexterm> 3974e120bd27Smrg <funcsynopsis> 3975e120bd27Smrg <funcprototype> 3976e120bd27Smrg <funcdef>void <function>XmuCallInitializers</function></funcdef> 3977e120bd27Smrg <paramdef>XtAppContext <parameter>app_con</parameter></paramdef> 3978e120bd27Smrg </funcprototype> 3979e120bd27Smrg </funcsynopsis> 3980e120bd27Smrg <variablelist> 3981e120bd27Smrg <varlistentry> 3982e120bd27Smrg <term><parameter>app_con</parameter></term> 3983e120bd27Smrg <listitem><para> 3984e120bd27Smrgspecifies the application context to initialize 3985e120bd27Smrg </para></listitem> 3986e120bd27Smrg </varlistentry> 3987e120bd27Smrg </variablelist> 3988e120bd27Smrg 3989e120bd27SmrgThis function calls each of the procedures that have been registered with 3990e120bd27Smrg<function>XmuAddInitializer</function>, 3991e120bd27Smrgif this is the first time the application context has been passed to 3992e120bd27Smrg<function>XmuCallInitializers</function>. 3993e120bd27SmrgOtherwise, this function does nothing. 3994e120bd27Smrg </para> 3995e120bd27Smrg 3996e120bd27Smrg </sect1> 3997e120bd27Smrg 39980cc2eac3Smrg <sect1 id='Standard_Colormap_Functions'> 39990cc2eac3Smrg<title>Standard Colormap Functions</title> 4000e120bd27Smrg 4001e120bd27Smrg <para> 4002e120bd27SmrgTo use the functions defined in this section, you should include the header 4003e120bd27Smrgfile 4004e120bd27Smrg<<filename class='headerfile'>X11/Xmu/StdCmap.h</filename>> 4005e120bd27Smrg<indexterm> 4006e120bd27Smrg<primary><filename class='headerfile'>X11/Xmu/StdCmap.h</filename></primary> 4007e120bd27Smrg</indexterm> 4008e120bd27Smrgand link against the libXmu library. 4009e120bd27Smrg </para> 4010e120bd27Smrg 4011e120bd27Smrg <para id="XmuAllStandardColormaps"> 4012e120bd27Smrg <indexterm zone="XmuAllStandardColormaps"> 4013e120bd27Smrg <primary><function>XmuAllStandardColormaps</function></primary> 4014e120bd27Smrg </indexterm> 4015e120bd27Smrg <funcsynopsis> 4016e120bd27Smrg <funcprototype> 4017e120bd27Smrg <funcdef>Status <function>XmuAllStandardColormaps</function></funcdef> 4018e120bd27Smrg <paramdef>Display *<parameter>dpy</parameter></paramdef> 4019e120bd27Smrg </funcprototype> 4020e120bd27Smrg </funcsynopsis> 4021e120bd27Smrg <variablelist> 4022e120bd27Smrg <varlistentry> 4023e120bd27Smrg <term><parameter>dpy</parameter></term> 4024e120bd27Smrg <listitem><para> 4025e120bd27Smrgspecifies the connection to the X server 4026e120bd27Smrg </para></listitem> 4027e120bd27Smrg </varlistentry> 4028e120bd27Smrg </variablelist> 4029e120bd27Smrg 4030e120bd27Smrg <indexterm> 4031e120bd27Smrg <primary>colormaps</primary><secondary>standard</secondary> 4032e120bd27Smrg </indexterm> 4033e120bd27SmrgTo create all of the appropriate standard colormaps for every visual of 4034e120bd27Smrgevery screen on a given display, use 4035e120bd27Smrg<function>XmuAllStandardColormaps</function>. 4036e120bd27Smrg </para> 4037e120bd27Smrg 4038e120bd27Smrg <para> 4039e120bd27SmrgThis function defines and retains as permanent resources all standard 4040e120bd27Smrgcolormaps which are meaningful for the visuals of each screen of the 4041e120bd27Smrgdisplay. It returns 0 on failure, non-zero on success. If the property of 4042e120bd27Smrgany standard colormap is already defined, this function will redefine it. 4043e120bd27Smrg </para> 4044e120bd27Smrg 4045e120bd27Smrg <para> 4046e120bd27SmrgThis function is intended to be used by window managers or a special client 4047e120bd27Smrgat the start of a session. 4048e120bd27Smrg </para> 4049e120bd27Smrg 4050e120bd27Smrg <para> 4051e120bd27SmrgThe standard colormaps of a screen are defined by properties associated with 4052e120bd27Smrgthe screen's root window. The property names of standard colormaps are 4053e120bd27Smrgpredefined, and each property name except 4054e120bd27Smrg<property>RGB_DEFAULT_MAP</property> may describe at 4055e120bd27Smrgmost one colormap. 4056e120bd27Smrg </para> 4057e120bd27Smrg 4058e120bd27Smrg <para> 4059e120bd27SmrgThe standard colormaps are: <property>RGB_BEST_MAP</property>, 4060e120bd27Smrg<property>RGB_RED_MAP</property>, <property>RGB_GREEN_MAP</property>, 4061e120bd27Smrg<property>RGB_BLUE_MAP</property>, <property>RGB_DEFAULT_MAP</property>, 4062e120bd27Smrg and <property>RGB_GRAY_MAP</property>. Therefore a screen may 4063e120bd27Smrghave at most 6 standard colormap properties defined. 4064e120bd27Smrg </para> 4065e120bd27Smrg 4066e120bd27Smrg <para> 4067e120bd27SmrgA standard colormap is associated with a particular visual of the screen. A 4068e120bd27Smrgscreen may have multiple visuals defined, including visuals of the same 4069e120bd27Smrgclass at different depths. Note that a visual id might be repeated for more 4070e120bd27Smrgthan one depth, so the visual id and the depth of a visual identify the 4071e120bd27Smrgvisual. The characteristics of the visual will determine which standard 4072e120bd27Smrgcolormaps are meaningful under that visual, and will determine how the 4073e120bd27Smrgstandard colormap is defined. Because a standard colormap is associated 4074e120bd27Smrgwith a specific visual, there must be a method of determining which visuals 4075e120bd27Smrgtake precedence in defining standard colormaps. 4076e120bd27Smrg </para> 4077e120bd27Smrg 4078e120bd27Smrg <para> 4079e120bd27SmrgThe method used here is: for the visual of greatest depth, define all 4080e120bd27Smrgstandard colormaps meaningful to that visual class, according to this order 4081e120bd27Smrgof (descending) precedence: 4082e120bd27Smrg<symbol>DirectColor</symbol>; 4083e120bd27Smrg<symbol>PseudoColor</symbol>; 4084e120bd27Smrg<symbol>TrueColor</symbol> 4085e120bd27Smrgand 4086e120bd27Smrg<symbol>GrayScale</symbol>; 4087e120bd27Smrgand finally 4088e120bd27Smrg<symbol>StaticColor</symbol> 4089e120bd27Smrgand 4090e120bd27Smrg<symbol>StaticGray</symbol>. 4091e120bd27Smrg </para> 4092e120bd27Smrg 4093e120bd27Smrg<para>This function allows success, on a per screen basis. For example, if a map 4094e120bd27Smrgon screen 1 fails, the maps on screen 0, created earlier, will remain. 4095e120bd27SmrgHowever, none on screen 1 will remain. If a map on screen 0 fails, none 4096e120bd27Smrgwill remain. 4097e120bd27Smrg </para> 4098e120bd27Smrg 4099e120bd27Smrg <para> 4100e120bd27SmrgSee 4101e120bd27Smrg<link linkend="XmuVisualStandardColormaps"><function>XmuVisualStandardColormaps</function></link> 4102e120bd27Smrgfor which standard colormaps are meaningful under these classes of visuals. 4103e120bd27Smrg </para> 4104e120bd27Smrg 4105e120bd27Smrg <para id="XmuVisualStandardColormaps"> 4106e120bd27Smrg <indexterm zone="XmuVisualStandardColormaps"> 4107e120bd27Smrg <primary><function>XmuVisualStandardColormaps</function></primary> 4108e120bd27Smrg </indexterm> 4109e120bd27Smrg <funcsynopsis> 4110e120bd27Smrg <funcprototype> 4111e120bd27Smrg <funcdef>Status <function>XmuVisualStandardColormaps</function></funcdef> 4112e120bd27Smrg <paramdef>Display *<parameter>dpy</parameter></paramdef> 4113e120bd27Smrg <paramdef>int <parameter>screen</parameter></paramdef> 4114e120bd27Smrg <paramdef>VisualID <parameter>visualid</parameter></paramdef> 4115e120bd27Smrg <paramdef>unsigned int <parameter>depth</parameter></paramdef> 4116e120bd27Smrg <paramdef>Bool <parameter>replace</parameter></paramdef> 4117e120bd27Smrg <paramdef>Bool <parameter>retain</parameter></paramdef> 4118e120bd27Smrg </funcprototype> 4119e120bd27Smrg </funcsynopsis> 4120e120bd27Smrg <variablelist> 4121e120bd27Smrg <varlistentry> 4122e120bd27Smrg <term><parameter>dpy</parameter></term> 4123e120bd27Smrg <listitem><para> 4124e120bd27Smrgspecifies the connection to the X server 4125e120bd27Smrg </para></listitem> 4126e120bd27Smrg </varlistentry> 4127e120bd27Smrg <varlistentry> 4128e120bd27Smrg <term><parameter>screen</parameter></term> 4129e120bd27Smrg <listitem><para> 4130e120bd27Smrgspecifies the screen of the display 4131e120bd27Smrg </para></listitem> 4132e120bd27Smrg </varlistentry> 4133e120bd27Smrg <varlistentry> 4134e120bd27Smrg <term><parameter>visualid</parameter></term> 4135e120bd27Smrg <listitem><para> 4136e120bd27Smrgspecifies the visual type 4137e120bd27Smrg </para></listitem> 4138e120bd27Smrg </varlistentry> 4139e120bd27Smrg <varlistentry> 4140e120bd27Smrg <term><parameter>depth</parameter></term> 4141e120bd27Smrg <listitem><para> 4142e120bd27Smrgspecifies the visual depth 4143e120bd27Smrg </para></listitem> 4144e120bd27Smrg </varlistentry> 4145e120bd27Smrg <varlistentry> 4146e120bd27Smrg <term><parameter>replace</parameter></term> 4147e120bd27Smrg <listitem><para> 4148e120bd27Smrgspecifies whether or not to replace 4149e120bd27Smrg </para></listitem> 4150e120bd27Smrg </varlistentry> 4151e120bd27Smrg <varlistentry> 4152e120bd27Smrg <term><parameter>retain</parameter></term> 4153e120bd27Smrg <listitem><para> 4154e120bd27Smrgspecifies whether or not to retain 4155e120bd27Smrg </para></listitem> 4156e120bd27Smrg </varlistentry> 4157e120bd27Smrg </variablelist> 4158e120bd27Smrg 4159e120bd27SmrgTo create all of the appropriate standard colormaps for a given visual on a 4160e120bd27Smrggiven screen, use 4161e120bd27Smrg<function>XmuVisualStandardColormaps</function>. 4162e120bd27Smrg </para> 4163e120bd27Smrg 4164e120bd27Smrg <para> 4165e120bd27SmrgThis function defines all appropriate standard colormap properties for the 4166e120bd27Smrggiven visual. If replace is 4167e120bd27Smrg<symbol>True</symbol>, 4168e120bd27Smrgany previous definition will be removed. 4169e120bd27SmrgIf retain is 4170e120bd27Smrg<symbol>True</symbol>, 4171e120bd27Smrgnew properties will be retained for the duration of the 4172e120bd27Smrgserver session. This function returns 0 on failure, non-zero on success. 4173e120bd27SmrgOn failure, no new properties will be defined, but old ones may have been 4174e120bd27Smrgremoved if replace was <symbol>True</symbol>. 4175e120bd27Smrg </para> 4176e120bd27Smrg 4177e120bd27Smrg <para> 4178e120bd27SmrgNot all standard colormaps are meaningful to all visual classes. This 4179e120bd27Smrgroutine will check and define the following properties for the following 4180e120bd27Smrgclasses, provided that the size of the colormap is not too small. For 4181e120bd27Smrg<symbol>DirectColor</symbol> 4182e120bd27Smrgand 4183e120bd27Smrg<symbol>PseudoColor</symbol>: 4184e120bd27Smrg<property>RGB_DEFAULT_MAP</property>, <property>RGB_BEST_MAP</property>, 4185e120bd27Smrg<property>RGB_RED_MAP</property>, <property>RGB_GREEN_MAP</property>, 4186e120bd27Smrg<property>RGB_BLUE_MAP</property>, and <property>RGB_GRAY_MAP</property>. 4187e120bd27SmrgFor 4188e120bd27Smrg<symbol>TrueColor</symbol> 4189e120bd27Smrgand 4190e120bd27Smrg<symbol>StaticColor</symbol>: 4191e120bd27Smrg<property>RGB_BEST_MAP</property>. For 4192e120bd27Smrg<symbol>GrayScale</symbol> 4193e120bd27Smrgand 4194e120bd27Smrg<symbol>StaticGray</symbol>: 4195e120bd27Smrg<property>RGB_GRAY_MAP</property>. 4196e120bd27Smrg </para> 4197e120bd27Smrg 4198e120bd27Smrg <para id="XmuLookupStandardColormap"> 4199e120bd27Smrg <indexterm zone="XmuLookupStandardColormap"> 4200e120bd27Smrg <primary><function>XmuLookupStandardColormap</function></primary> 4201e120bd27Smrg </indexterm> 4202e120bd27Smrg <funcsynopsis> 4203e120bd27Smrg <funcprototype> 4204e120bd27Smrg <funcdef>Status <function>XmuLookupStandardColormap</function></funcdef> 4205e120bd27Smrg <paramdef>Display *<parameter>dpy</parameter></paramdef> 4206e120bd27Smrg <paramdef>int <parameter>screen</parameter></paramdef> 4207e120bd27Smrg <paramdef>VisualID <parameter>visualid</parameter></paramdef> 4208e120bd27Smrg <paramdef>unsigned int <parameter>depth</parameter></paramdef> 4209e120bd27Smrg <paramdef>Atom <parameter>property</parameter></paramdef> 4210e120bd27Smrg <paramdef>Bool <parameter>replace</parameter></paramdef> 4211e120bd27Smrg <paramdef>Bool <parameter>retain</parameter></paramdef> 4212e120bd27Smrg </funcprototype> 4213e120bd27Smrg </funcsynopsis> 4214e120bd27Smrg <variablelist> 4215e120bd27Smrg <varlistentry> 4216e120bd27Smrg <term><parameter>dpy</parameter></term> 4217e120bd27Smrg <listitem><para> 4218e120bd27Smrgspecifies the connection to the X server 4219e120bd27Smrg </para></listitem> 4220e120bd27Smrg </varlistentry> 4221e120bd27Smrg <varlistentry> 4222e120bd27Smrg <term><parameter>screen</parameter></term> 4223e120bd27Smrg <listitem><para> 4224e120bd27Smrgspecifies the screen of the display 4225e120bd27Smrg </para></listitem> 4226e120bd27Smrg </varlistentry> 4227e120bd27Smrg <varlistentry> 4228e120bd27Smrg <term><parameter>visualid</parameter></term> 4229e120bd27Smrg <listitem><para> 4230e120bd27Smrgspecifies the visual type 4231e120bd27Smrg </para></listitem> 4232e120bd27Smrg </varlistentry> 4233e120bd27Smrg <varlistentry> 4234e120bd27Smrg <term><parameter>depth</parameter></term> 4235e120bd27Smrg <listitem><para> 4236e120bd27Smrgspecifies the visual depth 4237e120bd27Smrg </para></listitem> 4238e120bd27Smrg </varlistentry> 4239e120bd27Smrg <varlistentry> 4240e120bd27Smrg <term><parameter>property</parameter></term> 4241e120bd27Smrg <listitem><para> 4242e120bd27Smrgspecifies the standard colormap property 4243e120bd27Smrg </para></listitem> 4244e120bd27Smrg </varlistentry> 4245e120bd27Smrg <varlistentry> 4246e120bd27Smrg <term><parameter>replace</parameter></term> 4247e120bd27Smrg <listitem><para> 4248e120bd27Smrgspecifies whether or not to replace 4249e120bd27Smrg </para></listitem> 4250e120bd27Smrg </varlistentry> 4251e120bd27Smrg <varlistentry> 4252e120bd27Smrg <term><parameter>retain</parameter></term> 4253e120bd27Smrg <listitem><para> 4254e120bd27Smrgspecifies whether or not to retain 4255e120bd27Smrg </para></listitem> 4256e120bd27Smrg </varlistentry> 4257e120bd27Smrg </variablelist> 4258e120bd27Smrg 4259e120bd27SmrgTo create a standard colormap if one does not currently exist, or replace 4260e120bd27Smrgthe currently existing standard colormap, use 4261e120bd27Smrg<function>XmuLookupStandardColormap</function>. 4262e120bd27Smrg </para> 4263e120bd27Smrg 4264e120bd27Smrg <para> 4265e120bd27SmrgGiven a screen, a visual, and a property, this function will determine the 4266e120bd27Smrgbest allocation for the property under the specified visual, and determine 4267e120bd27Smrgthe whether to create a new colormap or to use the default colormap of the 4268e120bd27Smrgscreen. 4269e120bd27Smrg </para> 4270e120bd27Smrg 4271e120bd27Smrg <para> 4272e120bd27SmrgIf replace is True, any previous definition of the property will be 4273e120bd27Smrgreplaced. If retain is True, the property and the colormap will be made 4274e120bd27Smrgpermanent for the duration of the server session. However, pre-existing 4275e120bd27Smrgproperty definitions which are not replaced cannot be made permanent by a 4276e120bd27Smrgcall to this function; a request to retain resources pertains to newly 4277e120bd27Smrgcreated resources. 4278e120bd27Smrg </para> 4279e120bd27Smrg 4280e120bd27Smrg <para> 4281e120bd27SmrgThis function returns 0 on failure, non-zero on success. A request to 4282e120bd27Smrgcreate a standard colormap upon a visual which cannot support such a map is 4283e120bd27Smrgconsidered a failure. An example of this would be requesting any standard 4284e120bd27Smrgcolormap property on a monochrome visual, or, requesting an 4285e120bd27Smrg<property>RGB_BEST_MAP</property> on 4286e120bd27Smrga display whose colormap size is 16. 4287e120bd27Smrg </para> 4288e120bd27Smrg 4289e120bd27Smrg <para id="XmuGetColormapAllocation"> 4290e120bd27Smrg <indexterm zone="XmuGetColormapAllocation"> 4291e120bd27Smrg <primary><function>XmuGetColormapAllocation</function></primary> 4292e120bd27Smrg </indexterm> 4293e120bd27Smrg <funcsynopsis> 4294e120bd27Smrg <funcprototype> 4295e120bd27Smrg <funcdef>Status <function>XmuGetColormapAllocation</function></funcdef> 4296e120bd27Smrg <paramdef>XVisualInfo *<parameter>vinfo</parameter></paramdef> 4297e120bd27Smrg <paramdef>Atom <parameter>property</parameter></paramdef> 4298e120bd27Smrg <paramdef>unsigned long *<parameter>red_max</parameter></paramdef> 4299e120bd27Smrg <paramdef>unsigned long *<parameter>green_max</parameter></paramdef> 4300e120bd27Smrg <paramdef>unsigned long *<parameter>blue_max</parameter></paramdef> 4301e120bd27Smrg </funcprototype> 4302e120bd27Smrg </funcsynopsis> 4303e120bd27Smrg <variablelist> 4304e120bd27Smrg <varlistentry> 4305e120bd27Smrg <term><parameter>vinfo</parameter></term> 4306e120bd27Smrg <listitem><para> 4307e120bd27Smrgspecifies visual information for a chosen visual 4308e120bd27Smrg </para></listitem> 4309e120bd27Smrg </varlistentry> 4310e120bd27Smrg <varlistentry> 4311e120bd27Smrg <term><parameter>property</parameter></term> 4312e120bd27Smrg <listitem><para> 4313e120bd27Smrgspecifies one of the standard colormap property names 4314e120bd27Smrg </para></listitem> 4315e120bd27Smrg </varlistentry> 4316e120bd27Smrg <varlistentry> 4317e120bd27Smrg <term><parameter>red_max</parameter></term> 4318e120bd27Smrg <listitem><para> 4319e120bd27Smrgreturns maximum red value</para> 4320e120bd27Smrg </listitem> 4321e120bd27Smrg </varlistentry> 4322e120bd27Smrg <varlistentry> 4323e120bd27Smrg <term><parameter>green_max</parameter></term> 4324e120bd27Smrg <listitem><para> 4325e120bd27Smrgreturns maximum green value 4326e120bd27Smrg </para></listitem> 4327e120bd27Smrg </varlistentry> 4328e120bd27Smrg <varlistentry> 4329e120bd27Smrg <term><parameter>blue_max</parameter></term> 4330e120bd27Smrg <listitem><para> 4331e120bd27Smrgreturns maximum blue value 4332e120bd27Smrg </para></listitem> 4333e120bd27Smrg </varlistentry> 4334e120bd27Smrg </variablelist> 4335e120bd27Smrg 4336e120bd27SmrgTo determine the best allocation of reds, greens, and blues in a standard 4337e120bd27Smrgcolormap, use 4338e120bd27Smrg<function>XmuGetColormapAllocation</function>. 4339e120bd27Smrg </para> 4340e120bd27Smrg 4341e120bd27Smrg <para> 4342e120bd27Smrg<function>XmuGetColormapAllocation</function> 4343e120bd27Smrgreturns 0 on failure, non-zero on success. It is 4344e120bd27Smrgassumed that the visual is appropriate for the colormap property. 4345e120bd27Smrg </para> 4346e120bd27Smrg 4347e120bd27Smrg <para id="XmuStandardColormap"> 4348e120bd27Smrg <indexterm zone="XmuStandardColormap"> 4349e120bd27Smrg <primary><function>XmuStandardColormap</function></primary> 4350e120bd27Smrg </indexterm> 4351e120bd27Smrg <funcsynopsis> 4352e120bd27Smrg <funcprototype> 4353e120bd27Smrg <funcdef>XStandardColormap *<function>XmuStandardColormap</function></funcdef> 4354e120bd27Smrg <paramdef>Display *<parameter>dpy</parameter></paramdef> 4355e120bd27Smrg <paramdef>int <parameter>screen</parameter></paramdef> 4356e120bd27Smrg <paramdef>VisualID <parameter>visualid</parameter></paramdef> 4357e120bd27Smrg <paramdef>unsigned int <parameter>depth</parameter></paramdef> 4358e120bd27Smrg <paramdef>Atom <parameter>property</parameter></paramdef> 4359e120bd27Smrg <paramdef>Colormap <parameter>cmap</parameter></paramdef> 4360e120bd27Smrg <paramdef>unsigned long <parameter>red_max</parameter></paramdef> 4361e120bd27Smrg <paramdef>unsigned long <parameter>green_max</parameter></paramdef> 4362e120bd27Smrg <paramdef>unsigned long <parameter>blue_max</parameter></paramdef> 4363e120bd27Smrg </funcprototype> 4364e120bd27Smrg </funcsynopsis> 4365e120bd27Smrg <variablelist> 4366e120bd27Smrg <varlistentry> 4367e120bd27Smrg <term><parameter>dpy</parameter></term> 4368e120bd27Smrg <listitem><para> 4369e120bd27Smrgspecifies the connection to the X server 4370e120bd27Smrg </para></listitem> 4371e120bd27Smrg </varlistentry> 4372e120bd27Smrg <varlistentry> 4373e120bd27Smrg <term><parameter>screen</parameter></term> 4374e120bd27Smrg <listitem><para> 4375e120bd27Smrgspecifies the screen of the display 4376e120bd27Smrg </para></listitem> 4377e120bd27Smrg </varlistentry> 4378e120bd27Smrg <varlistentry> 4379e120bd27Smrg <term><parameter>visualid</parameter></term> 4380e120bd27Smrg <listitem><para> 4381e120bd27Smrgspecifies the visual type 4382e120bd27Smrg </para></listitem> 4383e120bd27Smrg </varlistentry> 4384e120bd27Smrg <varlistentry> 4385e120bd27Smrg <term><parameter>depth</parameter></term> 4386e120bd27Smrg <listitem><para> 4387e120bd27Smrgspecifies the visual depth 4388e120bd27Smrg </para></listitem> 4389e120bd27Smrg </varlistentry> 4390e120bd27Smrg <varlistentry> 4391e120bd27Smrg <term><parameter>property</parameter></term> 4392e120bd27Smrg <listitem><para> 4393e120bd27Smrgspecifies the standard colormap property 4394e120bd27Smrg </para></listitem> 4395e120bd27Smrg </varlistentry> 4396e120bd27Smrg <varlistentry> 4397e120bd27Smrg <term><parameter>cmap</parameter></term> 4398e120bd27Smrg <listitem><para> 4399e120bd27Smrgspecifies the colormap ID, or None 4400e120bd27Smrg </para></listitem> 4401e120bd27Smrg </varlistentry> 4402e120bd27Smrg <varlistentry> 4403e120bd27Smrg <term><parameter>red_max</parameter></term> 4404e120bd27Smrg <listitem><para> 4405e120bd27Smrgspecifies the red allocation 4406e120bd27Smrg </para></listitem> 4407e120bd27Smrg </varlistentry> 4408e120bd27Smrg <varlistentry> 4409e120bd27Smrg <term><parameter>green_max</parameter></term> 4410e120bd27Smrg <listitem><para> 4411e120bd27Smrgspecifies the green allocation 4412e120bd27Smrg </para></listitem> 4413e120bd27Smrg </varlistentry> 4414e120bd27Smrg <varlistentry> 4415e120bd27Smrg <term><parameter>blue_max</parameter></term> 4416e120bd27Smrg <listitem><para> 4417e120bd27Smrgspecifies the blue allocation 4418e120bd27Smrg </para></listitem> 4419e120bd27Smrg </varlistentry> 4420e120bd27Smrg </variablelist> 4421e120bd27Smrg 4422e120bd27SmrgTo create any one standard colormap, use 4423e120bd27Smrg<function>XmuStandardColormap</function>. 4424e120bd27Smrg </para> 4425e120bd27Smrg 4426e120bd27Smrg <para> 4427e120bd27SmrgThis function creates a standard colormap for the given screen, visualid, 4428e120bd27Smrgand visual depth, with the given red, green, and blue maximum values, with 4429e120bd27Smrgthe given standard property name. Upon success, it returns a pointer to an 4430e120bd27Smrg<function>XStandardColormap</function> 4431e120bd27Smrgstructure which describes the newly created colormap. 4432e120bd27SmrgUpon failure, it returns <symbol>NULL</symbol>. 4433e120bd27SmrgIf cmap is the default colormap of the screen, the standard colormap 4434e120bd27Smrgwill be defined on the default colormap; otherwise a new colormap is created. 4435e120bd27Smrg </para> 4436e120bd27Smrg 4437e120bd27Smrg <para> 4438e120bd27SmrgResources created by this function are not made permanent; that is the 4439e120bd27Smrgcaller's responsibility. 4440e120bd27Smrg </para> 4441e120bd27Smrg 4442e120bd27Smrg <para id="XmuCreateColormap"> 4443e120bd27Smrg <indexterm zone="XmuCreateColormap"> 4444e120bd27Smrg <primary><function>XmuCreateColormap</function></primary> 4445e120bd27Smrg </indexterm> 4446e120bd27Smrg <funcsynopsis> 4447e120bd27Smrg <funcprototype> 4448e120bd27Smrg <funcdef>Status <function>XmuCreateColormap</function></funcdef> 4449e120bd27Smrg <paramdef>Display *<parameter>dpy</parameter></paramdef> 4450e120bd27Smrg <paramdef>XStandardColormap *<parameter>colormap</parameter></paramdef> 4451e120bd27Smrg </funcprototype> 4452e120bd27Smrg </funcsynopsis> 4453e120bd27Smrg <variablelist> 4454e120bd27Smrg <varlistentry> 4455e120bd27Smrg <term><parameter>dpy</parameter></term> 4456e120bd27Smrg <listitem><para> 4457e120bd27Smrgspecifies the connection under which the map is created 4458e120bd27Smrg </para></listitem> 4459e120bd27Smrg </varlistentry> 4460e120bd27Smrg <varlistentry> 4461e120bd27Smrg <term><parameter>colormap</parameter></term> 4462e120bd27Smrg <listitem><para> 4463e120bd27Smrgspecifies the map to be created</para></listitem> 4464e120bd27Smrg </varlistentry> 4465e120bd27Smrg </variablelist> 4466e120bd27Smrg 4467e120bd27SmrgTo create any one colormap which is described by an 4468e120bd27Smrg<structname>XStandardColormap</structname> 4469e120bd27Smrgstructure, use 4470e120bd27Smrg<function>XmuCreateColormap</function>. 4471e120bd27Smrg </para> 4472e120bd27Smrg 4473e120bd27Smrg <para> 4474e120bd27SmrgThis function returns 0 on failure, and non-zero on success. The base_pixel 4475e120bd27Smrgof the colormap is set on success. Resources created by this function are 4476e120bd27Smrgnot made permanent. No argument error checking is provided; use at your own 4477e120bd27Smrgrisk. 4478e120bd27Smrg </para> 4479e120bd27Smrg 4480e120bd27Smrg <para> 4481e120bd27SmrgAll colormaps are created with read-only allocations, with the exception of 4482e120bd27Smrgread-only allocations of colors which fail 4483e120bd27Smrgto return the expected pixel value, and these are individually defined as 4484e120bd27Smrgread/write allocations. This is done so that all the cells defined in the 4485e120bd27Smrgcolormap are contiguous, for use in image processing. This typically 4486e120bd27Smrghappens with White and Black in the default map. 4487e120bd27Smrg </para> 4488e120bd27Smrg 4489e120bd27Smrg <para> 4490e120bd27SmrgColormaps of static visuals are considered to be successfully created if the 4491e120bd27Smrgmap of the static visual matches the definition given in the standard 4492e120bd27Smrgcolormap structure. 4493e120bd27Smrg </para> 4494e120bd27Smrg 4495e120bd27Smrg <para id="XmuDeleteStandardColormap"> 4496e120bd27Smrg <indexterm zone="XmuDeleteStandardColormap"> 4497e120bd27Smrg <primary><function>XmuDeleteStandardColormap</function></primary> 4498e120bd27Smrg </indexterm> 4499e120bd27Smrg <funcsynopsis> 4500e120bd27Smrg <funcprototype> 4501e120bd27Smrg <funcdef>void <function>XmuDeleteStandardColormap</function></funcdef> 4502e120bd27Smrg <paramdef>Display *<parameter>dpy</parameter></paramdef> 4503e120bd27Smrg <paramdef>Screen *<parameter>screen</parameter></paramdef> 4504e120bd27Smrg <paramdef>Atom <parameter>property</parameter></paramdef> 4505e120bd27Smrg </funcprototype> 4506e120bd27Smrg </funcsynopsis> 4507e120bd27Smrg <variablelist> 4508e120bd27Smrg <varlistentry> 4509e120bd27Smrg <term><parameter>dpy</parameter></term> 4510e120bd27Smrg <listitem><para> 4511e120bd27Smrgspecifies the connection to the X server 4512e120bd27Smrg </para></listitem> 4513e120bd27Smrg </varlistentry> 4514e120bd27Smrg <varlistentry> 4515e120bd27Smrg <term><parameter>screen</parameter></term> 4516e120bd27Smrg <listitem><para> 4517e120bd27Smrgspecifies the screen of the display 4518e120bd27Smrg </para></listitem> 4519e120bd27Smrg </varlistentry> 4520e120bd27Smrg <varlistentry> 4521e120bd27Smrg <term><parameter>property</parameter></term> 4522e120bd27Smrg <listitem><para> 4523e120bd27Smrgspecifies the standard colormap property 4524e120bd27Smrg </para></listitem> 4525e120bd27Smrg </varlistentry> 4526e120bd27Smrg </variablelist> 4527e120bd27Smrg 4528e120bd27SmrgTo remove any standard colormap property, use 4529e120bd27Smrg<function>XmuDeleteStandardColormap</function>. 4530e120bd27SmrgThis function will remove the specified property from the specified screen, 4531e120bd27Smrgreleasing any resources used by the colormap(s) of the property, if 4532e120bd27Smrgpossible. 4533e120bd27Smrg </para> 4534e120bd27Smrg 4535e120bd27Smrg </sect1> 4536e120bd27Smrg 45370cc2eac3Smrg <sect1 id='Widget_Description_Functions'> 45380cc2eac3Smrg<title>Widget Description Functions</title> 4539e120bd27Smrg 4540e120bd27Smrg <para> 4541e120bd27SmrgThe functions defined in this section are for building a description of 4542e120bd27Smrgthe structure of and resources associated with a hierarchy of widget classes. 4543e120bd27SmrgThis package is typically used by applications that wish to manipulate the 4544e120bd27Smrgwidget set itself. 4545e120bd27Smrg </para> 4546e120bd27Smrg 4547e120bd27Smrg <para> 4548e120bd27SmrgThe definitions needed to use these interfaces are in the header file 4549e120bd27Smrg<<filename class='headerfile'>X11/Xmu/WidgetNode.h</filename>> 4550e120bd27Smrg<indexterm> 4551e120bd27Smrg<primary><filename class='headerfile'>X11/Xmu/WidgetNode.h</filename></primary> 4552e120bd27Smrg</indexterm>. 4553e120bd27SmrgTo call these functions, you need to link against the libXmu library. 4554e120bd27SmrgThe following function must be called before any of the others described 4555e120bd27Smrgbelow: 4556e120bd27Smrg 4557e120bd27Smrg <funcsynopsis> 4558e120bd27Smrg <funcprototype> 4559e120bd27Smrg <funcdef>void <function>XmuWnInitializeNodes</function></funcdef> 4560e120bd27Smrg <paramdef>XmuWidgetNode *<parameter>node_array</parameter></paramdef> 4561e120bd27Smrg <paramdef>int <parameter>num_nodes</parameter></paramdef> 4562e120bd27Smrg </funcprototype> 4563e120bd27Smrg </funcsynopsis> 4564e120bd27Smrg <variablelist> 4565e120bd27Smrg <varlistentry> 4566e120bd27Smrg <term><parameter>node_array</parameter></term> 4567e120bd27Smrg <listitem><para> 4568e120bd27Smrgspecifies a list of widget classes, in alphabetical order 4569e120bd27Smrg </para></listitem> 4570e120bd27Smrg </varlistentry> 4571e120bd27Smrg <varlistentry> 4572e120bd27Smrg <term><parameter>num_nodes</parameter></term> 4573e120bd27Smrg <listitem><para> 4574e120bd27Smrgspecifies the number of widget classes in the node array 4575e120bd27Smrg </para></listitem> 4576e120bd27Smrg </varlistentry> 4577e120bd27Smrg </variablelist> 4578e120bd27Smrg </para> 4579e120bd27Smrg 4580e120bd27Smrg <para> 4581e120bd27SmrgTo determine the resources provided by a widget class or classes, use 4582e120bd27Smrg 4583e120bd27Smrg <funcsynopsis> 4584e120bd27Smrg <funcprototype> 4585e120bd27Smrg <funcdef>void <function>XmuWnFetchResources</function></funcdef> 4586e120bd27Smrg <paramdef>XmuWidgetNode *<parameter>node</parameter></paramdef> 4587e120bd27Smrg <paramdef>Widget <parameter>toplevel</parameter></paramdef> 4588e120bd27Smrg <paramdef>XmuWidgetNode *<parameter>top_node</parameter></paramdef> 4589e120bd27Smrg </funcprototype> 4590e120bd27Smrg </funcsynopsis> 4591e120bd27Smrg <variablelist> 4592e120bd27Smrg <varlistentry> 4593e120bd27Smrg <term><parameter>node</parameter></term> 4594e120bd27Smrg <listitem><para> 4595e120bd27Smrgspecifies the widget class for which resources should be obtained. 4596e120bd27Smrg </para></listitem> 4597e120bd27Smrg </varlistentry> 4598e120bd27Smrg <varlistentry> 4599e120bd27Smrg <term><parameter>toplevel</parameter></term> 4600e120bd27Smrg <listitem><para> 4601e120bd27Smrgspecifies the widget that should be used for creating an instance of 4602e120bd27Smrg<parameter>node</parameter> 4603e120bd27Smrgfrom which resources are extracted. This is typically the value returned 46040cc2eac3Smrgby <olink targetdoc='libXaw' targetptr='XtAppInitialize'><function>XtAppInitialize</function></olink>. 4605e120bd27Smrg </para></listitem> 4606e120bd27Smrg </varlistentry> 4607e120bd27Smrg <varlistentry> 4608e120bd27Smrg <term><parameter>top_node</parameter></term> 4609e120bd27Smrg <listitem><para> 4610e120bd27Smrgspecifies the ancestor of <parameter>node</parameter> that should be 4611e120bd27Smrgtreated as the root 4612e120bd27Smrgof the widget inheritance tree (used in determining which ancestor contributed 4613e120bd27Smrgwhich resources). 4614e120bd27Smrg </para></listitem> 4615e120bd27Smrg </varlistentry> 4616e120bd27Smrg </variablelist> 4617e120bd27Smrg </para> 4618e120bd27Smrg 4619e120bd27Smrg <para> 4620e120bd27SmrgEach widget class inherits the resources of its parent. To count the number 4621e120bd27Smrgof resources contributed by a particular widget class, use: 4622e120bd27Smrg 4623e120bd27Smrg <funcsynopsis> 4624e120bd27Smrg <funcprototype> 4625e120bd27Smrg <funcdef>int <function>XmuWnCountOwnedResources</function></funcdef> 4626e120bd27Smrg <paramdef>XmuWidgetNode *<parameter>node</parameter></paramdef> 4627e120bd27Smrg <paramdef>XmuWidgetNode *<parameter>owner_node</parameter></paramdef> 4628e120bd27Smrg <paramdef>Bool <parameter>constraints</parameter></paramdef> 4629e120bd27Smrg </funcprototype> 4630e120bd27Smrg </funcsynopsis> 4631e120bd27Smrg <variablelist> 4632e120bd27Smrg <varlistentry> 4633e120bd27Smrg <term><parameter>node</parameter></term> 4634e120bd27Smrg <listitem><para> 4635e120bd27Smrgspecifies the widget class whose resources are being examined. 4636e120bd27Smrg </para></listitem> 4637e120bd27Smrg </varlistentry> 4638e120bd27Smrg <varlistentry> 4639e120bd27Smrg <term><parameter>owner_node</parameter></term> 4640e120bd27Smrg <listitem><para> 4641e120bd27Smrgspecifies the widget class of the ancestor of <parameter>node</parameter> 4642e120bd27Smrgwhose contributions 4643e120bd27Smrgare being counted. 4644e120bd27Smrg </para></listitem> 4645e120bd27Smrg </varlistentry> 4646e120bd27Smrg <varlistentry> 4647e120bd27Smrg <term><parameter>constraints</parameter></term> 4648e120bd27Smrg <listitem><para> 4649e120bd27Smrgspecifies whether or not to count constraint resources or normal resources. 4650e120bd27Smrg </para></listitem> 4651e120bd27Smrg </varlistentry> 4652e120bd27Smrg </variablelist> 4653e120bd27Smrg 4654e120bd27SmrgThis routine returns the number of resources contributed (or 4655e120bd27Smrg“owned”) by 4656e120bd27Smrgthe specified widget class. 4657e120bd27Smrg </para> 4658e120bd27Smrg 4659e120bd27Smrg <para id="XmuWnNameToNode"> 4660e120bd27Smrg <indexterm zone="XmuWnNameToNode"> 4661e120bd27Smrg <primary><function>XmuWnNameToNode</function></primary> 4662e120bd27Smrg </indexterm> 4663e120bd27Smrg <funcsynopsis> 4664e120bd27Smrg <funcprototype> 4665e120bd27Smrg <funcdef>XmuWidgetNode *<function>XmuWnNameToNode</function></funcdef> 4666e120bd27Smrg <paramdef>XmuWidgetNode *<parameter>node_list</parameter></paramdef> 4667e120bd27Smrg <paramdef>int <parameter>num_nodes</parameter></paramdef> 4668e120bd27Smrg <paramdef>char *<parameter>name</parameter></paramdef> 4669e120bd27Smrg </funcprototype> 4670e120bd27Smrg </funcsynopsis> 4671e120bd27Smrg <variablelist> 4672e120bd27Smrg <varlistentry> 4673e120bd27Smrg <term><parameter>node_list</parameter></term> 4674e120bd27Smrg <listitem><para> 4675e120bd27Smrgspecifies a list of widget nodes 4676e120bd27Smrg </para></listitem> 4677e120bd27Smrg </varlistentry> 4678e120bd27Smrg <varlistentry> 4679e120bd27Smrg <term><parameter>num_nodes</parameter></term> 4680e120bd27Smrg <listitem><para> 4681e120bd27Smrgspecifies the number of nodes in the list 4682e120bd27Smrg </para></listitem> 4683e120bd27Smrg </varlistentry> 4684e120bd27Smrg <varlistentry> 4685e120bd27Smrg <term><parameter>name</parameter></term> 4686e120bd27Smrg <listitem><para> 4687e120bd27Smrgspecifies the name of the widget class in the node list to search for 4688e120bd27Smrg </para></listitem> 4689e120bd27Smrg </varlistentry> 4690e120bd27Smrg </variablelist> 4691e120bd27Smrg 4692e120bd27SmrgThis function returns the WidgetNode in the list that matches the given 4693e120bd27Smrgwidget name or widget class name. If no match is found, it returns 4694e120bd27Smrg<symbol>NULL</symbol>. 4695e120bd27Smrg </para> 4696e120bd27Smrg 4697e120bd27Smrg </sect1> 4698e120bd27Smrg 46990cc2eac3Smrg <sect1 id='Participation_in_the_Editres_Protocol'> 47000cc2eac3Smrg<title>Participation in the Editres Protocol</title> 4701e120bd27Smrg 4702e120bd27Smrg <para> 4703e120bd27Smrg <indexterm> 4704e120bd27Smrg <primary>editres</primary> 4705e120bd27Smrg </indexterm> 4706e120bd27SmrgTo participate in the editres protocol, applications which are not based 4707e120bd27Smrgon the Athena widget set should include the header file 4708e120bd27Smrg<<filename class='headerfile'>X11/Xmu/Editres.h</filename>> 4709e120bd27Smrg<indexterm> 4710e120bd27Smrg<primary><filename class='headerfile'>X11/Xmu/Editres.h</filename></primary> 4711e120bd27Smrg</indexterm> 4712e120bd27Smrgand link against the libXmu library. 4713e120bd27Smrg </para> 4714e120bd27Smrg 4715e120bd27Smrg <para> 4716e120bd27SmrgTo participate in the editres protocol, Xt applications which do not rely 4717e120bd27Smrgon the Athena widget set should register the editres protocol handler on 4718e120bd27Smrgeach shell widget in the application, specifying an event mask of 0, 4719e120bd27Smrgnonmaskable events, and client data as <symbol>NULL</symbol>: 4720e120bd27Smrg 4721e120bd27Smrg <programlisting> 4722e120bd27SmrgXtAddEventHandler(shell, (EventMask) 0, True, _XEditResCheckMessages, NULL); 4723e120bd27Smrg </programlisting> 4724e120bd27Smrg </para> 4725e120bd27Smrg </sect1> 4726e120bd27Smrg 4727e120bd27Smrg <index /> 4728e120bd27Smrg</article> 4729