


     XXmmSSccaallee((33XX))              RReeffeerreennccee PPaaggeess              XXmmSSccaallee((33XX))



     NNAAMMEE
          XXmmSSccaallee-The Scale widget class

     AAEESS SSUUPPPPOORRTT LLEEVVEELL
          Full-use

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//SSccaallee..hh>>


     DDEESSCCRRIIPPTTIIOONN
          Scale is used by an application to indicate a value from
          within a range of values, and it allows the user to input or
          modify a value from the same range.

          A Scale has an elongated rectangular region similar to a
          ScrollBar.  A slider inside this region indicates the
          current value along the Scale.  The user can also modify the
          Scale's value by moving the slider within the rectangular
          region of the Scale.  A Scale can also include a label set
          located outside the Scale region.  These can indicate the
          relative value at various positions along the scale.

          A Scale can be either input/output or output only.  An
          input/output Scale's value can be set by the application and
          also modified by the user with the slider.  An output-only
          Scale is used strictly as an indicator of the current value
          of something and cannot be modified interactively by the
          user.  The CCoorree resource XXmmNNsseennssiittiivvee specifies whether the
          user can interactively modify the Scale's value.

        CCllaasssseess
          Scale inherits behavior and resources from CCoorree, CCoommppoossiittee,
          CCoonnssttrraaiinntt, and XXmmMMaannaaggeerr classes.

          The class pointer is xxmmSSccaalleeWWiiddggeettCCllaassss.

          The class name is XXmmSSccaallee.

        NNeeww RReessoouurrcceess
          The following table defines a set of widget resources used
          by the programmer to specify data.  The programmer can also
          set the resource values for the inherited classes to set
          attributes for this widget.  To reference a resource by name
          or by class in a .Xdefaults file, remove the XXmmNN or XXmmCC
          prefix and use the remaining letters.  To specify one of the
          defined values for a resource in a .Xdefaults file, remove
          the XXmm prefix and use the remaining letters (in either
          lowercase or uppercase, but include any underscores between
          words).  The codes in the access column indicate if the
          given resource can be set at creation time (C), set by using
          XXttSSeettVVaalluueess (S), retrieved by using XXttGGeettVVaalluueess (G), or is



     2-511                                            (printed 5/7/92)






     XXmmSSccaallee((33XX))              RReeffeerreennccee PPaaggeess              XXmmSSccaallee((33XX))



          not applicable (N/A).

                                      XXmmSSccaallee RReessoouurrccee SSeett
     NNaammee                      CCllaassss                    TTyyppee             DDeeffaauulltt      AAcccceessss
     _______________________________________________________________________________________
     XmNdecimalPoints          XmCDecimalPoints         short            0            CSG
     XmNdragCallback           XmCCallback              XtCallbackList   NULL         C
     XmNfontList               XmCFontList              XmFontList       dynamic      CSG
     XmNhighlightOnEnter       XmCHighlightOnEnter      Boolean          False        CSG
     XmNhighlightThickness     XmCHighlightThickness    Dimension        2            CSG
     XmNmaximum                XmCMaximum               int              100          CSG
     XmNminimum                XmCMinimum               int              0            CSG
     XmNorientation            XmCOrientation           unsigned char    XmVERTICAL   CSG
     XmNprocessingDirection    XmCProcessingDirection   unsigned char    dynamic      CSG
     XmNscaleHeight            XmCScaleHeight           Dimension        0            CSG
     XmNscaleMultiple          XmCScaleMultiple         int              dynamic      CSG
     XmNscaleWidth             XmCScaleWidth            Dimension        0            CSG
     XmNshowValue              XmCShowValue             Boolean          False        CSG
     XmNtitleString            XmCTitleString           XmString         NULL         CSG
     XmNvalue                  XmCValue                 int              dynamic      CSG
     XmNvalueChangedCallback   XmCCallback              XtCallbackList   NULL         C


          XXmmNNddeecciimmaallPPooiinnttss
                    Specifies the number of decimal points to shift
                    the slider value when displaying it.  For example,
                    a slider value of 2,350 and an XXmmddeecciimmaallPPooiinnttss
                    value of 2 results in a display value of 23.50.
                    The value must not be negative.

          XXmmNNddrraaggCCaallllbbaacckk
                    Specifies the list of callbacks that is called
                    when the slider position changes as the slider is
                    being dragged.  The reason sent by the callback is
                    XXmmCCRR__DDRRAAGG.

          XXmmNNffoonnttLLiisstt
                    Specifies the font list to use for the title text
                    string specified by XXmmNNttiittlleeSSttrriinngg, and the label
                    displayed when XXmmNNsshhoowwVVaalluuee is True.  If this
                    value is NULL at initialization, the font list is
                    initialized by looking up the parent hierarchy of
                    the widget for an ancestor that is a subclass of
                    the XmBulletinBoard, VendorShell, or XmMenuShell
                    widget class.  If such an ancestor is found, the
                    font list is initialized to the XXmmNNllaabbeellFFoonnttLLiisstt
                    of the ancestor widget.  If no such ancestor is
                    found, the default is implementation dependent.
                    Refer to XXmmFFoonnttLLiisstt((33XX)) for more information on
                    the creation and structure of a font list.

          XXmmNNhhiigghhlliigghhttOOnnEEnntteerr



     2-512                                            (printed 5/7/92)






     XXmmSSccaallee((33XX))              RReeffeerreennccee PPaaggeess              XXmmSSccaallee((33XX))



                    Specifies whether the highlighting rectangle is
                    drawn when the cursor moves into the widget.  If
                    the shell's focus policy is XXmmEEXXPPLLIICCIITT, this
                    resource is ignored, and the widget is highlighted
                    when it has the focus.  If the shell's focus
                    policy is XXmmPPOOIINNTTEERR and if this resource is True,
                    the highlighting rectangle is drawn when the the
                    cursor moves into the widget.  If the shell's
                    focus policy is XXmmPPOOIINNTTEERR and if this resource is
                    False, the highlighting rectangle is not drawn
                    when the the cursor moves into the widget.  The
                    default is False.

          XXmmNNhhiigghhlliigghhttTThhiicckknneessss
                    Specifies the size of the slider's border drawing
                    rectangle used for enter window and traversal
                    highlight drawing.

          XXmmNNmmaaxxiimmuumm
                    Specifies the slider's maximum value.  XXmmNNmmaaxxiimmuumm
                    must be greater than XXmmNNmmiinniimmuumm.

          XXmmNNmmiinniimmuumm
                    Specifies the slider's minimum value.  XXmmNNmmaaxxiimmuumm
                    must be greater than XXmmNNmmiinniimmuumm.

          XXmmNNoorriieennttaattiioonn
                    Displays Scale vertically or horizontally.  This
                    resource can have values of XXmmVVEERRTTIICCAALL aanndd
                    XXmmHHOORRIIZZOONNTTAALL.

          XXmmNNpprroocceessssiinnggDDiirreeccttiioonn
                    Specifies whether the value for XXmmNNmmaaxxiimmuumm is on
                    the right or left side of XXmmNNmmiinniimmuumm for
                    horizontal Scales or above or below XXmmNNmmiinniimmuumm for
                    vertical Scales.  This resource can have values of
                    XXmmMMAAXX__OONN__TTOOPP,, XXmmMMAAXX__OONN__BBOOTTTTOOMM,,XXmmMMAAXX__OONN__LLEEFFTT, and
                    XXmmMMAAXX__OONN__RRIIGGHHTT.  If the XmScale is oriented
                    vertically, the default value is XXmmMMAAXX__OONN__TTOOPP.  If
                    the XmScale is oriented horizontally, the default
                    value may depend on the value of the
                    XXmmNNssttrriinnggDDiirreeccttiioonn resource.

          XXmmNNssccaalleeHHeeiigghhtt
                    Specifies the height of the slider area.  The
                    value should be in the specified unit type (the
                    default is pixels).  If no value is specified a
                    default height is computed.

          XXmmNNssccaalleeMMuullttiippllee
                    Specifies the amount to move the slider when the
                    user takes an action that moves the slider by a



     2-513                                            (printed 5/7/92)






     XXmmSSccaallee((33XX))              RReeffeerreennccee PPaaggeess              XXmmSSccaallee((33XX))



                    multiple increment.  The default is (XXmmNNmmaaxxiimmuumm -
                    XXmmNNmmiinniimmuumm) divided by 10, with a minimum of 1.

          XXmmNNssccaalleeWWiiddtthh
                    Specifies the width of the slider area.  The value
                    should be in the specified unit type (the default
                    is pixels).  If no value is specified a default
                    width is computed.

          XXmmNNsshhoowwVVaalluuee
                    Specifies whether a label for the current slider
                    value should be displayed next to the slider.  If
                    the value is True, the current slider value is
                    displayed.

          XXmmNNttiittlleeSSttrriinngg
                    Specifies the title text string to appear in the
                    Scale widget window.

          XXmmNNvvaalluuee  Specifies the slider's current position along the
                    scale, between XXmmNNmmiinniimmuumm and XXmmNNmmaaxxiimmuumm.  The
                    value is constrained to be within these inclusive
                    bounds.  The initial value of this resource is the
                    larger of 0 and XXmmNNmmiinniimmuumm.

          XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk
                    Specifies the list of callbacks that is called
                    when the value of the slider has changed.  The
                    reason sent by the callback is XXmmCCRR__VVAALLUUEE__CCHHAANNGGEEDD.


        IInnhheerriitteedd RReessoouurrcceess
          Scale inherits behavior and resources from the following
          superclasses.  For a complete description of each resource,
          refer to the man page for that superclass.

                                          XXmmMMaannaaggeerr RReessoouurrccee SSeett
     NNaammee                    CCllaassss                   TTyyppee                DDeeffaauulltt                AAcccceessss
     _________________________________________________________________________________________________
     XmNbottomShadowColor    XmCBottomShadowColor    Pixel               dynamic                CSG
     XmNbottomShadowPixmap   XmCBottomShadowPixmap   Pixmap              XmUNSPECIFIED_PIXMAP   CSG
     XmNforeground           XmCForeground           Pixel               dynamic                CSG
     XmNhelpCallback         XmCCallback             XtCallbackList      NULL                   C
     XmNhighlightColor       XmCHighlightColor       Pixel               dynamic                CSG
     XmNhighlightPixmap      XmCHighlightPixmap      Pixmap              dynamic                CSG
     XmNnavigationType       XmCNavigationType       XmNavigationType    XmTAB_GROUP            CSG
     XmNshadowThickness      XmCShadowThickness      Dimension           2                      CSG
     XmNstringDirection      XmCStringDirection      XmStringDirection   dynamic                CG







     2-514                                            (printed 5/7/92)






     XXmmSSccaallee((33XX))              RReeffeerreennccee PPaaggeess              XXmmSSccaallee((33XX))



     XmNtopShadowColor       XmCTopShadowColor       Pixel               dynamic                CSG
     XmNtopShadowPixmap      XmCTopShadowPixmap      Pixmap              dynamic                CSG
     XmNtraversalOn          XmCTraversalOn          Boolean             True                   CSG
     XmNuserData             XmCUserData             XtPointer           NULL                   CSG

                             CCoommppoossiittee RReessoouurrccee SSeett
     NNaammee                CCllaassss               TTyyppee          DDeeffaauulltt   AAcccceessss
     ______________________________________________________________________
     XmNchildren         XmCReadOnly         WidgetList    NULL      G
     XmNinsertPosition   XmCInsertPosition   XtOrderProc   NULL      CSG
     XmNnumChildren      XmCReadOnly         Cardinal      0         G

                                                   CCoorree RReessoouurrccee SSeett
     NNaammee                            CCllaassss                           TTyyppee             DDeeffaauulltt                AAcccceessss
     ______________________________________________________________________________________________________________
     XmNaccelerators                 XmCAccelerators                 XtAccelerators   dynamic                CSG
     XmNancestorSensitive            XmCSensitive                    Boolean          dynamic                G
     XmNbackground                   XmCBackground                   Pixel            dynamic                CSG
     XmNbackgroundPixmap             XmCPixmap                       Pixmap           XmUNSPECIFIED_PIXMAP   CSG
     XmNborderColor                  XmCBorderColor                  Pixel            XtDefaultForeground    CSG
     XmNborderPixmap                 XmCPixmap                       Pixmap           XmUNSPECIFIED_PIXMAP   CSG
     XmNborderWidth                  XmCBorderWidth                  Dimension        0                      CSG
     XmNcolormap                     XmCColormap                     Colormap         dynamic                CG
     XmNdepth                        XmCDepth                        int              dynamic                CG
     XmNdestroyCallback              XmCCallback                     XtCallbackList   NULL                   C
     XmNheight                       XmCHeight                       Dimension        dynamic                CSG
     XmNinitialResourcesPersistent   XmCInitialResourcesPersistent   Boolean          True                   C
     XmNmappedWhenManaged            XmCMappedWhenManaged            Boolean          True                   CSG
     XmNscreen                       XmCScreen                       Screen *         dynamic                CG
     XmNsensitive                    XmCSensitive                    Boolean          True                   CSG
     XmNtranslations                 XmCTranslations                 XtTranslations   dynamic                CSG
     XmNwidth                        XmCWidth                        Dimension        dynamic                CSG
     XmNx                            XmCPosition                     Position         0                      CSG
     XmNy                            XmCPosition                     Position         0                      CSG

        CCaallllbbaacckk IInnffoorrmmaattiioonn
          A pointer to the following structure is passed to each
          callback:

          ttyyppeeddeeff ssttrruucctt
          {{
            iinntt      _r_e_a_s_o_n;;
            XXEEvveenntt   * _e_v_e_n_t;;
            iinntt      _v_a_l_u_e;;
          }} XXmmSSccaalleeCCaallllbbaacckkSSttrruucctt;;


          _r_e_a_s_o_n Indicates why the callback was invoked

          _e_v_e_n_t  Points to the XXEEvveenntt that triggered the callback

          _v_a_l_u_e  Is the new slider value



     2-515                                            (printed 5/7/92)






     XXmmSSccaallee((33XX))              RReeffeerreennccee PPaaggeess              XXmmSSccaallee((33XX))



     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          CCoommppoossiittee((33XX)), CCoonnssttrraaiinntt((33XX)), CCoorree((33XX)), XXmmCCrreeaatteeSSccaallee((33XX)),
          XXmmMMaannaaggeerr((33XX)), XXmmSSccaalleeGGeettVVaalluuee((33XX)), and XXmmSSccaalleeSSeettVVaalluuee((33XX)).




















































     2-516                                            (printed 5/7/92)






     XXmmSSccaalleeGGeettVVaalluuee((33XX))      RReeffeerreennccee PPaaggeess      XXmmSSccaalleeGGeettVVaalluuee((33XX))



     NNAAMMEE
          XXmmSSccaalleeGGeettVVaalluuee-A Scale function that returns the current
          slider position

     AAEESS SSUUPPPPOORRTT LLEEVVEELL
          Full-use

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//SSccaallee..hh>>

          vvooiidd XXmmSSccaalleeGGeettVVaalluuee ((_w_i_d_g_e_t, _v_a_l_u_e__r_e_t_u_r_n))
               WWiiddggeett    _w_i_d_g_e_t;;
               iinntt       * _v_a_l_u_e__r_e_t_u_r_n;;


     DDEESSCCRRIIPPTTIIOONN
          XXmmSSccaalleeGGeettVVaalluuee returns the current slider position value
          displayed in the scale.


          _w_i_d_g_e_t    Specifies the Scale widget ID

          _v_a_l_u_e__r_e_t_u_r_n
                    Returns the current slider position value


          For a complete definition of Scale and its associated
          resources, see XXmmSSccaallee((33XX)).

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmSSccaallee((33XX)).
























     2-517                                            (printed 5/7/92)






     XXmmSSccaalleeSSeettVVaalluuee((33XX))      RReeffeerreennccee PPaaggeess      XXmmSSccaalleeSSeettVVaalluuee((33XX))



     NNAAMMEE
          XXmmSSccaalleeSSeettVVaalluuee-A Scale function that sets a slider value

     AAEESS SSUUPPPPOORRTT LLEEVVEELL
          Full-use

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//SSccaallee..hh>>

          vvooiidd XXmmSSccaalleeSSeettVVaalluuee ((_w_i_d_g_e_t, _v_a_l_u_e))
               WWiiddggeett    _w_i_d_g_e_t;;
               iinntt       _v_a_l_u_e;;


     DDEESSCCRRIIPPTTIIOONN
          XXmmSSccaalleeSSeettVVaalluuee sets the slider _v_a_l_u_e within the Scale
          widget.


          _w_i_d_g_e_t    Specifies the Scale widget ID.

          _v_a_l_u_e     Specifies the slider position along the scale.
                    This sets the XXmmNNvvaalluuee resource.


          For a complete definition of Scale and its associated
          resources, see XXmmSSccaallee((33XX)).

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmSSccaallee((33XX)).

























     2-518                                            (printed 5/7/92)






     XXmmSSccrroollllBBaarr((33XX))          RReeffeerreennccee PPaaggeess          XXmmSSccrroollllBBaarr((33XX))



     NNAAMMEE
          XXmmSSccrroollllBBaarr-The ScrollBar widget class

     AAEESS SSUUPPPPOORRTT LLEEVVEELL
          Full-use

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//SSccrroollllBBaarr..hh>>


     DDEESSCCRRIIPPTTIIOONN
          The ScrollBar widget allows the user to view data that is
          too large to be displayed all at once.  ScrollBars are
          usually located inside a ScrolledWindow and adjacent to the
          widget that contains the data to be viewed.  When the user
          interacts with the ScrollBar, the data within the other
          widget scrolls.

          A ScrollBar consists of two arrows placed at each end of a
          rectangle.  The rectangle is called the scroll region.  A
          smaller rectangle, called the slider, is placed within the
          scroll region.  The data is scrolled by clicking either
          arrow, selecting on the scroll region, or dragging the
          slider.  When an arrow is selected, the slider within the
          scroll region is moved in the direction of the arrow by an
          amount supplied by the application.  If the mouse button is
          held down, the slider continues to move at a constant rate.

          The ratio of the slider size to the scroll region size
          typically corresponds to the relationship between the size
          of the visible data and the total size of the data.  For
          example, if 10 percent of the data is visible, the slider
          typically occupies 10 percent of the scroll region.  This
          provides the user with a visual clue to the size of the
          invisible data.

        CCllaasssseess
          ScrollBar inherits behavior and resources from the CCoorree and
          XXmmPPrriimmiittiivvee classes.

          The class pointer is xxmmSSccrroollllBBaarrWWiiddggeettCCllaassss.

          The class name is XXmmSSccrroollllBBaarr.

        NNeeww RReessoouurrcceess
          The following table defines a set of widget resources used
          by the programmer to specify data.  The programmer can also
          set the resource values for the inherited classes to set
          attributes for this widget.  To reference a resource by name
          or by class in a .Xdefaults file, remove the XXmmNN or XXmmCC
          prefix and use the remaining letters.  To specify one of the
          defined values for a resource in a .Xdefaults file, remove



     2-519                                            (printed 5/7/92)






     XXmmSSccrroollllBBaarr((33XX))          RReeffeerreennccee PPaaggeess          XXmmSSccrroollllBBaarr((33XX))



          the XXmm prefix and use the remaining letters (in either
          lowercase or uppercase, but include any underscores between
          words).  The codes in the access column indicate if the
          given resource can be set at creation time (C), set by using
          XXttSSeettVVaalluueess (S), retrieved by using XXttGGeettVVaalluueess (G), or is
          not applicable (N/A).

                                     XXmmSSccrroollllBBaarr RReessoouurrccee SSeett
     NNaammee                       CCllaassss                    TTyyppee             DDeeffaauulltt      AAcccceessss
     ________________________________________________________________________________________
     XmNdecrementCallback       XmCCallback              XtCallbackList   NULL         C
     XmNdragCallback            XmCCallback              XtCallbackList   NULL         C
     XmNincrement               XmCIncrement             int              1            CSG
     XmNincrementCallback       XmCCallback              XtCallbackList   NULL         C
     XmNinitialDelay            XmCInitialDelay          int              250 ms       CSG
     XmNmaximum                 XmCMaximum               int              dynamic      CSG
     XmNminimum                 XmCMinimum               int              0            CSG
     XmNorientation             XmCOrientation           unsigned char    XmVERTICAL   CSG
     XmNpageDecrementCallback   XmCCallback              XtCallbackList   NULL         C
     XmNpageIncrement           XmCPageIncrement         int              10           CSG
     XmNpageIncrementCallback   XmCCallback              XtCallbackList   NULL         C
     XmNprocessingDirection     XmCProcessingDirection   unsigned char    dynamic      CSG
     XmNrepeatDelay             XmCRepeatDelay           int              50 ms        CSG
     XmNshowArrows              XmCShowArrows            Boolean          True         CSG
     XmNsliderSize              XmCSliderSize            int              dynamic      CSG
     XmNtoBottomCallback        XmCCallback              XtCallbackList   NULL         C
     XmNtoTopCallback           XmCCallback              XtCallbackList   NULL         C
     XmNtroughColor             XmCTroughColor           Pixel            dynamic      CSG
     XmNvalue                   XmCValue                 int              dynamic      CSG
     XmNvalueChangedCallback    XmCCallback              XtCallbackList   NULL         C


          XXmmNNddeeccrreemmeennttCCaallllbbaacckk
                    Specifies the list of callbacks that is called
                    when the user takes an action that moves the
                    ScrollBar by one increment and the value
                    decreases.  The reason passed to the callback is
                    XXmmCCRR__DDEECCRREEMMEENNTT.

          XXmmNNddrraaggCCaallllbbaacckk
                    Specifies the list of callbacks that is called on
                    each incremental change of position when the
                    slider is being dragged.  The reason sent by the
                    callback is XXmmCCRR__DDRRAAGG.

          XXmmNNiinnccrreemmeenntt
                    Specifies the amount by which the value increases
                    or decreases when the user takes an action that
                    moves the slider by one increment.  The actual
                    change in value is the lesser of XXmmNNiinnccrreemmeenntt and
                    (previous XXmmNNvvaalluuee - XXmmNNmmiinniimmuumm) when the slider
                    moves to the end of the ScrollBar with the minimum



     2-520                                            (printed 5/7/92)






     XXmmSSccrroollllBBaarr((33XX))          RReeffeerreennccee PPaaggeess          XXmmSSccrroollllBBaarr((33XX))



                    value, and the lesser ofXXmmNNiinnccrreemmeenntt and
                    (XXmmNNmmaaxxiimmuumm- XXmmNNsslliiddeerrSSiizzee - previous XXmmNNvvaalluuee)
                    when the slider moves to the end of the ScrollBar
                    with the maximum value.  The value of this
                    resource must be greater than 0.

          XXmmNNiinnccrreemmeennttCCaallllbbaacckk
                    Specifies the list of callbacks that is called
                    when the user takes an action that moves the
                    ScrollBar by one increment and the value
                    increases.  The reason passed to the callback is
                    XXmmCCRR__IINNCCRREEMMEENNTT.

          XXmmNNiinniittiiaallDDeellaayy
                    Specifies the amount of time in milliseconds to
                    wait before starting continuous slider movement
                    while a button is pressed in an arrow or the
                    scroll region.  The value of this resource must be
                    greater than 0.

          XXmmNNmmaaxxiimmuumm
                    Specifies the slider's maximum value.  ScrollBars
                    contained within ScrolledWindows have a maximum
                    equal to the size of ScrollBar (that is, the
                    height if it is vertical, or the width if it is
                    horizontal).  XXmmNNmmaaxxiimmuumm must be greater than
                    XXmmNNmmiinniimmuumm.

          XXmmNNmmiinniimmuumm
                    Specifies the slider's minimum value.  XXmmNNmmaaxxiimmuumm
                    must be greater than XXmmNNmmiinniimmuumm.

          XXmmNNoorriieennttaattiioonn
                    Specifies whether the ScrollBar is displayed
                    vertically or horizontally.  This resource can
                    have values of XXmmVVEERRTTIICCAALL and XXmmHHOORRIIZZOONNTTAALL.

          XXmmNNppaaggeeDDeeccrreemmeennttCCaallllbbaacckk
                    Specifies the list of callbacks that is called
                    when the user takes an action that moves the
                    ScrollBar by one page increment and the value
                    decreases.  The reason passed to the callback is
                    XXmmCCRR__PPAAGGEE__DDEECCRREEMMEENNTT.

          XXmmNNppaaggeeIInnccrreemmeenntt
                    Specifies the amount by which the value increases
                    or decreases when the user takes an action that
                    moves the slider by one page increment.  The
                    actual change in value is the lesser of
                    XXmmNNppaaggeeIInnccrreemmeenntt and (previous XXmmNNvvaalluuee -
                    XXmmNNmmiinniimmuumm) when the slider moves to the end of




     2-521                                            (printed 5/7/92)






     XXmmSSccrroollllBBaarr((33XX))          RReeffeerreennccee PPaaggeess          XXmmSSccrroollllBBaarr((33XX))



                    the ScrollBar with the minimum value, and the
                    lesser of XXmmNNppaaggeeIInnccrreemmeenntt and (XXmmNNmmaaxxiimmuumm-
                    XXmmNNsslliiddeerrSSiizzee - previous XXmmNNvvaalluuee) when the slider
                    moves to the end of the ScrollBar with the maximum
                    value.  The value of this resource must be greater
                    than 0.

          XXmmNNppaaggeeIInnccrreemmeennttCCaallllbbaacckk
                    Specifies the list of callbacks that is called
                    when the user takes an action that moves the
                    ScrollBar by one page increment and the value
                    increases.  The reason passed to the callback is
                    XXmmCCRR__PPAAGGEE__IINNCCRREEMMEENNTT.

          XXmmNNpprroocceessssiinnggDDiirreeccttiioonn
                    Specifies whether the value for XXmmNNmmaaxxiimmuumm should
                    be on the right or left side of XXmmNNmmiinniimmuumm for
                    horizontal ScrollBars or above or below XXmmNNmmiinniimmuumm
                    for vertical ScrollBars.  This resource can have
                    values of XXmmMMAAXX__OONN__TTOOPP,,
                    XXmmMMAAXX__OONN__BBOOTTTTOOMM,,XXmmMMAAXX__OONN__LLEEFFTT, and XXmmMMAAXX__OONN__RRIIGGHHTT.
                    If the XmScrollBar is oriented vertically, the
                    default value is XXmmMMAAXX__OONN__BBOOTTTTOOMM.  If the
                    XmScrollBar is oriented horizontally, the default
                    value may depend on the value of the
                    XXmmNNssttrriinnggDDiirreeccttiioonn resource.

          XXmmNNrreeppeeaattDDeellaayy
                    Specifies the amount of time in milliseconds to
                    wait between subsequent slider movements after the
                    XXmmNNiinniittiiaallDDeellaayy has been processed.  The value of
                    this resource must be greater than 0.

          XXmmNNsshhoowwAArrrroowwss
                    Specifies whether the arrows are displayed.

          XXmmNNsslliiddeerrSSiizzee
                    Specifies the length of the slider between the
                    values of 1 and (XXmmNNmmaaxxiimmuumm - XXmmNNmmiinniimmuumm).  The
                    value is constrained to be within these inclusive
                    bounds.  The default value is (XXmmNNmmaaxxiimmuumm -
                    XXmmNNmmiinniimmuumm) divided by 10, with a minimum of 1.













     2-522                                            (printed 5/7/92)






     XXmmSSccrroollllBBaarr((33XX))          RReeffeerreennccee PPaaggeess          XXmmSSccrroollllBBaarr((33XX))



          XXmmNNttooBBoottttoommCCaallllbbaacckk
                    Specifies the list of callbacks that is called
                    when the user takes an action that moves the
                    slider to the end of the ScrollBar with the
                    maximum value.  The reason passed to the callback
                    is XXmmCCRR__TTOO__BBOOTTTTOOMM.

          XXmmNNttooTTooppCCaallllbbaacckk
                    Specifies the list of callbacks that is called
                    when the user takes an action that moves the
                    slider to the end of the ScrollBar with the
                    minimum value.  The reason passed to the callback
                    is XXmmCCRR__TTOO__TTOOPP.

          XXmmNNttrroouugghhCCoolloorr
                    Specifies the color of the slider trough.

          XXmmNNvvaalluuee  Specifies the slider's position, between
                    XXmmNNmmiinniimmuumm and (XXmmNNmmaaxxiimmuumm - XXmmNNsslliiddeerrSSiizzee).  The
                    value is constrained to be within these inclusive
                    bounds.  The initial value of this resource is the
                    larger of 0 and XXmmNNmmiinniimmuumm.

          XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk
                    Specifies the list of callbacks that is called
                    when the slider is released after being dragged.
                    These callbacks are also called in place of
                    XXmmNNiinnccrreemmeennttCCaallllbbaacckk, XXmmNNddeeccrreemmeennttCCaallllbbaacckk,
                    XXmmNNppaaggeeIInnccrreemmeennttCCaallllbbaacckk,
                    XXmmNNppaaggeeDDeeccrreemmeennttCCaallllbbaacckk, XXmmNNttooTTooppCCaallllbbaacckk, or
                    XXmmNNttooBBoottttoommCCaallllbbaacckk when one of these callback
                    lists would normally be called but the value of
                    the corresponding resource is NULL.  The reason
                    passed to the callback is XXmmCCRR__VVAALLUUEE__CCHHAANNGGEEDD.


        IInnhheerriitteedd RReessoouurrcceess
          ScrollBar inherits behavior and resources from the following
          superclasses.  For a complete description of each resource,
          refer to the man page for that superclass.

                                         XXmmPPrriimmiittiivvee RReessoouurrccee SSeett
     NNaammee                    CCllaassss                   TTyyppee               DDeeffaauulltt                AAcccceessss
     ________________________________________________________________________________________________
     XmNbottomShadowColor    XmCBottomShadowColor    Pixel              dynamic                CSG
     XmNbottomShadowPixmap   XmCBottomShadowPixmap   Pixmap             XmUNSPECIFIED_PIXMAP   CSG
     XmNforeground           XmCForeground           Pixel              dynamic                CSG
     XmNhelpCallback         XmCCallback             XtCallbackList     NULL                   C







     2-523                                            (printed 5/7/92)






     XXmmSSccrroollllBBaarr((33XX))          RReeffeerreennccee PPaaggeess          XXmmSSccrroollllBBaarr((33XX))



     XmNhighlightColor       XmCHighlightColor       Pixel              dynamic                CSG
     XmNhighlightOnEnter     XmCHighlightOnEnter     Boolean            False                  CSG
     XmNhighlightPixmap      XmCHighlightPixmap      Pixmap             dynamic                CSG
     XmNhighlightThickness   XmCHighlightThickness   Dimension          dynamic                CSG
     XmNnavigationType       XmCNavigationType       XmNavigationType   XmSTICKY_TAB_GROUP     CSG
     XmNshadowThickness      XmCShadowThickness      Dimension          2                      CSG
     XmNtopShadowColor       XmCTopShadowColor       Pixel              dynamic                CSG
     XmNtopShadowPixmap      XmCTopShadowPixmap      Pixmap             dynamic                CSG
     XmNtraversalOn          XmCTraversalOn          Boolean            dynamic                CSG
     XmNuserData             XmCUserData             XtPointer          NULL                   CSG

                                                   CCoorree RReessoouurrccee SSeett
     NNaammee                            CCllaassss                           TTyyppee             DDeeffaauulltt                AAcccceessss
     ______________________________________________________________________________________________________________
     XmNaccelerators                 XmCAccelerators                 XtAccelerators   dynamic                CSG
     XmNancestorSensitive            XmCSensitive                    Boolean          dynamic                G
     XmNbackground                   XmCBackground                   Pixel            dynamic                CSG
     XmNbackgroundPixmap             XmCPixmap                       Pixmap           XmUNSPECIFIED_PIXMAP   CSG
     XmNborderColor                  XmCBorderColor                  Pixel            XtDefaultForeground    CSG
     XmNborderPixmap                 XmCPixmap                       Pixmap           XmUNSPECIFIED_PIXMAP   CSG
     XmNborderWidth                  XmCBorderWidth                  Dimension        0                      CSG
     XmNcolormap                     XmCColormap                     Colormap         dynamic                CG
     XmNdepth                        XmCDepth                        int              dynamic                CG
     XmNdestroyCallback              XmCCallback                     XtCallbackList   NULL                   C
     XmNheight                       XmCHeight                       Dimension        dynamic                CSG
     XmNinitialResourcesPersistent   XmCInitialResourcesPersistent   Boolean          True                   C
     XmNmappedWhenManaged            XmCMappedWhenManaged            Boolean          True                   CSG
     XmNscreen                       XmCScreen                       Screen *         dynamic                CG
     XmNsensitive                    XmCSensitive                    Boolean          True                   CSG
     XmNtranslations                 XmCTranslations                 XtTranslations   dynamic                CSG
     XmNwidth                        XmCWidth                        Dimension        dynamic                CSG
     XmNx                            XmCPosition                     Position         0                      CSG
     XmNy                            XmCPosition                     Position         0                      CSG

        CCaallllbbaacckk IInnffoorrmmaattiioonn
          A pointer to the following structure is passed to each
          callback:

          ttyyppeeddeeff ssttrruucctt
          {{
            iinntt      _r_e_a_s_o_n;;
            XXEEvveenntt   * _e_v_e_n_t;;
            iinntt      _v_a_l_u_e;;
            iinntt      _p_i_x_e_l;;
          }} XXmmSSccrroollllBBaarrCCaallllbbaacckkSSttrruucctt;;


          _r_e_a_s_o_n Indicates why the callback was invoked.

          _e_v_e_n_t  Points to the XXEEvveenntt that triggered the callback.

          _v_a_l_u_e  Contains the new slider location value.



     2-524                                            (printed 5/7/92)






     XXmmSSccrroollllBBaarr((33XX))          RReeffeerreennccee PPaaggeess          XXmmSSccrroollllBBaarr((33XX))



          _p_i_x_e_l  Is used only for XXmmNNttooTTooppCCaallllbbaacckk and
                 XXmmNNttooBBoottttoommCCaallllbbaacckk.  For horizontal ScrollBars, it
                 contains the _x coordinate of where the mouse button
                 selection occurred.  For vertical ScrollBars, it
                 contains the _y coordinate.


        AAccttiioonn RRoouuttiinneess
          The ScrollBar action routines are described below:


          CCaanncceellDDrraagg(()):
                    If the key press occurs during scrolling, cancels
                    the scroll and returns the slider to its previous
                    location in the scrollbar, otherwise, and if the
                    parent is a manager, it passes the event to the
                    parent.

          IInnccrreemmeennttDDoowwnnOOrrRRiigghhtt((00||11)):
                    With an argument of 0, moves the slider down by
                    one increment.  With an argument of 1, moves the
                    slider right by one increment.  If
                    XXmmNNpprroocceessssiinnggDDiirreeccttiioonn is XXmmMMAAXX__OONN__RRIIGGHHTT or
                    XXmmMMAAXX__OONN__BBOOTTTTOOMM, movement toward the right or
                    bottom calls the callbacks for
                    XXmmNNiinnccrreemmeennttCCaallllbbaacckk.  If XXmmNNpprroocceessssiinnggDDiirreeccttiioonn
                    is XXmmMMAAXX__OONN__LLEEFFTT or XXmmMMAAXX__OONN__TTOOPP, movement toward
                    the right or bottom calls the callbacks for
                    XXmmNNddeeccrreemmeennttCCaallllbbaacckk.  The XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk
                    is called if the XXmmNNiinnccrreemmeennttCCaallllbbaacckk or
                    XXmmNNddeeccrreemmeennttCCaallllbbaacckk is NULL.

          IInnccrreemmeennttUUppOOrrLLeefftt((00||11)):
                    With an argument of 0, moves the slider up by one
                    increment.  With an argument of 1, moves the
                    slider left by one increment.  If
                    XXmmNNpprroocceessssiinnggDDiirreeccttiioonn is XXmmMMAAXX__OONN__RRIIGGHHTT or
                    XXmmMMAAXX__OONN__BBOOTTTTOOMM, movement to the left or top calls
                    the callbacks for XXmmNNddeeccrreemmeennttCCaallllbbaacckk.  If
                    XXmmNNpprroocceessssiinnggDDiirreeccttiioonn is XXmmMMAAXX__OONN__LLEEFFTT or
                    XXmmMMAAXX__OONN__TTOOPP, movement to the left or top calls
                    the callbacks for XXmmNNiinnccrreemmeennttCCaallllbbaacckk.  The
                    XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk is called if the
                    XXmmNNiinnccrreemmeennttCCaallllbbaacckk or XXmmNNddeeccrreemmeennttCCaallllbbaacckk is
                    NULL.

          MMoovveedd(()):  If the button press occurs within the slider, the
                    subsequent motion events move the slider to the
                    position of the pointer and call the callbacks for
                    XXmmNNddrraaggCCaallllbbaacckk.

          PPaaggeeDDoowwnnOOrrRRiigghhtt((00||11)):



     2-525                                            (printed 5/7/92)






     XXmmSSccrroollllBBaarr((33XX))          RReeffeerreennccee PPaaggeess          XXmmSSccrroollllBBaarr((33XX))



                    With an argument of 0, moves the slider down by
                    one page increment.  With an argument of 1, moves
                    the slider right by one page increment.  If
                    XXmmNNpprroocceessssiinnggDDiirreeccttiioonn is XXmmMMAAXX__OONN__RRIIGGHHTT or
                    XXmmMMAAXX__OONN__BBOOTTTTOOMM, movement toward the right or
                    bottom calls the callbacks for
                    XXmmNNppaaggeeIInnccrreemmeennttCCaallllbbaacckk.  If
                    XXmmNNpprroocceessssiinnggDDiirreeccttiioonn is XXmmMMAAXX__OONN__LLEEFFTT or
                    XXmmMMAAXX__OONN__TTOOPP, movement toward the right or bottom
                    calls the callbacks for XXmmNNppaaggeeDDeeccrreemmeennttCCaallllbbaacckk.
                    The XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk is called if the
                    XXmmNNppaaggeeIInnccrreemmeennttCCaallllbbaacckk or
                    XXmmNNppaaggeeDDeeccrreemmeennttCCaallllbbaacckk is NULL.

          PPaaggeeUUppOOrrLLeefftt((00||11)):
                    With an argument of 0, moves the slider up by one
                    page increment.  With an argument of 1, moves the
                    slider left by one page increment.  If
                    XXmmNNpprroocceessssiinnggDDiirreeccttiioonn is XXmmMMAAXX__OONN__RRIIGGHHTT or
                    XXmmMMAAXX__OONN__BBOOTTTTOOMM, movement to the left or top calls
                    the callbacks for XXmmNNppaaggeeDDeeccrreemmeennttCCaallllbbaacckk.  If
                    XXmmNNpprroocceessssiinnggDDiirreeccttiioonn is XXmmMMAAXX__OONN__LLEEFFTT or
                    XXmmMMAAXX__OONN__TTOOPP, movement to the left or top calls
                    the callbacks for XXmmNNppaaggeeIInnccrreemmeennttCCaallllbbaacckk.  The
                    XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk is called if the
                    XXmmNNppaaggeeIInnccrreemmeennttCCaallllbbaacckk or
                    XXmmNNppaaggeeDDeeccrreemmeennttCCaallllbbaacckk is NULL.

          PPrriimmiittiivveeHHeellpp(()):
                    Calls the callbacks for XXmmNNhheellppCCaallllbbaacckk if any
                    exist.  If there are no help callbacks for this
                    widget, this action calls the help callbacks for
                    the nearest ancestor that has them.

          PPrriimmiittiivveeNNeexxttTTaabbGGrroouupp(()):
                    Traverses to the first item in the next tab group.
                    If the current tab group is the last entry in the
                    tab group list, it wraps to the beginning of the
                    tab group list.

          PPrriimmiittiivveePPaarreennttAAccttiivvaattee(()):
                    If the parent is a manager, passes the event to
                    the parent.

          PPrriimmiittiivveePPrreevvTTaabbGGrroouupp(()):
                    Traverses to the first item in the previous tab
                    group.  If the beginning of the tab group list is
                    reached, it wraps to the end of the tab group
                    list.

          RReelleeaassee(()):
                    If the button press occurs within the slider and



     2-526                                            (printed 5/7/92)






     XXmmSSccrroollllBBaarr((33XX))          RReeffeerreennccee PPaaggeess          XXmmSSccrroollllBBaarr((33XX))



                    the slider position is changed, the callbacks for
                    XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk are called.

          SSeelleecctt(()): ((iinn aarrrrooww)):  Moves the slider by one increment in
                    the direction of the arrow.  If
                    XXmmNNpprroocceessssiinnggDDiirreeccttiioonn is XXmmMMAAXX__OONN__RRIIGGHHTT or
                    XXmmMMAAXX__OONN__BBOOTTTTOOMM, movement toward the right or
                    bottom calls the callbacks for
                    XXmmNNiinnccrreemmeennttCCaallllbbaacckk, and movement to the left or
                    top calls the callbacks for XXmmNNddeeccrreemmeennttCCaallllbbaacckk.
                    If XXmmNNpprroocceessssiinnggDDiirreeccttiioonn is XXmmMMAAXX__OONN__LLEEFFTT or
                    XXmmMMAAXX__OONN__TTOOPP, movement toward the right or bottom
                    calls the callbacks for XXmmNNddeeccrreemmeennttCCaallllbbaacckk, and
                    movement to the left or top calls the callbacks
                    for XXmmNNiinnccrreemmeennttCCaallllbbaacckk.  The
                    XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk is called if the
                    XXmmNNiinnccrreemmeennttCCaallllbbaacckk or XXmmNNddeeccrreemmeennttCCaallllbbaacckk is
                    NULL.

                    ((iinn ssccrroollll rreeggiioonn bbeettwweeeenn aann aarrrrooww aanndd tthhee
                    sslliiddeerr)):  Moves the slider by one page increment
                    in the direction of the arrow.  If
                    XXmmNNpprroocceessssiinnggDDiirreeccttiioonn is XXmmMMAAXX__OONN__RRIIGGHHTT or
                    XXmmMMAAXX__OONN__BBOOTTTTOOMM, movement toward the right or
                    bottom calls the callbacks for
                    XXmmNNppaaggeeIInnccrreemmeennttCCaallllbbaacckk, and movement to the left
                    or top calls the callbacks for
                    XXmmNNppaaggeeDDeeccrreemmeennttCCaallllbbaacckk.  If
                    XXmmNNpprroocceessssiinnggDDiirreeccttiioonn is XXmmMMAAXX__OONN__LLEEFFTT or
                    XXmmMMAAXX__OONN__TTOOPP, movement toward the right or bottom
                    calls the callbacks for XXmmNNppaaggeeDDeeccrreemmeennttCCaallllbbaacckk,
                    and movement to the left or top calls the
                    callbacks for XXmmNNppaaggeeIInnccrreemmeennttCCaallllbbaacckk.  The
                    XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk is called if the
                    XXmmNNppaaggeeIInnccrreemmeennttCCaallllbbaacckk or
                    XXmmNNppaaggeeDDeeccrreemmeennttCCaallllbbaacckk is NULL.

                    ((iinn sslliiddeerr)):  Activates the interactive dragging
                    of the slider.

                    If the button is held down in either the arrows or
                    the scroll region longer than the XXmmNNiinniittiiaallDDeellaayy
                    resource, the slider is moved again by the same
                    increment and the same callbacks are called.
                    After the initial delay has been used, the time
                    delay changes to the time defined by the resource
                    XXmmNNrreeppeeaattDDeellaayy.

          TTooppOOrrBBoottttoomm(()):
                    MMCCttrrll BBSSeelleecctt PPrreessss in an arrow or in the scroll
                    region between an arrow and the slider moves the
                    slider as far as possible in the direction of the



     2-527                                            (printed 5/7/92)






     XXmmSSccrroollllBBaarr((33XX))          RReeffeerreennccee PPaaggeess          XXmmSSccrroollllBBaarr((33XX))



                    arrow.  If XXmmNNpprroocceessssiinnggDDiirreeccttiioonn is
                    XXmmMMAAXX__OONN__RRIIGGHHTT or XXmmMMAAXX__OONN__BBOOTTTTOOMM, movement toward
                    the right or bottom calls the callbacks for
                    XXmmNNttooBBoottttoommCCaallllbbaacckk, and movement to the left or
                    top calls the callbacks for XXmmNNttooTTooppCCaallllbbaacckk.  If
                    XXmmNNpprroocceessssiinnggDDiirreeccttiioonn is XXmmMMAAXX__OONN__LLEEFFTT or
                    XXmmMMAAXX__OONN__TTOOPP, movement toward the right or bottom
                    calls the callbacks for XXmmNNttooTTooppCCaallllbbaacckk, and
                    movement to the left or top calls the callbacks
                    for XXmmNNttooBBoottttoommCCaallllbbaacckk.  The
                    XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk is called if the
                    XXmmNNttooTTooppCCaallllbbaacckk or XXmmNNttooBBoottttoommCCaallllbbaacckk is NULL.
                    Pressing KKBBeeggiinnLLiinnee or KKBBeeggiinnDDaattaa moves the slider
                    to the minimum value and invokes the
                    XXmmNNttooTTooppCCaallllbbaacckk.  Pressing KKEEnnddLLiinnee or KKEEnnddDDaattaa
                    moves the slider to the maximum value and invokes
                    the XXmmNNttooBBoottttoommCCaallllbbaacckk.


     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          CCoorree((33XX)), XXmmCCrreeaatteeSSccrroollllBBaarr((33XX)), XXmmPPrriimmiittiivvee((33XX)),
          XXmmSSccrroollllBBaarrGGeettVVaalluueess((33XX)), and XXmmSSccrroollllBBaarrSSeettVVaalluueess((33XX)).

































     2-528                                            (printed 5/7/92)






     XXmmSSccrroollllBBaarrGGeettVVaalluueess((33XX)) RReeffeerreennccee PPaaggeess XXmmSSccrroollllBBaarrGGeettVVaalluueess((33XX))



     NNAAMMEE
          XXmmSSccrroollllBBaarrGGeettVVaalluueess-A ScrollBar function that returns the
          ScrollBar's increment values

     AAEESS SSUUPPPPOORRTT LLEEVVEELL
          Full-use

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//SSccrroollllBBaarr..hh>>

          vvooiidd XXmmSSccrroollllBBaarrGGeettVVaalluueess ((_w_i_d_g_e_t, _v_a_l_u_e__r_e_t_u_r_n,
                    _s_l_i_d_e_r__s_i_z_e__r_e_t_u_r_n, _i_n_c_r_e_m_e_n_t__r_e_t_u_r_n, _p_a_g_e__i_n_c_r_e_m_e_n_t__r_e_t_u_r_n))
               WWiiddggeett      _w_i_d_g_e_t;;
               iinntt         * _v_a_l_u_e__r_e_t_u_r_n;;
               iinntt         * _s_l_i_d_e_r__s_i_z_e__r_e_t_u_r_n;;
               iinntt         * _i_n_c_r_e_m_e_n_t__r_e_t_u_r_n;;
               iinntt         * _p_a_g_e__i_n_c_r_e_m_e_n_t__r_e_t_u_r_n;;


     DDEESSCCRRIIPPTTIIOONN
          XXmmSSccrroollllBBaarrGGeettVVaalluueess returns the the ScrollBar's increment
          values.  The scroll region is overlaid with a slider bar
          that is adjusted in size and position using the main
          ScrollBar or set slider function attributes.


          _w_i_d_g_e_t           Specifies the ScrollBar widget ID.

          _v_a_l_u_e__r_e_t_u_r_n     Returns the ScrollBar's slider position
                           between the XXmmNNmmiinniimmuumm and XXmmNNmmaaxxiimmuumm
                           resources.

          _s_l_i_d_e_r__s_i_z_e__r_e_t_u_r_n
                           Returns the size of the slider as a value
                           between zero and the absolute value of
                           XXmmNNmmaaxxiimmuumm minus XXmmNNmmiinniimmuumm.  The size of
                           the slider varies, depending on how much of
                           the slider scroll area it represents.

          _i_n_c_r_e_m_e_n_t__r_e_t_u_r_n Returns the amount of increment and
                           decrement.

          _p_a_g_e__i_n_c_r_e_m_e_n_t__r_e_t_u_r_n
                           Returns the amount of page increment and
                           decrement.


          For a complete definition of ScrollBar and its associated
          resources, see XXmmSSccrroollllBBaarr((33XX)).

     RREETTUURRNN VVAALLUUEE
          Returns the ScrollBar's increment values.



     2-529                                            (printed 5/7/92)






     XXmmSSccrroollllBBaarrGGeettVVaalluueess((33XX)) RReeffeerreennccee PPaaggeess XXmmSSccrroollllBBaarrGGeettVVaalluueess((33XX))



     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmSSccrroollllBBaarr((33XX)).





















































     2-530                                            (printed 5/7/92)






     XXmmSSccrroollllBBaarrSSeettVVaalluueess((33XX)) RReeffeerreennccee PPaaggeess XXmmSSccrroollllBBaarrSSeettVVaalluueess((33XX))



     NNAAMMEE
          XXmmSSccrroollllBBaarrSSeettVVaalluueess-A ScrollBar function that changes
          ScrollBar's increment values and the slider's size and
          position

     AAEESS SSUUPPPPOORRTT LLEEVVEELL
          Full-use

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//SSccrroollllBBaarr..hh>>

          vvooiidd XXmmSSccrroollllBBaarrSSeettVVaalluueess ((_w_i_d_g_e_t, _v_a_l_u_e,
                    _s_l_i_d_e_r__s_i_z_e, _i_n_c_r_e_m_e_n_t, _p_a_g_e__i_n_c_r_e_m_e_n_t, _n_o_t_i_f_y))
               WWiiddggeett    _w_i_d_g_e_t;;
               iinntt       _v_a_l_u_e;;
               iinntt       _s_l_i_d_e_r__s_i_z_e;;
               iinntt       _i_n_c_r_e_m_e_n_t;;
               iinntt       _p_a_g_e__i_n_c_r_e_m_e_n_t;;
               BBoooolleeaann   _n_o_t_i_f_y;;


     DDEESSCCRRIIPPTTIIOONN
          XXmmSSeettSSccrroollllBBaarrVVaalluueess changes the ScrollBar's increment
          values and the slider's size and position.  The scroll
          region is overlaid with a slider bar that is adjusted in
          size and position using the main ScrollBar or set slider
          function attributes.


          _w_i_d_g_e_t      Specifies the ScrollBar widget ID.

          _v_a_l_u_e       Specifies the ScrollBar's slider position
                      between XXmmNNmmiinniimmuumm and XXmmNNmmaaxxiimmuumm.  The resource
                      name associated with this argument is XXmmNNvvaalluuee.

          _s_l_i_d_e_r__s_i_z_e Specifies the size of the slider as a value
                      between zero and the absolute value of
                      XXmmNNmmaaxxiimmuumm minus XXmmNNmmiinniimmuumm.  The size of the
                      slider varies, depending on how much of the
                      slider scroll area it represents.  This sets the
                      XXmmNNsslliiddeerrSSiizzee resource associated with
                      ScrollBar.

          _i_n_c_r_e_m_e_n_t   Specifies the amount of button increment and
                      decrement.  If this argument is not zero, the
                      ScrollBar widget automatically adjusts the
                      slider when an increment or decrement action
                      occurs.  This sets the XXmmNNiinnccrreemmeenntt resource
                      associated with ScrollBar.

          _p_a_g_e__i_n_c_r_e_m_e_n_t
                      Specifies the amount of page increment and



     2-531                                            (printed 5/7/92)






     XXmmSSccrroollllBBaarrSSeettVVaalluueess((33XX)) RReeffeerreennccee PPaaggeess XXmmSSccrroollllBBaarrSSeettVVaalluueess((33XX))



                      decrement.  If this argument is not zero, the
                      ScrollBar widget automatically adjusts the
                      slider when an increment or decrement action
                      occurs.  This sets the XXmmNNppaaggeeIInnccrreemmeenntt resource
                      associated with ScrollBar.

          _n_o_t_i_f_y      Specifies a Boolean value that when True,
                      indicates a change in the ScrollBar value and
                      also specifies that the ScrollBar widget
                      automatically activates the
                      XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk with the recent change.
                      If False, specifies any change that has occurred
                      in the ScrollBar's value, but
                      XXmmNNvvaalluueeCChhaannggeeddCCaallllbbaacckk is not activated.


          For a complete definition of ScrollBar and its associated
          resources, see XXmmSSccrroollllBBaarr((33XX)).

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmSSccrroollllBBaarr((33XX)).


































     2-532                                            (printed 5/7/92)






     XXmmSSccrroolllleeddWWiinnddooww((33XX))     RReeffeerreennccee PPaaggeess     XXmmSSccrroolllleeddWWiinnddooww((33XX))



     NNAAMMEE
          XXmmSSccrroolllleeddWWiinnddooww-The ScrolledWindow widget class

     AAEESS SSUUPPPPOORRTT LLEEVVEELL
          Full-use

     HHIISSTTOORRYY//DDIIRREECCTTIIOONN
          The XXmmNNvviissuuaallPPoolliiccyy resource is obsolete and will be removed
          in favor of the XXmmNNssccrroolllliinnggPPoolliiccyy resource in Revision E.

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//SSccrroolllleeddWW..hh>>


     DDEESSCCRRIIPPTTIIOONN
          The ScrolledWindow widget combines one or two ScrollBar
          widgets and a viewing area to implement a visible window
          onto some other (usually larger) data display.  The visible
          part of the window can be scrolled through the larger
          display by the use of ScrollBars.

          To use ScrolledWindow, an application first creates a
          ScrolledWindow widget, any needed ScrollBar widgets, and a
          widget capable of displaying any desired data as the work
          area of ScrolledWindow.  ScrolledWindow positions the work
          area widget and displays the ScrollBars if so requested.
          When the user performs some action on the ScrollBar, the
          application is notified through the normal ScrollBar
          callback interface.

          ScrolledWindow can be configured to operate automatically so
          that it performs all scrolling and display actions with no
          need for application program involvement.  It can also be
          configured to provide a minimal support framework in which
          the application is responsible for processing all user input
          and making all visual changes to the displayed data in
          response to that input.

          When ScrolledWindow is performing automatic scrolling it
          creates a clipping window.  Conceptually, this window
          becomes the viewport through which the user examines the
          larger underlying data area.  The application simply creates
          the desired data, then makes that data the work area of the
          ScrolledWindow.  When the user moves the slider to change
          the displayed data, the workspace is moved under the viewing
          area so that a new portion of the data becomes visible.

          Sometimes it is impractical for an application to create a
          large data space and simply display it through a small
          clipping window.  For example, in a text editor, creating a
          single data area that consisted of a large file would
          involve an undesirable amount of overhead.  The application



     2-533                                            (printed 5/7/92)






     XXmmSSccrroolllleeddWWiinnddooww((33XX))     RReeffeerreennccee PPaaggeess     XXmmSSccrroolllleeddWWiinnddooww((33XX))



          needs to use a ScrolledWindow (a small viewport onto some
          larger data), but needs to be notified when the user
          scrolled the viewport so it could bring in more data from
          storage and update the display area.  For these cases the
          ScrolledWindow can be configured so that it provides only
          visual layout support.  No clipping window is created, and
          the application must maintain the data displayed in the work
          area, as well as respond to user input on the ScrollBars.

        CCllaasssseess
          ScrolledWindow inherits behavior and resources from CCoorree,
          CCoommppoossiittee, CCoonnssttrraaiinntt, and XXmmMMaannaaggeerr Classes.

          The class pointer is xxmmSSccrroolllleeddWWiinnddoowwWWiiddggeettCCllaassss.

          The class name is XXmmSSccrroolllleeddWWiinnddooww.

        NNeeww RReessoouurrcceess
          The following table defines a set of widget resources used
          by the programmer to specify data.  The programmer can also
          set the resource values for the inherited classes to set
          attributes for this widget.  To reference a resource by name
          or by class in a .Xdefaults file, remove the XXmmNN or XXmmCC
          prefix and use the remaining letters.  To specify one of the
          defined values for a resource in a .Xdefaults file, remove
          the XXmm prefix and use the remaining letters (in either
          lowercase or uppercase, but include any underscores between
          words).  The codes in the access column indicate if the
          given resource can be set at creation time (C), set by using
          XXttSSeettVVaalluueess (S), retrieved by using XXttGGeettVVaalluueess (G), or is
          not applicable (N/A).

                                             XXmmSSccrroolllleeddWWiinnddooww RReessoouurrccee SSeett
     NNaammee                            CCllaassss                           TTyyppee            DDeeffaauulltt                 AAcccceessss
     ______________________________________________________________________________________________________________
     XmNclipWindow                   XmCClipWindow                   Widget          dynamic                 G
     XmNhorizontalScrollBar          XmCHorizontalScrollBar          Widget          dynamic                 CSG
     XmNscrollBarDisplayPolicy       XmCScrollBarDisplayPolicy       unsigned char   dynamic                 CSG
     XmNscrollBarPlacement           XmCScrollBarPlacement           unsigned char   XmBOTTOM_RIGHT          CSG
     XmNscrolledWindowMarginHeight   XmCScrolledWindowMarginHeight   Dimension       0                       CSG
     XmNscrolledWindowMarginWidth    XmCScrolledWindowMarginWidth    Dimension       0                       CSG
     XmNscrollingPolicy              XmCScrollingPolicy              unsigned char   XmAPPLICATION_DEFINED   CG
     XmNspacing                      XmCSpacing                      Dimension       4                       CSG
     XmNverticalScrollBar            XmCVerticalScrollBar            Widget          dynamic                 CSG
     XmNvisualPolicy                 XmCVisualPolicy                 unsigned char   dynamic                 G
     XmNworkWindow                   XmCWorkWindow                   Widget          NULL                    CSG


          XXmmNNcclliippWWiinnddooww
                    Specifies the widget ID of the clipping area.
                    This is automatically created by ScrolledWindow
                    when the XXmmNNvviissuuaallPPoolliiccyy resource is set to



     2-534                                            (printed 5/7/92)






     XXmmSSccrroolllleeddWWiinnddooww((33XX))     RReeffeerreennccee PPaaggeess     XXmmSSccrroolllleeddWWiinnddooww((33XX))



                    XXmmCCOONNSSTTAANNTT and can only be read by the
                    application.  Any attempt to set this resource to
                    a new value causes a warning message to be printed
                    by the scrolled window.  If the XXmmNNvviissuuaallPPoolliiccyy
                    resource is set to XXmmVVAARRIIAABBLLEE, this resource is
                    set to NULL, and no clipping window is created.

          XXmmNNhhoorriizzoonnttaallSSccrroollllBBaarr
                    Specifies the widget ID of the horizontal
                    ScrollBar.  This is automatically created by
                    ScrolledWindow when the XXmmNNssccrroolllliinnggPPoolliiccyy is
                    initialized to XXmmAAUUTTOOMMAATTIICC; otherwise, the default
                    is NULL.

          XXmmNNssccrroollllBBaarrDDiissppllaayyPPoolliiccyy
                    Controls the automatic placement of the
                    ScrollBars.  If it is set to XXmmAASS__NNEEEEDDEEDD and if
                    XXmmNNssccrroolllliinnggPPoolliiccyy is set to XXmmAAUUTTOOMMAATTIICC,
                    ScrollBars are displayed only if the workspace
                    exceeds the clip area in one or both dimensions.
                    A resource value of XXmmSSTTAATTIICC causes the
                    ScrolledWindow to display the ScrollBars whenever
                    they are managed, regardless of the relationship
                    between the clip window and the work area.  This
                    resource must be XXmmSSTTAATTIICC when XXmmNNssccrroolllliinnggPPoolliiccyy
                    is XXmmAAPPPPLLIICCAATTIIOONN__DDEEFFIINNEEDD.  The default is
                    XXmmAASS__NNEEEEDDEEDD when XXmmNNssccrroolllliinnggPPoolliiccyy is
                    XXmmAAUUTTOOMMAATTIICC, and XXmmSSTTAATTIICC otherwise.

          XXmmNNssccrroollllBBaarrPPllaacceemmeenntt
                    Specifies the positioning of the ScrollBars in
                    relation to the work window.  The following are
                    the values:


                      +o  XXmmTTOOPP__LLEEFFTT-The horizontal ScrollBar is placed
                         above the work window; the vertical ScrollBar
                         to the left.

                      +o  XXmmBBOOTTTTOOMM__LLEEFFTT-The horizontal ScrollBar is
                         placed below the work window; the vertical
                         ScrollBar to the left.

                      +o  XXmmTTOOPP__RRIIGGHHTT-The horizontal ScrollBar is
                         placed above the work window; the vertical
                         ScrollBar to the right.

                      +o  XXmmBBOOTTTTOOMM__RRIIGGHHTT-The horizontal ScrollBar is
                         placed below the work window; the vertical
                         ScrollBar to the right.





     2-535                                            (printed 5/7/92)






     XXmmSSccrroolllleeddWWiinnddooww((33XX))     RReeffeerreennccee PPaaggeess     XXmmSSccrroolllleeddWWiinnddooww((33XX))



                    The default value may depend on the value of the
                    XXmmNNssttrriinnggDDiirreeccttiioonn resource.

          XXmmNNssccrroolllleeddWWiinnddoowwMMaarrggiinnHHeeiigghhtt
                    Specifies the margin height on the top and bottom
                    of the ScrolledWindow.

          XXmmNNssccrroolllleeddWWiinnddoowwMMaarrggiinnWWiiddtthh
                    Specifies the margin width on the right and left
                    sides of the ScrolledWindow.

          XXmmNNssccrroolllliinnggPPoolliiccyy
                    Performs automatic scrolling of the work area with
                    no application interaction.  If the value of this
                    resource is XXmmAAUUTTOOMMAATTIICC, ScrolledWindow
                    automatically creates the ScrollBars; attaches
                    callbacks to the ScrollBars; sets the visual
                    policy to XXmmCCOONNSSTTAANNTT; and automatically moves the
                    work area through the clip window in response to
                    any user interaction with the ScrollBars.  An
                    application can also add its own callbacks to the
                    ScrollBars.  This allows the application to be
                    notified of a scroll event without having to
                    perform any layout procedures.

                    NNOOTTEE:  Since the ScrolledWindow adds callbacks to
                    the ScrollBars, an application should not perform
                    an XXttRReemmoovveeAAllllCCaallllbbaacckkss on any of the ScrollBar
                    widgets.

                    When XXmmNNssccrroolllliinnggPPoolliiccyy is set to
                    XXmmAAPPPPLLIICCAATTIIOONN__DDEEFFIINNEEDD, the application is
                    responsible for all aspects of scrolling.  The
                    ScrollBars must be created by the application, and
                    it is responsible for performing any visual
                    changes in the work area in response to user
                    input.

                    This resource must be set to the desired policy at
                    the time the ScrolledWindow is created.  It cannot
                    be changed through SSeettVVaalluueess.

          XXmmNNssppaacciinngg
                    Specifies the distance that separates the
                    ScrollBars from the work window.

          XXmmNNvveerrttiiccaallSSccrroollllBBaarr
                    Specifies the widget ID of the vertical ScrollBar.
                    This is automatically created by ScrolledWindow
                    when the XXmmNNssccrroolllliinnggPPoolliiccyy is initialized to
                    XXmmAAUUTTOOMMAATTIICC; otherwise, the default is NULL.




     2-536                                            (printed 5/7/92)






     XXmmSSccrroolllleeddWWiinnddooww((33XX))     RReeffeerreennccee PPaaggeess     XXmmSSccrroolllleeddWWiinnddooww((33XX))



          XXmmNNvviissuuaallPPoolliiccyy
                    Grows the ScrolledWindow to match the size of the
                    work area, or it can be used as a static viewport
                    onto a larger data space.  If the visual policy is
                    XXmmVVAARRIIAABBLLEE, the ScrolledWindow forces the
                    ScrollBar display policy to XXmmSSTTAATTIICC and allow the
                    work area to grow or shrink at any time and
                    adjusts its layout to accommodate the new size.
                    When the policy is XXmmCCOONNSSTTAANNTT, the work area grows
                    or shrinks as requested, but a clipping window
                    forces the size of the visible portion to remain
                    constant.  The only time the viewing area can grow
                    is in response to a resize from the
                    ScrolledWindow's parent.  The default is
                    XXmmCCOONNSSTTAANNTT when XXmmNNssccrroolllliinnggPPoolliiccyy is XXmmAAUUTTOOMMAATTIICC,
                    and XXmmVVAARRIIAABBLLEE otherwise.

                    NNOOTTEE:  This resource must be set to the desired
                    policy at the time the ScrolledWindow is created.
                    It cannot be changed through SSeettVVaalluueess.

          XXmmNNwwoorrkkWWiinnddooww
                    Specifies the widget ID of the viewing area.


        IInnhheerriitteedd RReessoouurrcceess
          ScrolledWindow inherits behavior and resources from the
          following superclasses.  For a complete description of each
          resource, refer to the man page for that superclass.

                                          XXmmMMaannaaggeerr RReessoouurrccee SSeett
     NNaammee                    CCllaassss                   TTyyppee                DDeeffaauulltt                AAcccceessss
     _________________________________________________________________________________________________
     XmNbottomShadowColor    XmCBottomShadowColor    Pixel               dynamic                CSG
     XmNbottomShadowPixmap   XmCBottomShadowPixmap   Pixmap              XmUNSPECIFIED_PIXMAP   CSG
     XmNforeground           XmCForeground           Pixel               dynamic                CSG
     XmNhelpCallback         XmCCallback             XtCallbackList      NULL                   C
     XmNhighlightColor       XmCHighlightColor       Pixel               dynamic                CSG
     XmNhighlightPixmap      XmCHighlightPixmap      Pixmap              dynamic                CSG
     XmNnavigationType       XmCNavigationType       XmNavigationType    XmTAB_GROUP            CSG
     XmNshadowThickness      XmCShadowThickness      Dimension           dynamic                CSG
     XmNstringDirection      XmCStringDirection      XmStringDirection   dynamic                CG
     XmNtopShadowColor       XmCTopShadowColor       Pixel               dynamic                CSG
     XmNtopShadowPixmap      XmCTopShadowPixmap      Pixmap              dynamic                CSG
     XmNtraversalOn          XmCTraversalOn          Boolean             True                   CSG
     XmNuserData             XmCUserData             XtPointer           NULL                   CSG

                             CCoommppoossiittee RReessoouurrccee SSeett







     2-537                                            (printed 5/7/92)






     XXmmSSccrroolllleeddWWiinnddooww((33XX))     RReeffeerreennccee PPaaggeess     XXmmSSccrroolllleeddWWiinnddooww((33XX))



     NNaammee                CCllaassss               TTyyppee          DDeeffaauulltt   AAcccceessss
     ______________________________________________________________________
     XmNchildren         XmCReadOnly         WidgetList    NULL      G
     XmNinsertPosition   XmCInsertPosition   XtOrderProc   NULL      CSG
     XmNnumChildren      XmCReadOnly         Cardinal      0         G

                                                   CCoorree RReessoouurrccee SSeett
     NNaammee                            CCllaassss                           TTyyppee             DDeeffaauulltt                AAcccceessss
     ______________________________________________________________________________________________________________
     XmNaccelerators                 XmCAccelerators                 XtAccelerators   dynamic                CSG
     XmNancestorSensitive            XmCSensitive                    Boolean          dynamic                G
     XmNbackground                   XmCBackground                   Pixel            dynamic                CSG
     XmNbackgroundPixmap             XmCPixmap                       Pixmap           XmUNSPECIFIED_PIXMAP   CSG
     XmNborderColor                  XmCBorderColor                  Pixel            XtDefaultForeground    CSG
     XmNborderPixmap                 XmCPixmap                       Pixmap           XmUNSPECIFIED_PIXMAP   CSG
     XmNborderWidth                  XmCBorderWidth                  Dimension        0                      CSG
     XmNcolormap                     XmCColormap                     Colormap         dynamic                CG
     XmNdepth                        XmCDepth                        int              dynamic                CG
     XmNdestroyCallback              XmCCallback                     XtCallbackList   NULL                   C
     XmNheight                       XmCHeight                       Dimension        dynamic                CSG
     XmNinitialResourcesPersistent   XmCInitialResourcesPersistent   Boolean          True                   C
     XmNmappedWhenManaged            XmCMappedWhenManaged            Boolean          True                   CSG
     XmNscreen                       XmCScreen                       Screen *         dynamic                CG
     XmNsensitive                    XmCSensitive                    Boolean          True                   CSG
     XmNtranslations                 XmCTranslations                 XtTranslations   dynamic                CSG
     XmNwidth                        XmCWidth                        Dimension        dynamic                CSG
     XmNx                            XmCPosition                     Position         0                      CSG
     XmNy                            XmCPosition                     Position         0                      CSG

        CCaallllbbaacckk IInnffoorrmmaattiioonn
          ScrolledWindow defines no new callback structures.  The
          application must use the ScrollBar callbacks to be notified
          of user input.

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          CCoommppoossiittee((33XX)), CCoonnssttrraaiinntt((33XX)), CCoorree((33XX)),
          XXmmCCrreeaatteeSSccrroolllleeddWWiinnddooww((33XX)), XXmmMMaannaaggeerr((33XX)), and
          XXmmSSccrroolllleeddWWiinnddoowwSSeettAArreeaass((33XX)).

















     2-538                                            (printed 5/7/92)






     XXmmSSccrroolllleeddWWiinnddoowwSSeettAArreeaass((33RRXeXe)f)feerreennccee PPaaggXXememsSsSccrroolllleeddWWiinnddoowwSSeettAArreeaass((33XX))



     NNAAMMEE
          XXmmSSccrroolllleeddWWiinnddoowwSSeettAArreeaass-A ScrolledWindow function that adds
          or changes a window work region and a horizontal or vertical
          ScrollBar widget to the ScrolledWindow widget

     AAEESS SSUUPPPPOORRTT LLEEVVEELL
          Full-use

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//SSccrroolllleeddWW..hh>>

          vvooiidd XXmmSSccrroolllleeddWWiinnddoowwSSeettAArreeaass ((_w_i_d_g_e_t, _h_o_r_i_z_o_n_t_a_l__s_c_r_o_l_l_b_a_r, _v_e_r_t_i_c_a_l__s_c_r_o_l_l_b_a_r, _w_o_r_k__r_e_g_i_o_n))
               WWiiddggeett    _w_i_d_g_e_t;;
               WWiiddggeett    _h_o_r_i_z_o_n_t_a_l__s_c_r_o_l_l_b_a_r;;
               WWiiddggeett    _v_e_r_t_i_c_a_l__s_c_r_o_l_l_b_a_r;;
               WWiiddggeett    _w_o_r_k__r_e_g_i_o_n;;


     DDEESSCCRRIIPPTTIIOONN
          XXmmSSccrroolllleeddWWiinnddoowwSSeettAArreeaass adds or changes a window work
          region and a horizontal or vertical ScrollBar widget to the
          ScrolledWindow widget for the application.  Each widget is
          optional and may be passed as NULL.


          _w_i_d_g_e_t         Specifies the ScrolledWindow widget ID.

          _h_o_r_i_z_o_n_t_a_l__s_c_r_o_l_l_b_a_r
                         Specifies the ScrollBar widget ID for the
                         horizontal ScrollBar to be associated with
                         the ScrolledWindow widget.  Set this ID only
                         after creating an instance of the
                         ScrolledWindow widget.  The resource name
                         associated with this argument is
                         XXmmNNhhoorriizzoonnttaallSSccrroollllBBaarr.

          _v_e_r_t_i_c_a_l__s_c_r_o_l_l_b_a_r
                         Specifies the ScrollBar widget ID for the
                         vertical ScrollBar to be associated with the
                         ScrolledWindow widget.  Set this ID only
                         after creating an instance of the
                         ScrolledWindow widget.  The resource name
                         associated with this argument is
                         XXmmNNvveerrttiiccaallSSccrroollllBBaarr.

          _w_o_r_k__r_e_g_i_o_n    Specifies the widget ID for the work window
                         to be associated with the ScrolledWindow
                         widget.  Set this ID only after creating an
                         instance of the ScrolledWindow widget.  The
                         attribute name associated with this argument
                         is XXmmNNwwoorrkkWWiinnddooww.




     2-539                                            (printed 5/7/92)






     XXmmSSccrroolllleeddWWiinnddoowwSSeettAArreeaass((33RRXeXe)f)feerreennccee PPaaggXXememsSsSccrroolllleeddWWiinnddoowwSSeettAArreeaass((33XX))



          For a complete definition of ScrolledWindow and its
          associated resources, see XXmmSSccrroolllleeddWWiinnddooww((33XX)).

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmSSccrroolllleeddWWiinnddooww((33XX)).


















































     2-540                                            (printed 5/7/92)






     XXmmSSeelleeccttiioonnBBooxx((33XX))       RReeffeerreennccee PPaaggeess       XXmmSSeelleeccttiioonnBBooxx((33XX))



     NNAAMMEE
          XXmmSSeelleeccttiioonnBBooxx-The SelectionBox widget class

     AAEESS SSUUPPPPOORRTT LLEEVVEELL
          Full-use

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//SSeelleeccttiiooBB..hh>>


     DDEESSCCRRIIPPTTIIOONN
          SelectionBox is a general dialog widget that allows the user
          to select one item from a list.  By default a SelectionBox
          includes the following:


            +o  A scrolling list of alternatives

            +o  An editable text field for the selected alternative

            +o  Labels for the list and text field

            +o  Three or four buttons


          The default button labels are OOKK, CCaanncceell, and HHeellpp.  By
          default an AAppppllyy button is also created; if the parent of
          the SelectionBox is a DialogShell it is managed, and
          otherwise it is unmanaged.  Additional children may be added
          to the SelectionBox after creation.

          The user can select an item in two ways:  by scrolling
          through the list and selecting the desired item or by
          entering the item name directly into the text edit area.
          Selecting an item from the list causes that item name to
          appear in the selection text edit area.

          The user may select a new item as many times as desired.
          The item is not actually selected until the user presses the
          OOKK PushButton.

          The default value for the XXmmBBuulllleettiinnBBooaarrdd resource
          XXmmNNccaanncceellBBuuttttoonn is the Cancel button unless XXmmNNddiiaallooggTTyyppee is
          XXmmDDIIAALLOOGG__CCOOMMMMAANNDD, when the default is NULL.  The default
          value for the XXmmBBuulllleettiinnBBooaarrdd resource XXmmNNddeeffaauullttBBuuttttoonn is
          the OK button unless XXmmNNddiiaallooggTTyyppee is XXmmDDIIAALLOOGG__CCOOMMMMAANNDD, when
          the default is NULL.

        CCllaasssseess
          SelectionBox inherits behavior and resources from CCoorree,
          CCoommppoossiittee, CCoonnssttrraaiinntt, XXmmMMaannaaggeerr, and XXmmBBuulllleettiinnBBooaarrdd
          Classes.



     2-541                                            (printed 5/7/92)






     XXmmSSeelleeccttiioonnBBooxx((33XX))       RReeffeerreennccee PPaaggeess       XXmmSSeelleeccttiioonnBBooxx((33XX))



          The class pointer is xxmmSSeelleeccttiioonnBBooxxWWiiddggeettCCllaassss.

          The class name is XXmmSSeelleeccttiioonnBBooxx.

        NNeeww RReessoouurrcceess
          The following table defines a set of widget resources used
          by the programmer to specify data.  The programmer can also
          set the resource values for the inherited classes to set
          attributes for this widget.  To reference a resource by name
          or by class in a .Xdefaults file, remove the XXmmNN or XXmmCC
          prefix and use the remaining letters.  To specify one of the
          defined values for a resource in a .Xdefaults file, remove
          the XXmm prefix and use the remaining letters (in either
          lowercase or uppercase, but include any underscores between
          words).  The codes in the access column indicate if the
          given resource can be set at creation time (C), set by using
          XXttSSeettVVaalluueess (S), retrieved by using XXttGGeettVVaalluueess (G), or is
          not applicable (N/A).

                                  XXmmSSeelleeccttiioonnBBooxx RReessoouurrccee SSeett
     NNaammee                      CCllaassss                     TTyyppee             DDeeffaauulltt    AAcccceessss
     ______________________________________________________________________________________
     XmNapplyCallback          XmCCallback               XtCallbackList   NULL       C
     XmNapplyLabelString       XmCApplyLabelString       XmString         dynamic    CSG
     XmNcancelCallback         XmCCallback               XtCallbackList   NULL       C
     XmNcancelLabelString      XmCCancelLabelString      XmString         dynamic    CSG
     XmNdialogType             XmCDialogType             unsigned char    dynamic    CG
     XmNhelpLabelString        XmCHelpLabelString        XmString         dynamic    CSG
     XmNlistItemCount          XmCItemCount              int              0          CSG
     XmNlistItems              XmCItems                  XmStringTable    NULL       CSG
     XmNlistLabelString        XmCListLabelString        XmString         dynamic    CSG
     XmNlistVisibleItemCount   XmCVisibleItemCount       int              dynamic    CSG
     XmNminimizeButtons        XmCMinimizeButtons        Boolean          False      CSG
     XmNmustMatch              XmCMustMatch              Boolean          False      CSG
     XmNnoMatchCallback        XmCCallback               XtCallbackList   NULL       C
     XmNokCallback             XmCCallback               XtCallbackList   NULL       C
     XmNokLabelString          XmCOkLabelString          XmString         dynamic    CSG
     XmNselectionLabelString   XmCSelectionLabelString   XmString         dynamic    CSG
     XmNtextAccelerators       XmCTextAccelerators       XtAccelerators   default    C
     XmNtextColumns            XmCColumns                short            dynamic    CSG
     XmNtextString             XmCTextString             XmString         ""         CSG


          XXmmNNaappppllyyCCaallllbbaacckk
                    Specifies the list of callbacks called when the
                    user activates the AAppppllyy button.  The callback
                    reason is XXmmCCRR__AAPPPPLLYY.

          XXmmNNaappppllyyLLaabbeellSSttrriinngg
                    Specifies the string label for the AAppppllyy button.
                    The default for this resource depends on the
                    locale.  In the C locale the default is "Apply".



     2-542                                            (printed 5/7/92)






     XXmmSSeelleeccttiioonnBBooxx((33XX))       RReeffeerreennccee PPaaggeess       XXmmSSeelleeccttiioonnBBooxx((33XX))



          XXmmNNccaanncceellCCaallllbbaacckk
                    Specifies the list of callbacks called when the
                    user activates the CCaanncceell button.  The callback
                    reason is XXmmCCRR__CCAANNCCEELL.

          XXmmNNccaanncceellLLaabbeellSSttrriinngg
                    Specifies the string label for the CCaanncceell button.
                    The default for this resource depends on the
                    locale.  In the C locale the default is "Cancel".

          XXmmNNddiiaallooggTTyyppee
                    Determines the set of SelectionBox children
                    widgets that are created and managed at
                    initialization.  The following are possible
                    values:


                      +o  XXmmDDIIAALLOOGG__PPRROOMMPPTT-all standard children except
                         the list and list label are created, and all
                         except the AAppppllyy button are managed

                      +o  XXmmDDIIAALLOOGG__CCOOMMMMAANNDD-only the list, the selection
                         label, and the text field are created and
                         managed

                      +o  XXmmDDIIAALLOOGG__SSEELLEECCTTIIOONN-all standard children are
                         created and managed

                      +o  XXmmDDIIAALLOOGG__FFIILLEE__SSEELLEECCTTIIOONN-all standard children
                         are created and managed

                      +o  XXmmDDIIAALLOOGG__WWOORRKK__AARREEAA-all standard children are
                         created, and all except the AAppppllyy button are
                         managed


                    If the parent of the SelectionBox is a
                    DialogShell, the default is XXmmDDIIAALLOOGG__SSEELLEECCTTIIOONN;
                    otherwise, the default is XXmmDDIIAALLOOGG__WWOORRKK__AARREEAA.
                    XXmmCCrreeaatteePPrroommppttDDiiaalloogg and XXmmCCrreeaatteeSSeelleeccttiioonnDDiiaalloogg
                    set and append this resource to the creation
                    _a_r_g_l_i_s_t supplied by the application.  This
                    resource cannot be modified after creation.

          XXmmNNhheellppLLaabbeellSSttrriinngg
                    Specifies the string label for the HHeellpp button.
                    The default for this resource depends on the
                    locale.  In the C locale the default is "Help".

          XXmmNNlliissttIItteemmss
                    Specifies the items in the SelectionBox list.




     2-543                                            (printed 5/7/92)






     XXmmSSeelleeccttiioonnBBooxx((33XX))       RReeffeerreennccee PPaaggeess       XXmmSSeelleeccttiioonnBBooxx((33XX))



          XXmmNNlliissttIItteemmCCoouunntt
                    Specifies the number of items in the SelectionBox
                    list.  The value must not be negative.

          XXmmNNlliissttLLaabbeellSSttrriinngg
                    Specifies the string label to appear above the
                    SelectionBox list containing the selection items.
                    The default for this resource depends on the
                    locale.  In the C locale the default is "Items"
                    unless XXmmNNddiiaallooggTTyyppee is XXmmDDIIAALLOOGG__PPRROOMMPPTT; in that
                    case the default is NULL.

          XXmmNNlliissttVViissiibblleeIItteemmCCoouunntt
                    Specifies the number of items displayed in the
                    SelectionBox list.  The value must be greater than
                    0 unless XXmmNNddiiaallooggTTyyppee is XXmmDDIIAALLOOGG__PPRROOMMPPTT; in that
                    case the value is always 0.  The default is
                    dynamic based on the height of the list.

          XXmmNNmmiinniimmiizzeeBBuuttttoonnss
                    Sets the buttons to the width of the widest button
                    and height of the tallest button if False.  If
                    True, button width and height are not modified.
































     2-544                                            (printed 5/7/92)






     XXmmSSeelleeccttiioonnBBooxx((33XX))       RReeffeerreennccee PPaaggeess       XXmmSSeelleeccttiioonnBBooxx((33XX))



          XXmmNNmmuussttMMaattcchh
                    Specifies whether the selection widget should
                    check if the user's selection in the text edit
                    field has an exact match in the SelectionBox list
                    when the OOKK button is activated.  If the selection
                    does not have an exact match, and XXmmNNmmuussttMMaattcchh is
                    True, the XXmmNNnnooMMaattcchhCCaallllbbaacckk callbacks are called.
                    If the selection does have an exact match or if
                    XXmmNNmmuussttMMaattcchh is False, XXmmNNookkCCaallllbbaacckk callbacks are
                    called.

          XXmmNNnnooMMaattcchhCCaallllbbaacckk
                    Specifies the list of callbacks called when the
                    user makes a selection from the text edit field
                    that does not have an exact match with any of the
                    items in the list box.  The callback reason is
                    XXmmCCRR__NNOO__MMAATTCCHH.  Callbacks in this list are called
                    only if XXmmNNmmuussttMMaattcchh is true.

          XXmmNNookkCCaallllbbaacckk
                    Specifies the list of callbacks called when the
                    user activates the OOKK button.  The callback reason
                    is XXmmCCRR__OOKK.  If the selection text does not match
                    a list item, and XXmmNNmmuussttMMaattcchh is True, the
                    XXmmNNnnooMMaattcchhCCaallllbbaacckk callbacks are called instead.

          XXmmNNookkLLaabbeellSSttrriinngg
                    Specifies the string label for the OOKK button.  The
                    default for this resource depends on the locale.
                    In the C locale the default is "OK".

          XXmmNNsseelleeccttiioonnLLaabbeellSSttrriinngg
                    Specifies the string label for the selection text
                    edit field.  The default for this resource depends
                    on the locale.  In the C locale the default is
                    "Selection".

          XXmmNNtteexxttAAcccceelleerraattoorrss
                    Specifies translations added to the Text widget
                    child of the SelectionBox.  The default includes
                    bindings for the up and down keys for auto
                    selection of list items.  This resource is ignored
                    if XXmmNNaacccceelleerraattoorrss is initialized to a nondefault
                    value.











     2-545                                            (printed 5/7/92)






     XXmmSSeelleeccttiioonnBBooxx((33XX))       RReeffeerreennccee PPaaggeess       XXmmSSeelleeccttiioonnBBooxx((33XX))



          XXmmNNtteexxttCCoolluummnnss
                    Specifies the number of columns in the Text
                    widget.  The value must be greater than 0.

          XXmmNNtteexxttSSttrriinngg
                    Specifies the text in the text edit selection
                    field.


        IInnhheerriitteedd RReessoouurrcceess
          SelectionBox inherits behavior and resources from the
          following superclasses.  For a complete description of each
          resource, refer to the man page for that superclass.

                               XXmmBBuulllleettiinnBBooaarrdd RReessoouurrccee SSeett
     NNaammee                  CCllaassss                TTyyppee             DDeeffaauulltt        AAcccceessss
     _________________________________________________________________________________
     XmNallowOverlap       XmCAllowOverlap      Boolean          True           CSG
     XmNautoUnmanage       XmCAutoUnmanage      Boolean          True           CG
     XmNbuttonFontList     XmCButtonFontList    XmFontList       dynamic        CSG
     XmNcancelButton       XmCWidget            Widget           dynamic        SG
     XmNdefaultButton      XmCWidget            Widget           dynamic        SG
     XmNdefaultPosition    XmCDefaultPosition   Boolean          True           CSG
     XmNdialogStyle        XmCDialogStyle       unsigned char    dynamic        CSG
     XmNdialogTitle        XmCDialogTitle       XmString         NULL           CSG
     XmNfocusCallback      XmCCallback          XtCallbackList   NULL           C
     XmNlabelFontList      XmCLabelFontList     XmFontList       dynamic        CSG
     XmNmapCallback        XmCCallback          XtCallbackList   NULL           C
     XmNmarginHeight       XmCMarginHeight      Dimension        10             CSG
     XmNmarginWidth        XmCMarginWidth       Dimension        10             CSG
     XmNnoResize           XmCNoResize          Boolean          False          CSG
     XmNresizePolicy       XmCResizePolicy      unsigned char    XmRESIZE_ANY   CSG
     XmNshadowType         XmCShadowType        unsigned char    XmSHADOW_OUT   CSG
     XmNtextFontList       XmCTextFontList      XmFontList       dynamic        CSG
     XmNtextTranslations   XmCTranslations      XtTranslations   NULL           C
     XmNunmapCallback      XmCCallback          XtCallbackList   NULL           C

                                          XXmmMMaannaaggeerr RReessoouurrccee SSeett
     NNaammee                    CCllaassss                   TTyyppee                DDeeffaauulltt                AAcccceessss
     _________________________________________________________________________________________________
     XmNbottomShadowColor    XmCBottomShadowColor    Pixel               dynamic                CSG
     XmNbottomShadowPixmap   XmCBottomShadowPixmap   Pixmap              XmUNSPECIFIED_PIXMAP   CSG
     XmNforeground           XmCForeground           Pixel               dynamic                CSG
     XmNhelpCallback         XmCCallback             XtCallbackList      NULL                   C
     XmNhighlightColor       XmCHighlightColor       Pixel               dynamic                CSG
     XmNhighlightPixmap      XmCHighlightPixmap      Pixmap              dynamic                CSG
     XmNnavigationType       XmCNavigationType       XmNavigationType    XmTAB_GROUP            CSG
     XmNshadowThickness      XmCShadowThickness      Dimension           dynamic                CSG







     2-546                                            (printed 5/7/92)






     XXmmSSeelleeccttiioonnBBooxx((33XX))       RReeffeerreennccee PPaaggeess       XXmmSSeelleeccttiioonnBBooxx((33XX))



     XmNstringDirection      XmCStringDirection      XmStringDirection   dynamic                CG
     XmNtopShadowColor       XmCTopShadowColor       Pixel               dynamic                CSG
     XmNtopShadowPixmap      XmCTopShadowPixmap      Pixmap              dynamic                CSG
     XmNtraversalOn          XmCTraversalOn          Boolean             True                   CSG
     XmNuserData             XmCUserData             XtPointer           NULL                   CSG

                             CCoommppoossiittee RReessoouurrccee SSeett
     NNaammee                CCllaassss               TTyyppee          DDeeffaauulltt   AAcccceessss
     ______________________________________________________________________
     XmNchildren         XmCReadOnly         WidgetList    NULL      G
     XmNinsertPosition   XmCInsertPosition   XtOrderProc   NULL      CSG
     XmNnumChildren      XmCReadOnly         Cardinal      0         G

                                                   CCoorree RReessoouurrccee SSeett
     NNaammee                            CCllaassss                           TTyyppee             DDeeffaauulltt                AAcccceessss
     ______________________________________________________________________________________________________________
     XmNaccelerators                 XmCAccelerators                 XtAccelerators   dynamic                N/A
     XmNancestorSensitive            XmCSensitive                    Boolean          dynamic                G
     XmNbackground                   XmCBackground                   Pixel            dynamic                CSG
     XmNbackgroundPixmap             XmCPixmap                       Pixmap           XmUNSPECIFIED_PIXMAP   CSG
     XmNborderColor                  XmCBorderColor                  Pixel            XtDefaultForeground    CSG
     XmNborderPixmap                 XmCPixmap                       Pixmap           XmUNSPECIFIED_PIXMAP   CSG
     XmNborderWidth                  XmCBorderWidth                  Dimension        0                      CSG
     XmNcolormap                     XmCColormap                     Colormap         dynamic                CG
     XmNdepth                        XmCDepth                        int              dynamic                CG
     XmNdestroyCallback              XmCCallback                     XtCallbackList   NULL                   C
     XmNheight                       XmCHeight                       Dimension        dynamic                CSG
     XmNinitialResourcesPersistent   XmCInitialResourcesPersistent   Boolean          True                   C
     XmNmappedWhenManaged            XmCMappedWhenManaged            Boolean          True                   CSG
     XmNscreen                       XmCScreen                       Screen *         dynamic                CG
     XmNsensitive                    XmCSensitive                    Boolean          True                   CSG
     XmNtranslations                 XmCTranslations                 XtTranslations   dynamic                CSG
     XmNwidth                        XmCWidth                        Dimension        dynamic                CSG
     XmNx                            XmCPosition                     Position         0                      CSG
     XmNy                            XmCPosition                     Position         0                      CSG

        CCaallllbbaacckk IInnffoorrmmaattiioonn
          A pointer to the following structure is passed to each
          callback:

          ttyyppeeddeeff ssttrruucctt
          {{
            iinntt          _r_e_a_s_o_n;;
            XXEEvveenntt       * _e_v_e_n_t;;
            XXmmSSttrriinngg     _v_a_l_u_e;;
            iinntt          _l_e_n_g_t_h;;
          }} XXmmSSeelleeccttiioonnBBooxxCCaallllbbaacckkSSttrruucctt;;


          _r_e_a_s_o_n Indicates why the callback was invoked

          _e_v_e_n_t  Points to the XXEEvveenntt that triggered the callback



     2-547                                            (printed 5/7/92)






     XXmmSSeelleeccttiioonnBBooxx((33XX))       RReeffeerreennccee PPaaggeess       XXmmSSeelleeccttiioonnBBooxx((33XX))



          _v_a_l_u_e  Indicates the XXmmSSttrriinngg value selected by the user
                 from the SelectionBox list or entered into the
                 SelectionBox text field

          _l_e_n_g_t_h Indicates the size in bytes of the XXmmSSttrriinngg value


        AAccttiioonn RRoouuttiinneess
          The XmSelectionBox action routines are described below:


          SSeelleeccttiioonnBBooxxUUppOOrrDDoowwnn((00||11||22||33)):
                    When called with a 0 argument, selects the
                    previous item in the list and replaces the text
                    with that item.

                    When called with a 1 argument, selects the next
                    item in the list and replaces the text with that
                    item.

                    When called with a 2 argument, selects the first
                    item in the list and replaces the text with that
                    item.

                    When called with a 3 argument, selects the last
                    item in the list and replaces the text with that
                    item.

          SSeelleeccttiioonnBBooxxRReessttoorree(()):
                    Replaces the text value with the list selection.
                    If no item in the list is selected, clears the
                    text.



     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          CCoommppoossiittee((33XX)), CCoonnssttrraaiinntt((33XX)), CCoorree((33XX)),
          XXmmBBuulllleettiinnBBooaarrdd((33XX)), XXmmCCrreeaatteeSSeelleeccttiioonnBBooxx((33XX)),
          XXmmCCrreeaatteeSSeelleeccttiioonnDDiiaalloogg((33XX)), XXmmCCrreeaatteePPrroommppttDDiiaalloogg((33XX)),
          XXmmMMaannaaggeerr((33XX)), and XXmmSSeelleeccttiioonnBBooxxGGeettCChhiilldd((33XX)).















     2-548                                            (printed 5/7/92)






     XXmmSSeelleeccttiioonnBBooxxGGeettCChhiilldd((33XX))RReeffeerreennccee PPaaggeessXXmmSSeelleeccttiioonnBBooxxGGeettCChhiilldd((33XX))



     NNAAMMEE
          XXmmSSeelleeccttiioonnBBooxxGGeettCChhiilldd-A SelectionBox function that is used
          to access a component

     AAEESS SSUUPPPPOORRTT LLEEVVEELL
          Full-use

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//SSeelleeccttiiooBB..hh>>

          WWiiddggeett XXmmSSeelleeccttiioonnBBooxxGGeettCChhiilldd ((_w_i_d_g_e_t, _c_h_i_l_d))
               WWiiddggeett    _w_i_d_g_e_t;;
               uunnssiiggnneedd cchhaarr_c_h_i_l_d;;


     DDEESSCCRRIIPPTTIIOONN
          XXmmSSeelleeccttiioonnBBooxxGGeettCChhiilldd is used to access a component within
          a SelectionBox.  The parameters given to the function are
          the SelectionBox widget and a value indicating which
          component to access.


          _w_i_d_g_e_t Specifies the SelectionBox widget ID.

          _c_h_i_l_d  Specifies a component within the SelectionBox.  The
                 following are legal values for this parameter:


                   +o  XXmmDDIIAALLOOGG__AAPPPPLLYY__BBUUTTTTOONN

                   +o  XXmmDDIIAALLOOGG__CCAANNCCEELL__BBUUTTTTOONN

                   +o  XXmmDDIIAALLOOGG__DDEEFFAAUULLTT__BBUUTTTTOONN

                   +o  XXmmDDIIAALLOOGG__HHEELLPP__BBUUTTTTOONN

                   +o  XXmmDDIIAALLOOGG__LLIISSTT

                   +o  XXmmDDIIAALLOOGG__LLIISSTT__LLAABBEELL

                   +o  XXmmDDIIAALLOOGG__OOKK__BBUUTTTTOONN

                   +o  XXmmDDIIAALLOOGG__SSEELLEECCTTIIOONN__LLAABBEELL

                   +o  XXmmDDIIAALLOOGG__SSEEPPAARRAATTOORR

                   +o  XXmmDDIIAALLOOGG__TTEEXXTT

                   +o  XXmmDDIIAALLOOGG__WWOORRKK__AARREEAA


          For a complete definition of SelectionBox and its associated



     2-549                                            (printed 5/7/92)






     XXmmSSeelleeccttiioonnBBooxxGGeettCChhiilldd((33XX))RReeffeerreennccee PPaaggeessXXmmSSeelleeccttiioonnBBooxxGGeettCChhiilldd((33XX))



          resources, see XXmmSSeelleeccttiioonnBBooxx((33XX)).

     RREETTUURRNN VVAALLUUEE
          Returns the widget ID of the specified SelectionBox
          component.  An application should not assume that the
          returned widget will be of any particular class.

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmSSeelleeccttiioonnBBooxx((33XX)).














































     2-550                                            (printed 5/7/92)






     XXmmSSeeppaarraattoorr((33XX))          RReeffeerreennccee PPaaggeess          XXmmSSeeppaarraattoorr((33XX))



     NNAAMMEE
          XXmmSSeeppaarraattoorr-The Separator widget class

     AAEESS SSUUPPPPOORRTT LLEEVVEELL
          Full-use

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//SSeeppaarraattoorr..hh>>


     DDEESSCCRRIIPPTTIIOONN
          Separator is a primitive widget that separates items in a
          display.  Several different line drawing styles are
          provided, as well as horizontal or vertical orientation.

          The Separator line drawing is automatically centered within
          the height of the widget for a horizontal orientation and
          centered within the width of the widget for a vertical
          orientation.  An XXttSSeettVVaalluueess with a new XXmmNNsseeppaarraattoorrTTyyppee
          resizes the widget to its minimal height (for horizontal
          orientation) or its minimal width (for vertical orientation)
          unless height or width is explicitly set in the XXttSSeettVVaalluueess
          call.

          Separator does not draw shadows around the separator.  The
          Primitive resource XXmmNNsshhaaddoowwTThhiicckknneessss is used for the
          Separator's thickness when XXmmNNsseeppaarraattoorrTTyyppee is
          XXmmSSHHAADDOOWW__EETTCCHHEEDD__IINN or XXmmSSHHAADDOOWW__EETTCCHHEEDD__OOUUTT.

          Separator does not highlight and allows no traversing.  The
          primitive resource XXmmNNttrraavveerrssaallOOnn is forced to False.

          The XXmmNNsseeppaarraattoorrTTyyppee of XXmmNNOO__LLIINNEE provides an escape to the
          application programmer who needs a different style of
          drawing.  A pixmap the height of the widget can be created
          and used as the background pixmap by building an argument
          list using the XXmmNNbbaacckkggrroouunnddPPiixxmmaapp argument type as defined
          by CCoorree.  Whenever the widget is redrawn, its background is
          displayed containing the desired separator drawing.

        CCllaasssseess
          Separator inherits behavior and resources from CCoorree and
          XXmmPPrriimmiittiivvee Classes.

          The class pointer is xxmmSSeeppaarraattoorrWWiiddggeettCCllaassss.

          The class name is XXmmSSeeppaarraattoorr.

        NNeeww RReessoouurrcceess
          The following table defines a set of widget resources used
          by the programmer to specify data.  The programmer can also
          set the resource values for the inherited classes to set



     2-551                                            (printed 5/7/92)






     XXmmSSeeppaarraattoorr((33XX))          RReeffeerreennccee PPaaggeess          XXmmSSeeppaarraattoorr((33XX))



          attributes for this widget.  To reference a resource by name
          or by class in a .Xdefaults file, remove the XXmmNN or XXmmCC
          prefix and use the remaining letters.  To specify one of the
          defined values for a resource in a .Xdefaults file, remove
          the XXmm prefix and use the remaining letters (in either
          lowercase or uppercase, but include any underscores between
          words).  The codes in the access column indicate if the
          given resource can be set at creation time (C), set by using
          XXttSSeettVVaalluueess (S), retrieved by using XXttGGeettVVaalluueess (G), or is
          not applicable (N/A).

                                 XXmmSSeeppaarraattoorr RReessoouurrccee SSeett
     NNaammee               CCllaassss              TTyyppee            DDeeffaauulltt              AAcccceessss
     _________________________________________________________________________________
     XmNmargin          XmCMargin          Dimension       0                    CSG
     XmNorientation     XmCOrientation     unsigned char   XmHORIZONTAL         CSG
     XmNseparatorType   XmCSeparatorType   unsigned char   XmSHADOW_ETCHED_IN   CSG


          XXmmNNmmaarrggiinn For horizontal orientation, specifies the space on
                    the left and right sides between the border of the
                    Separator and the line drawn.  For vertical
                    orientation, specifies the space on the top and
                    bottom between the border of the Separator and the
                    line drawn.

          XXmmNNoorriieennttaattiioonn
                    Displays Separator vertically or horizontally.
                    This resource can have values of XXmmVVEERRTTIICCAALL and
                    XXmmHHOORRIIZZOONNTTAALL.

          XXmmNNsseeppaarraattoorrTTyyppee
                    Specifies the type of line drawing to be done in
                    the Separator widget.


                      +o  XXmmSSIINNGGLLEE__LLIINNEE-single line.

                      +o  XXmmDDOOUUBBLLEE__LLIINNEE-double line.

                      +o  XXmmSSIINNGGLLEE__DDAASSHHEEDD__LLIINNEE-single-dashed line.

                      +o  XXmmDDOOUUBBLLEE__DDAASSHHEEDD__LLIINNEE-double-dashed line.

                      +o  XXmmNNOO__LLIINNEE-no line.










     2-552                                            (printed 5/7/92)






     XXmmSSeeppaarraattoorr((33XX))          RReeffeerreennccee PPaaggeess          XXmmSSeeppaarraattoorr((33XX))



                      +o  XXmmSSHHAADDOOWW__EETTCCHHEEDD__IINN-double line giving the
                         effect of a line etched into the window.  The
                         thickness of the double line is equal to the
                         value of XXmmNNsshhaaddoowwTThhiicckknneessss.  For horizontal
                         orientation, the top line is drawn in
                         XXmmNNttooppSShhaaddoowwCCoolloorr and the bottom line is
                         drawn in XXmmNNbboottttoommSShhaaddoowwCCoolloorr.  For vertical
                         orientation, the left line is drawn in
                         XXmmNNttooppSShhaaddoowwCCoolloorr and the right line is drawn
                         in XXmmNNbboottttoommSShhaaddoowwCCoolloorr.

                      +o  XXmmSSHHAADDOOWW__EETTCCHHEEDD__OOUUTT-double line giving the
                         effect of an etched line coming out from the
                         window.  The thickness of the double line is
                         equal to the value of XXmmNNsshhaaddoowwTThhiicckknneessss.
                         For horizontal orientation, the top line is
                         drawn in XXmmNNbboottttoommSShhaaddoowwCCoolloorr and the bottom
                         line is drawn in XXmmNNttooppSShhaaddoowwCCoolloorr.  For
                         vertical orientation, the left line is drawn
                         in XXmmNNbboottttoommSShhaaddoowwCCoolloorr and the right line is
                         drawn in XXmmNNttooppSShhaaddoowwCCoolloorr.


        IInnhheerriitteedd RReessoouurrcceess
          Separator inherits behavior and resources from the following
          superclasses.  For a complete description of each resource,
          refer to the man page for that superclass.

                                         XXmmPPrriimmiittiivvee RReessoouurrccee SSeett
     NNaammee                    CCllaassss                   TTyyppee               DDeeffaauulltt                AAcccceessss
     ________________________________________________________________________________________________
     XmNbottomShadowColor    XmCBottomShadowColor    Pixel              dynamic                CSG
     XmNbottomShadowPixmap   XmCBottomShadowPixmap   Pixmap             XmUNSPECIFIED_PIXMAP   CSG
     XmNforeground           XmCForeground           Pixel              dynamic                CSG
     XmNhelpCallback         XmCCallback             XtCallbackList     NULL                   C
     XmNhighlightColor       XmCHighlightColor       Pixel              dynamic                CSG
     XmNhighlightOnEnter     XmCHighlightOnEnter     Boolean            False                  CSG
     XmNhighlightPixmap      XmCHighlightPixmap      Pixmap             dynamic                CSG
     XmNhighlightThickness   XmCHighlightThickness   Dimension          0                      CSG
     XmNnavigationType       XmCNavigationType       XmNavigationType   XmNONE                 CSG
     XmNshadowThickness      XmCShadowThickness      Dimension          2                      CSG
     XmNtopShadowColor       XmCTopShadowColor       Pixel              dynamic                CSG
     XmNtopShadowPixmap      XmCTopShadowPixmap      Pixmap             dynamic                CSG
     XmNtraversalOn          XmCTraversalOn          Boolean            False                  G
     XmNuserData             XmCUserData             XtPointer          NULL                   CSG

                                                   CCoorree RReessoouurrccee SSeett
     NNaammee                            CCllaassss                           TTyyppee             DDeeffaauulltt                AAcccceessss







     2-553                                            (printed 5/7/92)






     XXmmSSeeppaarraattoorr((33XX))          RReeffeerreennccee PPaaggeess          XXmmSSeeppaarraattoorr((33XX))



     ______________________________________________________________________________________________________________
     XmNaccelerators                 XmCAccelerators                 XtAccelerators   dynamic                CSG
     XmNancestorSensitive            XmCSensitive                    Boolean          dynamic                G
     XmNbackground                   XmCBackground                   Pixel            dynamic                CSG
     XmNbackgroundPixmap             XmCPixmap                       Pixmap           XmUNSPECIFIED_PIXMAP   CSG
     XmNborderColor                  XmCBorderColor                  Pixel            XtDefaultForeground    CSG
     XmNborderPixmap                 XmCPixmap                       Pixmap           XmUNSPECIFIED_PIXMAP   CSG
     XmNborderWidth                  XmCBorderWidth                  Dimension        0                      CSG
     XmNcolormap                     XmCColormap                     Colormap         dynamic                CG
     XmNdepth                        XmCDepth                        int              dynamic                CG
     XmNdestroyCallback              XmCCallback                     XtCallbackList   NULL                   C
     XmNheight                       XmCHeight                       Dimension        dynamic                CSG
     XmNinitialResourcesPersistent   XmCInitialResourcesPersistent   Boolean          True                   C
     XmNmappedWhenManaged            XmCMappedWhenManaged            Boolean          True                   CSG
     XmNscreen                       XmCScreen                       Screen *         dynamic                CG
     XmNsensitive                    XmCSensitive                    Boolean          True                   CSG
     XmNtranslations                 XmCTranslations                 XtTranslations   dynamic                CSG
     XmNwidth                        XmCWidth                        Dimension        dynamic                CSG
     XmNx                            XmCPosition                     Position         0                      CSG
     XmNy                            XmCPosition                     Position         0                      CSG

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          CCoorree((33XX)), XXmmCCrreeaatteeSSeeppaarraattoorr((33XX)), and XXmmPPrriimmiittiivvee((33XX)).
































     2-554                                            (printed 5/7/92)






     XXmmSSeeppaarraattoorrGGaaddggeett((33XX))    RReeffeerreennccee PPaaggeess    XXmmSSeeppaarraattoorrGGaaddggeett((33XX))



     NNAAMMEE
          XXmmSSeeppaarraattoorrGGaaddggeett-The SeparatorGadget widget class

     AAEESS SSUUPPPPOORRTT LLEEVVEELL
          Full-use

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//SSeeppaarraattooGG..hh>>


     DDEESSCCRRIIPPTTIIOONN
          SeparatorGadget separates items in a display.  Several line
          drawing styles are provided, as well as horizontal or
          vertical orientation.

          Lines drawn within the SeparatorGadget are automatically
          centered within the height of the gadget for a horizontal
          orientation and centered within the width of the gadget for
          a vertical orientation.  An XXttSSeettVVaalluueess with a new
          XXmmNNsseeppaarraattoorrTTyyppee resizes the widget to its minimal height
          (for horizontal orientation) or its minimal width (for
          vertical orientation) unless height or width is explicitly
          set in the XXttSSeettVVaalluueess call.

          SeparatorGadget does not draw shadows around the separator.
          The Gadget resource XXmmNNsshhaaddoowwTThhiicckknneessss is used for the
          SeparatorGadget's thickness when XXmmNNsseeppaarraattoorrTTyyppee is
          XXmmSSHHAADDOOWW__EETTCCHHEEDD__IINN or XXmmSSHHAADDOOWW__EETTCCHHEEDD__OOUUTT.

          SeparatorGadget does not highlight and allows no traversing.
          The Gadget resource XXmmNNttrraavveerrssaallOOnn is forced to False.

        CCllaasssseess
          SeparatorGadget inherits behavior and resources from OObbjjeecctt,
          RReeccttOObbjj, and XXmmGGaaddggeett Classes.

          The class pointer is xxmmSSeeppaarraattoorrGGaaddggeettCCllaassss.

          The class name is XXmmSSeeppaarraattoorrGGaaddggeett.

        NNeeww RReessoouurrcceess
          The following table defines a set of widget resources used
          by the programmer to specify data.  The programmer can also
          set the resource values for the inherited classes to set
          attributes for this widget.  To reference a resource by name
          or by class in a .Xdefaults file, remove the XXmmNN or XXmmCC
          prefix and use the remaining letters.  To specify one of the
          defined values for a resource in a .Xdefaults file, remove
          the XXmm prefix and use the remaining letters (in either
          lowercase or uppercase, but include any underscores between
          words).  The codes in the access column indicate if the
          given resource can be set at creation time (C), set by using



     2-555                                            (printed 5/7/92)






     XXmmSSeeppaarraattoorrGGaaddggeett((33XX))    RReeffeerreennccee PPaaggeess    XXmmSSeeppaarraattoorrGGaaddggeett((33XX))



          XXttSSeettVVaalluueess (S), retrieved by using XXttGGeettVVaalluueess (G), or is
          not applicable (N/A).

                              XXmmSSeeppaarraattoorrGGaaddggeett RReessoouurrccee SSeett
     NNaammee               CCllaassss              TTyyppee            DDeeffaauulltt              AAcccceessss
     _________________________________________________________________________________
     XmNmargin          XmCMargin          Dimension       0                    CSG
     XmNorientation     XmCOrientation     unsigned char   XmHORIZONTAL         CSG
     XmNseparatorType   XmCSeparatorType   unsigned char   XmSHADOW_ETCHED_IN   CSG

          XXmmNNmmaarrggiinn For horizontal orientation, specifies the space on
                    the left and right sides between the border of
                    SeparatorGadget and the line drawn.  For vertical
                    orientation, specifies the space on the top and
                    bottom between the border of SeparatorGadget and
                    the line drawn.

          XXmmNNoorriieennttaattiioonn
                    Specifies whether SeparatorGadget is displayed
                    vertically or horizontally.  This resource can
                    have values of XXmmVVEERRTTIICCAALL and XXmmHHOORRIIZZOONNTTAALL.

          XXmmNNsseeppaarraattoorrTTyyppee
                    Specifies the type of line drawing to be done in
                    the Separator widget.


                      +o  XXmmSSIINNGGLLEE__LLIINNEE-single line.

                      +o  XXmmDDOOUUBBLLEE__LLIINNEE-double line.

                      +o  XXmmSSIINNGGLLEE__DDAASSHHEEDD__LLIINNEE-single-dashed line.

                      +o  XXmmDDOOUUBBLLEE__DDAASSHHEEDD__LLIINNEE-double-dashed line.

                      +o  XXmmNNOO__LLIINNEE-no line.

                      +o  XXmmSSHHAADDOOWW__EETTCCHHEEDD__IINN-double line giving the
                         effect of a line etched into the window.  The
                         thickness of the double line is equal to the
                         value of XXmmNNsshhaaddoowwTThhiicckknneessss.  For horizontal
                         orientation, the top line is drawn in
                         XXmmNNttooppSShhaaddoowwCCoolloorr and the bottom line is
                         drawn in XXmmNNbboottttoommSShhaaddoowwCCoolloorr.  For vertical
                         orientation, the left line is drawn in
                         XXmmNNttooppSShhaaddoowwCCoolloorr and the right line is drawn
                         in  XXmmNNbboottttoommSShhaaddoowwCCoolloorr.

                      +o  XXmmSSHHAADDOOWW__EETTCCHHEEDD__OOUUTT-double line giving the
                         effect of an etched line coming out from the
                         window.  The thickness of the double line is
                         equal to the value of XXmmNNsshhaaddoowwTThhiicckknneessss.



     2-556                                            (printed 5/7/92)






     XXmmSSeeppaarraattoorrGGaaddggeett((33XX))    RReeffeerreennccee PPaaggeess    XXmmSSeeppaarraattoorrGGaaddggeett((33XX))



                         For horizontal orientation, the top line is
                         drawn in XXmmNNbboottttoommSShhaaddoowwCCoolloorr and the bottom
                         line is drawn in XXmmNNttooppSShhaaddoowwCCoolloorr.  For
                         vertical orientation, the left line is drawn
                         in XXmmNNbboottttoommSShhaaddoowwCCoolloorr and the right line is
                         drawn in XXmmNNttooppSShhaaddoowwCCoolloorr.


        IInnhheerriitteedd RReessoouurrcceess
          SeparatorGadget inherits behavior and resources from the
          following superclasses.  For a complete description of each
          resource, refer to the man page for that superclass.

                                    XXmmGGaaddggeett RReessoouurrccee SSeett
     NNaammee                    CCllaassss                   TTyyppee               DDeeffaauulltt   AAcccceessss
     ___________________________________________________________________________________
     XmNhelpCallback         XmCCallback             XtCallbackList     NULL      C
     XmNhighlightOnEnter     XmCHighlightOnEnter     Boolean            False     CSG
     XmNhighlightThickness   XmCHighlightThickness   Dimension          0         CSG
     XmNnavigationType       XmCNavigationType       XmNavigationType   XmNONE    CSG
     XmNshadowThickness      XmCShadowThickness      Dimension          2         CSG
     XmNtraversalOn          XmCTraversalOn          Boolean            False     G
     XmNuserData             XmCUserData             XtPointer          NULL      CSG

                              RReeccttOObbjj RReessoouurrccee SSeett
      NNaammee                   CCllaassss            TTyyppee        DDeeffaauulltt   AAcccceessss
      ____________________________________________________________________
      XmNancestorSensitive   XmCSensitive     Boolean     dynamic   G
      XmNborderWidth         XmCBorderWidth   Dimension   0         CSG
      XmNheight              XmCHeight        Dimension   dynamic   CSG
      XmNsensitive           XmCSensitive     Boolean     True      CSG
      XmNwidth               XmCWidth         Dimension   dynamic   CSG
      XmNx                   XmCPosition      Position    0         CSG
      XmNy                   XmCPosition      Position    0         CSG

                              OObbjjeecctt RReessoouurrccee SSeett
      NNaammee                 CCllaassss         TTyyppee             DDeeffaauulltt   AAcccceessss
      ____________________________________________________________________
      XmNdestroyCallback   XmCCallback   XtCallbackList   NULL      C

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          OObbjjeecctt((33XX)), RReeccttOObbjjeecctt((33XX)), XXmmCCrreeaatteeSSeeppaarraattoorrGGaaddggeett((33XX)), and
          XXmmGGaaddggeett((33XX)).












     2-557                                            (printed 5/7/92)






     XXmmSSeettMMeennuuCCuurrssoorr((33XX))      RReeffeerreennccee PPaaggeess      XXmmSSeettMMeennuuCCuurrssoorr((33XX))



     NNAAMMEE
          XXmmSSeettMMeennuuCCuurrssoorr-A RowColumn function that modifies the menu
          cursor for a client

     AAEESS SSUUPPPPOORRTT LLEEVVEELL
          Full-use

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//XXmm..hh>>

          vvooiidd XXmmSSeettMMeennuuCCuurrssoorr ((_d_i_s_p_l_a_y, _c_u_r_s_o_r_I_d))
               DDiissppllaayy   * _d_i_s_p_l_a_y;;
               CCuurrssoorr    _c_u_r_s_o_r_I_d;;


     DDEESSCCRRIIPPTTIIOONN
          XXmmSSeettMMeennuuCCuurrssoorr programmatically modifies the menu cursor
          for a client; after the cursor has been created by the
          client, this function registers the cursor with the menu
          system.  After calling this function, the specified cursor
          is displayed whenever this client displays a Motif menu on
          the indicated display.  The client can then specify
          different cursors on different displays.


          _d_i_s_p_l_a_ySpecifies the display to which the cursor is to be
                 associated

          _c_u_r_s_o_r_I_d
                 Specifies the XX cursor ID


          For a complete definition of the menu cursor resource, see
          XXmmRRoowwCCoolluummnn((33XX)).

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmRRoowwCCoolluummnn((33XX)).


















     2-558                                            (printed 5/7/92)






     XXmmSSeettPPrroottooccoollHHooookkss((33XX))   RReeffeerreennccee PPaaggeess   XXmmSSeettPPrroottooccoollHHooookkss((33XX))



     NNAAMMEE
          XXmmSSeettPPrroottooccoollHHooookkss-A VendorShell function that allows pre
          and post actions to be executed when a protocol message is
          received from MWM

     AAEESS SSUUPPPPOORRTT LLEEVVEELL
          Trial-use

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//XXmm..hh>>
          ##iinncclluuddee <<XXmm//PPrroottooccoollss..hh>>

          vvooiidd XXmmSSeettPPrroottooccoollHHooookkss ((_s_h_e_l_l, _p_r_o_p_e_r_t_y, _p_r_o_t_o_c_o_l, _p_r_e_h_o_o_k, _p_r_e__c_l_o_s_u_r_e,
                    _p_o_s_t_h_o_o_k, _p_o_s_t__c_l_o_s_u_r_e))
               WWiiddggeett         _s_h_e_l_l;;
               AAttoomm           _p_r_o_p_e_r_t_y;;
               AAttoomm           _p_r_o_t_o_c_o_l;;
               XXttCCaallllbbaacckkPPrroocc _p_r_e_h_o_o_k;;
               XXttPPooiinntteerr      _p_r_e__c_l_o_s_u_r_e;;
               XXttCCaallllbbaacckkPPrroocc _p_o_s_t_h_o_o_k;;
               XXttPPooiinntteerr      _p_o_s_t__c_l_o_s_u_r_e;;

          vvooiidd XXmmSSeettWWMMPPrroottooccoollHHooookkss ((_s_h_e_l_l, _p_r_o_t_o_c_o_l, _p_r_e_h_o_o_k, _p_r_e__c_l_o_s_u_r_e,
                    _p_o_s_t_h_o_o_k, _p_o_s_t__c_l_o_s_u_r_e))
               WWiiddggeett         _s_h_e_l_l;;
               AAttoomm           _p_r_o_t_o_c_o_l;;
               XXttCCaallllbbaacckkPPrroocc _p_r_e_h_o_o_k;;
               XXttPPooiinntteerr      _p_r_e__c_l_o_s_u_r_e;;
               XXttCCaallllbbaacckkPPrroocc _p_o_s_t_h_o_o_k;;
               XXttPPooiinntteerr      _p_o_s_t__c_l_o_s_u_r_e;;


     DDEESSCCRRIIPPTTIIOONN
          XXmmSSeettPPrroottooccoollHHooookkss is used by shells that want to have pre
          and post actions executed when a protocol message is
          received from MWM.  Since there is no guaranteed ordering in
          execution of event handlers or callback lists, this allows
          the shell to control the flow while leaving the protocol
          manager structures opaque.

          XXmmSSeettWWMMPPrroottooccoollHHooookkss is a convenience interface.  It calls
          XXmmSSeettPPrroottooccoollHHooookkss with the property value set to the atom
          returned by interning WWMM__PPRROOTTOOCCOOLLSS.


          _s_h_e_l_l     Specifies the widget with which the protocol
                    property is associated

          _p_r_o_p_e_r_t_y  Specifies the protocol property

          _p_r_o_t_o_c_o_l  Specifies the protocol atom (or an int cast to
                    Atom)



     2-559                                            (printed 5/7/92)






     XXmmSSeettPPrroottooccoollHHooookkss((33XX))   RReeffeerreennccee PPaaggeess   XXmmSSeettPPrroottooccoollHHooookkss((33XX))



          _p_r_e_h_o_o_k   Specifies the procedure to call before calling
                    entries on the client callback-list

          _p_r_e__c_l_o_s_u_r_e
                    Specifies the client data to be passed to the
                    prehook when it is invoked

          _p_o_s_t_h_o_o_k  Specifies the procedure to call after calling
                    entries on the client callback-list

          _p_o_s_t__c_l_o_s_u_r_e
                    Specifies the client data to be passed to the
                    posthook when it is invoked


          For a complete definition of VendorShell and its associated
          resources, see VVeennddoorrSShheellll((33XX)).

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          VVeennddoorrSShheellll((33XX)), XXmmIInntteerrnnAAttoomm((33XX)), and
          XXmmSSeettWWMMPPrroottooccoollHHooookkss((33XX)).


































     2-560                                            (printed 5/7/92)






     XXmmSSeettWWMMPPrroottooccoollHHooookkss((33XX)) RReeffeerreennccee PPaaggeess XXmmSSeettWWMMPPrroottooccoollHHooookkss((33XX))



     NNAAMMEE
          XXmmSSeettWWMMPPrroottooccoollHHooookkss-A VendorShell convenience interface
          that allows pre and post actions to be executed when a
          protocol message is received from the window manager

     AAEESS SSUUPPPPOORRTT LLEEVVEELL
          Trial-use

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//XXmm..hh>>
          ##iinncclluuddee <<XXmm//PPrroottooccoollss..hh>>

          vvooiidd XXmmSSeettWWMMPPrroottooccoollHHooookkss ((_s_h_e_l_l, _p_r_o_t_o_c_o_l, _p_r_e_h_o_o_k, _p_r_e__c_l_o_s_u_r_e, _p_o_s_t_h_o_o_k, _p_o_s_t__c_l_o_s_u_r_e))
               WWiiddggeett      _s_h_e_l_l;;
               AAttoomm        _p_r_o_t_o_c_o_l;;
               XXttCCaallllbbaacckkPPrroocc_p_r_e_h_o_o_k;;
               XXttPPooiinntteerr   _p_r_e__c_l_o_s_u_r_e;;
               XXttCCaallllbbaacckkPPrroocc_p_o_s_t_h_o_o_k;;
               XXttPPooiinntteerr   _p_o_s_t__c_l_o_s_u_r_e;;


     DDEESSCCRRIIPPTTIIOONN
          XXmmSSeettWWMMPPrroottooccoollHHooookkss is a convenience interface.  It calls
          XXmmSSeettPPrroottooccoollHHooookkss with the property value set to the atom
          returned by interning WWMM__PPRROOTTOOCCOOLLSS.


          _s_h_e_l_l     Specifies the widget with which the protocol
                    property is associated

          _p_r_o_t_o_c_o_l  Specifies the protocol atom (or an int cast to
                    Atom)

          _p_r_e_h_o_o_k   Specifies the procedure to call before calling
                    entries on the client callback-list

          _p_r_e__c_l_o_s_u_r_e
                    Specifies the client data to be passed to the
                    prehook when it is invoked

          _p_o_s_t_h_o_o_k  Specifies the procedure to call after calling
                    entries on the client callback-list

          _p_o_s_t__c_l_o_s_u_r_e
                    Specifies the client data to be passed to the
                    posthook when it is invoked


          For a complete definition of VendorShell and its associated
          resources, see VVeennddoorrSShheellll((33XX)).

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN



     2-561                                            (printed 5/7/92)






     XXmmSSeettWWMMPPrroottooccoollHHooookkss((33XX)) RReeffeerreennccee PPaaggeess XXmmSSeettWWMMPPrroottooccoollHHooookkss((33XX))



          VVeennddoorrSShheellll((33XX)), XXmmIInntteerrnnAAttoomm((33XX)), and
          XXmmSSeettPPrroottooccoollHHooookkss((33XX)).





















































     2-562                                            (printed 5/7/92)






     XXmmSSttrriinngg((33XX))             RReeffeerreennccee PPaaggeess             XXmmSSttrriinngg((33XX))



     NNAAMMEE
          XXmmSSttrriinngg-Data type for a compound string

     AAEESS SSUUPPPPOORRTT LLEEVVEELL
          Full-use

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//XXmm..hh>>


     DDEESSCCRRIIPPTTIIOONN
          XXmmSSttrriinngg is the data type for a compound string.  Compound
          strings include one or more segments, each of which may
          contain a font list element tag, string direction, and text
          component.  When a compound string is displayed, the font
          list element tag and the direction are used to determine how
          to display the text.

          Calling XXttGGeettVVaalluueess for a resource whose type is XmString
          yields a copy of the compound string resource value.  The
          application is responsible for using XXmmSSttrriinnggFFrreeee to free
          the memory allocated for the copy.

          Refer to the XXmmFFoonnttLLiisstt man page for a description of the
          algorithm that associates the font list element tag of a
          compound string segment with a font list entry in a font
          list.

          The compound string interface consists of the routines
          listed under "Related Information."

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmSSttrriinnggBBaasseelliinnee((33XX)), XXmmSSttrriinnggBByytteeCCoommppaarree((33XX)),
          XXmmSSttrriinnggCCoommppaarree((33XX)), XXmmSSttrriinnggCCoonnccaatt((33XX)), XXmmSSttrriinnggCCooppyy((33XX)),
          XXmmSSttrriinnggCCrreeaattee((33XX)), XXmmSSttrriinnggCCrreeaatteeLLttooRR((33XX)),
          XXmmSSttrriinnggCCrreeaatteeLLooccaalliizzeedd((33XX)), XXmmSSttrriinnggCCrreeaatteeSSiimmppllee((33XX)),
          XXmmSSttrriinnggDDiirreeccttiioonn((33XX)), XXmmSSttrriinnggDDrraaww((33XX)),
          XXmmSSttrriinnggDDrraawwIImmaaggee((33XX)), XXmmSSttrriinnggDDrraawwUUnnddeerrlliinnee((33XX)),
          XXmmSSttrriinnggEEmmppttyy((33XX)), XXmmSSttrriinnggEExxtteenntt((33XX)), XXmmSSttrriinnggFFrreeee((33XX)),
          XXmmSSttrriinnggFFrreeeeCCoonntteexxtt((33XX)), XXmmSSttrriinnggGGeettLLttooRR((33XX)),
          XXmmSSttrriinnggGGeettNNeexxttCCoommppoonneenntt((33XX)), XXmmSSttrriinnggGGeettNNeexxttSSeeggmmeenntt((33XX)),
          XXmmSSttrriinnggHHaassSSuubbssttrriinngg((33XX)), XXmmSSttrriinnggHHeeiigghhtt((33XX)),
          XXmmSSttrriinnggIInniittCCoonntteexxtt((33XX)), XXmmSSttrriinnggLLeennggtthh((33XX)),
          XXmmSSttrriinnggLLiinneeCCoouunntt((33XX)), XXmmSSttrriinnggNNCCoonnccaatt((33XX)),
          XXmmSSttrriinnggNNCCooppyy((33XX)), XXmmSSttrriinnggSSeeggmmeennttCCrreeaattee((33XX)),
          XXmmSSttrriinnggSSeeppaarraattoorrCCrreeaattee((33XX)), XXmmSSttrriinnggTTaabbllee((33XX)), and
          XXmmSSttrriinnggWWiiddtthh((33XX)).








     2-563                                            (printed 5/7/92)






     XXmmSSttrriinnggBBaasseelliinnee((33XX))     RReeffeerreennccee PPaaggeess     XXmmSSttrriinnggBBaasseelliinnee((33XX))



     NNAAMMEE
          XXmmSSttrriinnggBBaasseelliinnee-A compound string function that returns the
          number of pixels between the top of the character box and
          the baseline of the first line of text

     AAEESS SSUUPPPPOORRTT LLEEVVEELL
          Trial-use

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//XXmm..hh>>

          DDiimmeennssiioonn XXmmSSttrriinnggBBaasseelliinnee ((_f_o_n_t_l_i_s_t, _s_t_r_i_n_g))
               XXmmFFoonnttLLiisstt_f_o_n_t_l_i_s_t;;
               XXmmSSttrriinngg  _s_t_r_i_n_g;;


     DDEESSCCRRIIPPTTIIOONN
          XXmmSSttrriinnggBBaasseelliinnee returns the number of pixels between the
          top of the character box and the baseline of the first line
          of text in the provided compound string.

          When _s_t_r_i_n_g has been created with XXmmSSttrriinnggCCrreeaatteeSSiimmppllee, the
          font associated with the character set derived from the
          current language environment must appear at the front of
          _f_o_n_t_l_i_s_t.  Otherwise, the result of the function is
          undefined.


          _f_o_n_t_l_i_s_t
                 Specifies the font list

          _s_t_r_i_n_g Specifies the string


     RREETTUURRNN VVAALLUUEE
          Returns the number of pixels between the top of the
          character box and the baseline of the first line of text.

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmSSttrriinnggCCrreeaattee((33XX)) and XXmmSSttrriinnggCCrreeaatteeSSiimmppllee((33XX)).















     2-564                                            (printed 5/7/92)






     XXmmSSttrriinnggBByytteeCCoommppaarree((33XX))  RReeffeerreennccee PPaaggeess  XXmmSSttrriinnggBByytteeCCoommppaarree((33XX))



     NNAAMMEE
          XXmmSSttrriinnggBByytteeCCoommppaarree-A compound string function that
          indicates the results of a byte-by-byte comparison

     AAEESS SSUUPPPPOORRTT LLEEVVEELL
          Trial-use

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//XXmm..hh>>

          BBoooolleeaann XXmmSSttrriinnggBByytteeCCoommppaarree ((_s_1, _s_2))
               XXmmSSttrriinngg  _s_1;;
               XXmmSSttrriinngg  _s_2;;


     DDEESSCCRRIIPPTTIIOONN
          XXmmSSttrriinnggBByytteeCCoommppaarree returns a Boolean indicating the results
          of a byte-by-byte comparison of two compound strings.

          In general, if two compound strings are created with the
          same (char *) string using XXmmSSttrriinnggCCrreeaatteeLLooccaalliizzeedd in the
          same language environment, the compound strings compare as
          equal.  If two compound strings are created with the same
          (char *) string and the same font list element tag set other
          than XXmmFFOONNTTLLIISSTT__DDEEFFAAUULLTT__TTAAGG using XXmmSSttrriinnggCCrreeaattee, the
          strings compare as equal.

          In some cases, once a compound string is put into a widget,
          that string is converted into an internal form to allow
          faster processing.  Part of the conversion process strips
          out unnecessary or redundant information.  If an application
          then does an XXttGGeettVVaalluueess to retrieve a compound string from
          a widget (specifically, Label and all of its subclasses), it
          is not guaranteed that the compound string returned is
          byte-for-byte the same as the string given to the widget
          originally.


          _s_1     Specifies a compound string to be compared with _s_2

          _s_2     Specifies a compound string to be compared with _s_1


     RREETTUURRNN VVAALLUUEE
          Returns True if two compound strings are identical byte-by-
          byte.

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmSSttrriinnggCCrreeaattee((33XX)) and XXmmSSttrriinnggCCrreeaatteeLLooccaalliizzeedd((33XX)).






     2-565                                            (printed 5/7/92)






     XXmmSSttrriinnggCCoommppaarree((33XX))      RReeffeerreennccee PPaaggeess      XXmmSSttrriinnggCCoommppaarree((33XX))



     NNAAMMEE
          XXmmSSttrriinnggCCoommppaarree-A compound string function that compares two
          strings

     AAEESS SSUUPPPPOORRTT LLEEVVEELL
          Trial-use

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//XXmm..hh>>

          BBoooolleeaann XXmmSSttrriinnggCCoommppaarree ((_s_1, _s_2))
               XXmmSSttrriinngg  _s_1;;
               XXmmSSttrriinngg  _s_2;;


     DDEESSCCRRIIPPTTIIOONN
          XXmmSSttrriinnggCCoommppaarree returns a Boolean value indicating the
          results of a semantically equivalent comparison of two
          compound strings.

          Semantically equivalent means that the strings have the same
          text components, font list element tags, directions, and
          separators.  In general, if two compound strings are created
          with the same (char *) string using XXmmSSttrriinnggCCrreeaatteeLLooccaalliizzeedd
          in the same language environment, the compound strings
          compare as equal.  If two compound strings are created with
          the same (char *) string and the same font list element tag
          other than XXmmFFOONNTTLLIISSTT__DDEEFFAAUULLTT__TTAAGG using XXmmSSttrriinnggCCrreeaattee, the
          strings compare as equal.


          _s_1     Specifies a compound string to be compared with _s_2

          _s_2     Specifies a compound string to be compared with _s_1


     RREETTUURRNN VVAALLUUEE
          Returns True if two compound strings are equivalent.

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmSSttrriinnggCCrreeaattee((33XX)) and XXmmSSttrriinnggCCrreeaatteeLLooccaalliizzeedd((33XX)).














     2-566                                            (printed 5/7/92)






     XXmmSSttrriinnggCCoonnccaatt((33XX))       RReeffeerreennccee PPaaggeess       XXmmSSttrriinnggCCoonnccaatt((33XX))



     NNAAMMEE
          XXmmSSttrriinnggCCoonnccaatt-A compound string function that appends one
          string to another

     AAEESS SSUUPPPPOORRTT LLEEVVEELL
          Trial-use

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//XXmm..hh>>

          XXmmSSttrriinngg XXmmSSttrriinnggCCoonnccaatt ((_s_1, _s_2))
               XXmmSSttrriinngg  _s_1;;
               XXmmSSttrriinngg  _s_2;;


     DDEESSCCRRIIPPTTIIOONN
          XXmmSSttrriinnggCCoonnccaatt copies _s_2 to the end of _s_1 and returns a copy
          of the resulting compound string.  The original strings are
          preserved.  The space for the resulting compound string is
          allocated within the function.  After using this function,
          free this space by calling XXmmSSttrriinnggFFrreeee.


          _s_1     Specifies the compound string to which a copy of _s_2
                 is appended

          _s_2     Specifies the compound string that is appended to the
                 end of _s_1


     RREETTUURRNN VVAALLUUEE
          Returns a new compound string.

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmSSttrriinnggCCrreeaattee((33XX)) and XXmmSSttrriinnggFFrreeee((33XX)).




















     2-567                                            (printed 5/7/92)






     XXmmSSttrriinnggCCooppyy((33XX))         RReeffeerreennccee PPaaggeess         XXmmSSttrriinnggCCooppyy((33XX))



     NNAAMMEE
          XXmmSSttrriinnggCCooppyy-A compound string function that makes a copy of
          a string

     AAEESS SSUUPPPPOORRTT LLEEVVEELL
          Trial-use

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//XXmm..hh>>

          XXmmSSttrriinngg XXmmSSttrriinnggCCooppyy ((_s_1))
               XXmmSSttrriinngg  _s_1;;


     DDEESSCCRRIIPPTTIIOONN
          XXmmSSttrriinnggCCooppyy makes a copy of a compound string.  The space
          for the resulting compound string is allocated within the
          function.  The application is responsible for managing the
          allocated space.  The memory can be recovered by calling
          XXmmSSttrriinnggFFrreeee.


          _s_1     Specifies the compound string to be copied


     RREETTUURRNN VVAALLUUEE
          Returns a new compound string.

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmSSttrriinnggCCrreeaattee((33XX)) and XXmmSSttrriinnggFFrreeee((33XX)).

























     2-568                                            (printed 5/7/92)






     XXmmSSttrriinnggCCrreeaattee((33XX))       RReeffeerreennccee PPaaggeess       XXmmSSttrriinnggCCrreeaattee((33XX))



     NNAAMMEE
          XXmmSSttrriinnggCCrreeaattee-A compound string function that creates a
          compound string

     AAEESS SSUUPPPPOORRTT LLEEVVEELL
          Trial-use

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//XXmm..hh>>

          XXmmSSttrriinngg XXmmSSttrriinnggCCrreeaattee ((_t_e_x_t, _t_a_g))
               cchhaarr      **_t_e_x_t;;
               cchhaarr      **_t_a_g;;


     DDEESSCCRRIIPPTTIIOONN
          XXmmSSttrriinnggCCrreeaattee creates a compound string with two
          components: text and a font list element tag.


          _t_e_x_t   Specifies a null-terminated string to be used as the
                 text component of the compound string.

          _t_a_g    Specifies the font list element tag to be associated
                 with the given text.  The value
                 XXmmFFOONNTTLLIISSTT__DDEEFFAAUULLTT__TTAAGG identifies a locale text
                 segment.


     RREETTUURRNN VVAALLUUEE
          Returns a new compound string.

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmFFoonnttLLiisstt((33XX)), XXmmFFoonnttLLiissttAAdddd((33XX)),
          XXmmFFoonnttLLiissttAAppppeennddEEnnttrryy((33XX)), XXmmFFoonnttLLiissttCCooppyy((33XX)),
          XXmmFFoonnttLLiissttCCrreeaattee((33XX)), XXmmFFoonnttLLiissttEEnnttrryyCCrreeaattee((33XX)),
          XXmmFFoonnttLLiissttEEnnttrryyFFrreeee((33XX)), XXmmFFoonnttLLiissttEEnnttrryyGGeettFFoonntt((33XX)),
          XXmmFFoonnttLLiissttEEnnttrryyGGeettTTaagg((33XX)), XXmmFFoonnttLLiissttEEnnttrryyLLooaadd((33XX)),
          XXmmFFoonnttLLiissttFFrreeee((33XX)), XXmmFFoonnttLLiissttFFrreeeeFFoonnttCCoonntteexxtt((33XX)),
          XXmmFFoonnttLLiissttIInniittFFoonnttCCoonntteexxtt((33XX)), XXmmFFoonnttLLiissttNNeexxttEEnnttrryy((33XX)),
          XXmmFFoonnttLLiissttRReemmoovveeEEnnttrryy((33XX)), XXmmSSttrriinngg((33XX)),
          XXmmSSttrriinnggBBaasseelliinnee((33XX)), XXmmSSttrriinnggBByytteeCCoommppaarree((33XX)),
          XXmmSSttrriinnggCCoommppaarree((33XX)), XXmmSSttrriinnggCCoonnccaatt((33XX)), XXmmSSttrriinnggCCooppyy((33XX)),
          XXmmSSttrriinnggCCrreeaatteeLLooccaalliizzeedd((33XX)), XXmmSSttrriinnggCCrreeaatteeLLttooRR((33XX)),
          XXmmSSttrriinnggCCrreeaatteeSSiimmppllee((33XX)), XXmmSSttrriinnggDDiirreeccttiioonn((33XX)),
          XXmmSSttrriinnggDDrraaww((33XX)), XXmmSSttrriinnggDDrraawwIImmaaggee((33XX)),
          XXmmSSttrriinnggDDrraawwUUnnddeerrlliinnee((33XX)), XXmmSSttrriinnggEEmmppttyy((33XX)),
          XXmmSSttrriinnggEExxtteenntt((33XX)), XXmmSSttrriinnggFFrreeee((33XX)),
          XXmmSSttrriinnggFFrreeeeCCoonntteexxtt((33XX)), XXmmSSttrriinnggGGeettLLttooRR((33XX)),
          XXmmSSttrriinnggGGeettNNeexxttCCoommppoonneenntt((33XX)), XXmmSSttrriinnggGGeettNNeexxttSSeeggmmeenntt((33XX)),
          XXmmSSttrriinnggHHaassSSuubbssttrriinngg((33XX)), XXmmSSttrriinnggHHeeiigghhtt((33XX)),
          XXmmSSttrriinnggIInniittCCoonntteexxtt((33XX)), XXmmSSttrriinnggLLeennggtthh((33XX)),



     2-569                                            (printed 5/7/92)






     XXmmSSttrriinnggCCrreeaattee((33XX))       RReeffeerreennccee PPaaggeess       XXmmSSttrriinnggCCrreeaattee((33XX))



          XXmmSSttrriinnggLLiinneeCCoouunntt((33XX)), XXmmSSttrriinnggNNCCoonnccaatt((33XX)),
          XXmmSSttrriinnggNNCCooppyy((33XX)), XXmmSSttrriinnggSSeeggmmeennttCCrreeaattee((33XX)),
          XXmmSSttrriinnggSSeeppaarraattoorrCCrreeaattee((33XX)), XXmmSSttrriinnggTTaabbllee((33XX)), and
          XXmmSSttrriinnggWWiiddtthh((33XX)).



















































     2-570                                            (printed 5/7/92)






     XXmmSSttrriinnggCCrreeaatteeLLooccaalliizzeedd((33XXRR)e)effeerreennccee PPaaggeeXXsmsmSSttrriinnggCCrreeaatteeLLooccaalliizzeedd((33XX))



     NNAAMMEE
          XXmmSSttrriinnggCCrreeaatteeLLooccaalliizzeedd-A compound string function that
          creates a compound string in the current locale

     AAEESS SSUUPPPPOORRTT LLEEVVEELL
          Temporary-use

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//TTeexxtt..hh>>

          XXmmSSttrriinngg XXmmSSttrriinnggCCrreeaatteeLLooccaalliizzeedd ((_t_e_x_t))
               cchhaarr **_t_e_x_t;;


     DDEESSCCRRIIPPTTIIOONN
          XXmmSSttrriinnggCCrreeaatteeLLooccaalliizzeedd creates a compound string containing
          the specified text and assigns XXmmFFOONNTTLLIISSTT__DDEEFFAAUULLTT__TTAAGG as the
          font list entry tag.  An identical compound string would
          result from the function XXmmSSttrriinnggCCrreeaattee called with
          XXmmFFOONNTTLLIISSTT__DDEEFFAAUULLTT__TTAAGG explicitly as the font list entry
          tag.


          _t_e_x_t   Specifies a null-terminated string of text encoded in
                 the current locale to be used as the text component
                 of the compound string


     RREETTUURRNN VVAALLUUEE
          Returns a new compound string.

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmSSttrriinnggCCrreeaattee((33XX)).






















     2-571                                            (printed 5/7/92)






     XXmmSSttrriinnggCCrreeaatteeSSiimmppllee((33XX)) RReeffeerreennccee PPaaggeess XXmmSSttrriinnggCCrreeaatteeSSiimmppllee((33XX))



     NNAAMMEE
          XXmmSSttrriinnggCCrreeaatteeSSiimmppllee-A compound string function that creates
          a compound string in the language environment of a widget

     AAEESS SSUUPPPPOORRTT LLEEVVEELL
          Trial-use

     HHIISSTTOORRYY//DDIIRREECCTTIIOONN
          The XXmmSSttrriinnggCCrreeaatteeSSiimmppllee function is scheduled for removal
          in revision D.

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//XXmm..hh>>

          XXmmSSttrriinngg XXmmSSttrriinnggCCrreeaatteeSSiimmppllee ((_t_e_x_t))
               cchhaarr   * _t_e_x_t;;


     DDEESSCCRRIIPPTTIIOONN
          XXmmSSttrriinnggCCrreeaatteeSSiimmppllee creates a compound string with two
          components: text and a character set.  It derives the
          character set from the current language environment.

          NOTE:  This routine is obsolete and exists for compatibility
          with previous releases.  It has been replaced by
          XXmmSSttrriinnggCCrreeaatteeLLooccaalliizzeedd.


          _t_e_x_t   Specifies a null-terminated string to be used as the
                 text component of the compound string.


     RREETTUURRNN VVAALLUUEE
          Returns a new compound string.

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmSSttrriinnggCCrreeaattee((33XX)).  XXmmSSttrriinnggCCrreeaattee((33XX)) and
          XXmmSSttrriinnggCCrreeaatteeLLooccaalliizzeedd((33XX)).

















     2-572                                            (printed 5/7/92)






     XXmmSSttrriinnggDDiirreeccttiioonn((33XX))    RReeffeerreennccee PPaaggeess    XXmmSSttrriinnggDDiirreeccttiioonn((33XX))



     NNAAMMEE
          XXmmSSttrriinnggDDiirreeccttiioonn-Data type for the direction of display in
          a string

     AAEESS SSUUPPPPOORRTT LLEEVVEELL
          Full-use

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//XXmm..hh>>


     DDEESSCCRRIIPPTTIIOONN
          XXmmSSttrriinnggDDiirreeccttiioonn is the data type for specifying the
          direction in which the system displays characters of a
          string, or characters of a segment of a compound string.
          This is an enumeration with two possible values:


          XXmmSSTTRRIINNGG__DDIIRREECCTTIIOONN__LL__TTOO__RR
                         Specifies left to right display

          XXmmSSTTRRIINNGG__DDIIRREECCTTIIOONN__RR__TTOO__LL
                         Specifies right to left display


     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmSSttrriinngg((33XX)).




























     2-573                                            (printed 5/7/92)






     XXmmSSttrriinnggDDrraaww((33XX))         RReeffeerreennccee PPaaggeess         XXmmSSttrriinnggDDrraaww((33XX))



     NNAAMMEE
          XXmmSSttrriinnggDDrraaww-A compound string function that draws a
          compound string in an X window

     AAEESS SSUUPPPPOORRTT LLEEVVEELL
          Trial-use

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//XXmm..hh>>

          vvooiidd XXmmSSttrriinnggDDrraaww ((_d, _w, _f_o_n_t_l_i_s_t, _s_t_r_i_n_g, _g_c, _x, _y, _w_i_d_t_h, _a_l_i_g_n_m_e_n_t, _l_a_y_o_u_t__d_i_r_e_c_t_i_o_n, _c_l_i_p))
               DDiissppllaayy   * _d;;
               WWiinnddooww    _w;;
               XXmmFFoonnttLLiisstt_f_o_n_t_l_i_s_t;;
               XXmmSSttrriinngg  _s_t_r_i_n_g;;
               GGCC        _g_c;;
               PPoossiittiioonn  _x;;
               PPoossiittiioonn  _y;;
               DDiimmeennssiioonn _w_i_d_t_h;;
               uunnssiiggnneedd cchhaarr_a_l_i_g_n_m_e_n_t;;
               uunnssiiggnneedd cchhaarr_l_a_y_o_u_t__d_i_r_e_c_t_i_o_n;;
               XXRReeccttaannggllee* _c_l_i_p;;


     DDEESSCCRRIIPPTTIIOONN
          XXmmSSttrriinnggDDrraaww draws a compound string in an X Window.

          When _s_t_r_i_n_g has been created with XXmmSSttrriinnggCCrreeaatteeSSiimmppllee, the
          font associated with the character set derived from the
          current language environment must appear at the front of
          _f_o_n_t_l_i_s_t.  Otherwise, the result of the function is
          undefined.


          _d           Specifies the display.

          _w           Specifies the window.

          _f_o_n_t_l_i_s_t    Specifies the font list.

          _s_t_r_i_n_g      Specifies the string.

          _g_c          Specifies the graphics context to use.

          _x           Specifies a coordinate of the rectangle that
                      will contain the displayed compound string.

          _y           Specifies a coordinate of the rectangle that
                      will contain the displayed compound string.

          _w_i_d_t_h       Specifies the width of the rectangle that will
                      contain the displayed compound string.



     2-574                                            (printed 5/7/92)






     XXmmSSttrriinnggDDrraaww((33XX))         RReeffeerreennccee PPaaggeess         XXmmSSttrriinnggDDrraaww((33XX))



          _a_l_i_g_n_m_e_n_t   Specifies how the string will be aligned within
                      the specified rectangle.  It is either
                      XXmmAALLIIGGNNMMEENNTT__BBEEGGIINNNNIINNGG, XXmmAALLIIGGNNMMEENNTT__CCEENNTTEERR, or
                      XXmmAALLIIGGNNMMEENNTT__EENNDD.

          _l_a_y_o_u_t__d_i_r_e_c_t_i_o_n
                      Controls the direction in which the segments of
                      the compound string will be laid out.  It also
                      determines the meaning of the _a_l_i_g_n_m_e_n_t
                      parameter.

          _c_l_i_p        Allows the application to restrict the area into
                      which the compound string will be drawn.  If
                      NULL, no clipping will be done.


     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmSSttrriinnggCCrreeaattee((33XX)) and XXmmSSttrriinnggCCrreeaatteeSSiimmppllee((33XX)).





































     2-575                                            (printed 5/7/92)






     XXmmSSttrriinnggDDrraawwIImmaaggee((33XX))    RReeffeerreennccee PPaaggeess    XXmmSSttrriinnggDDrraawwIImmaaggee((33XX))



     NNAAMMEE
          XXmmSSttrriinnggDDrraawwIImmaaggee-A compound string function that draws a
          compound string in an X Window and creates an image

     AAEESS SSUUPPPPOORRTT LLEEVVEELL
          Trial-use

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//XXmm..hh>>

          vvooiidd XXmmSSttrriinnggDDrraawwIImmaaggee ((_d, _w, _f_o_n_t_l_i_s_t, _s_t_r_i_n_g, _g_c, _x, _y, _w_i_d_t_h, _a_l_i_g_n_m_e_n_t,
                    _l_a_y_o_u_t__d_i_r_e_c_t_i_o_n, _c_l_i_p))
               DDiissppllaayy   * _d;;
               WWiinnddooww    _w;;
               XXmmFFoonnttLLiisstt_f_o_n_t_l_i_s_t;;
               XXmmSSttrriinngg  _s_t_r_i_n_g;;
               GGCC        _g_c;;
               PPoossiittiioonn  _x;;
               PPoossiittiioonn  _y;;
               DDiimmeennssiioonn _w_i_d_t_h;;
               uunnssiiggnneedd cchhaarr_a_l_i_g_n_m_e_n_t;;
               uunnssiiggnneedd cchhaarr_l_a_y_o_u_t__d_i_r_e_c_t_i_o_n;;
               XXRReeccttaannggllee* _c_l_i_p;;


     DDEESSCCRRIIPPTTIIOONN
          XXmmSSttrriinnggDDrraawwIImmaaggee draws a compound string in an X Window and
          paints both the foreground and background bits of each
          character.

          When _s_t_r_i_n_g has been created with XXmmSSttrriinnggCCrreeaatteeSSiimmppllee, the
          font associated with the character set derived from the
          current language environment must appear at the front of
          _f_o_n_t_l_i_s_t.  Otherwise, the result of the function is
          undefined.


          _d           Specifies the display.

          _w           Specifies the window.

          _f_o_n_t_l_i_s_t    Specifies the font list.

          _s_t_r_i_n_g      Specifies the string.

          _g_c          Specifies the graphics context to use.

          _x           Specifies a coordinate of the rectangle that
                      will contain the displayed compound string.

          _y           Specifies a coordinate of the rectangle that
                      will contain the displayed compound string.



     2-576                                            (printed 5/7/92)






     XXmmSSttrriinnggDDrraawwIImmaaggee((33XX))    RReeffeerreennccee PPaaggeess    XXmmSSttrriinnggDDrraawwIImmaaggee((33XX))



          _w_i_d_t_h       Specifies the width of the rectangle that will
                      contain the displayed compound string.

          _a_l_i_g_n_m_e_n_t   Specifies how the string will be aligned within
                      the specified rectangle.  It is either
                      XXmmAALLIIGGNNMMEENNTT__BBEEGGIINNNNIINNGG, XXmmAALLIIGGNNMMEENNTT__CCEENNTTEERR, or
                      XXmmAALLIIGGNNMMEENNTT__EENNDD.

          _l_a_y_o_u_t__d_i_r_e_c_t_i_o_n
                      Controls the direction in which the segments of
                      the compound string will be laid out.  It also
                      determines the meaning of the _a_l_i_g_n_m_e_n_t
                      parameter.

          _c_l_i_p        Allows the application to restrict the area into
                      which the compound string will be drawn.  If
                      NULL, no clipping will be done.


     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmSSttrriinnggCCrreeaattee((33XX)) and XXmmSSttrriinnggCCrreeaatteeSSiimmppllee((33XX)).


































     2-577                                            (printed 5/7/92)






     XXmmSSttrriinnggDDrraawwUUnnddeerrlliinnee((33XX))RReeffeerreennccee PPaaggeessXXmmSSttrriinnggDDrraawwUUnnddeerrlliinnee((33XX))



     NNAAMMEE
          XXmmSSttrriinnggDDrraawwUUnnddeerrlliinnee-A compound string function that
          underlines a string drawn in an X Window

     AAEESS SSUUPPPPOORRTT LLEEVVEELL
          Trial-use

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//XXmm..hh>>

          vvooiidd XXmmSSttrriinnggDDrraawwUUnnddeerrlliinnee ((_d, _w, _f_o_n_t_l_i_s_t, _s_t_r_i_n_g, _g_c, _x, _y, _w_i_d_t_h, _a_l_i_g_n_m_e_n_t, _l_a_y_o_u_t__d_i_r_e_c_t_i_o_n, _c_l_i_p, _u_n_d_e_r_l_i_n_e))
               DDiissppllaayy   * _d;;
               WWiinnddooww    _w;;
               XXmmFFoonnttLLiisstt_f_o_n_t_l_i_s_t;;
               XXmmSSttrriinngg  _s_t_r_i_n_g;;
               GGCC        _g_c;;
               PPoossiittiioonn  _x;;
               PPoossiittiioonn  _y;;
               DDiimmeennssiioonn _w_i_d_t_h;;
               uunnssiiggnneedd cchhaarr_a_l_i_g_n_m_e_n_t;;
               uunnssiiggnneedd cchhaarr_l_a_y_o_u_t__d_i_r_e_c_t_i_o_n;;
               XXRReeccttaannggllee* _c_l_i_p;;
               XXmmSSttrriinngg  _u_n_d_e_r_l_i_n_e;;


     DDEESSCCRRIIPPTTIIOONN
          XXmmSSttrriinnggDDrraawwUUnnddeerrlliinnee draws a compound string in an X
          Window.  If the substring identified by _u_n_d_e_r_l_i_n_e can be
          matched in _s_t_r_i_n_g, the substring will be underlined.  Once a
          match has occurred, no further matches or underlining will
          be done.

          When _s_t_r_i_n_g has been created with XXmmSSttrriinnggCCrreeaatteeSSiimmppllee, the
          font associated with the character set derived from the
          current language environment must appear at the front of
          _f_o_n_t_l_i_s_t.  Otherwise, the result of the function is
          undefined.


          _d           Specifies the display.

          _w           Specifies the window.

          _f_o_n_t_l_i_s_t    Specifies the font list.

          _s_t_r_i_n_g      Specifies the string.

          _g_c          Specifies the graphics context to use.

          _x           Specifies a coordinate of the rectangle that
                      will contain the displayed compound string.




     2-578                                            (printed 5/7/92)






     XXmmSSttrriinnggDDrraawwUUnnddeerrlliinnee((33XX))RReeffeerreennccee PPaaggeessXXmmSSttrriinnggDDrraawwUUnnddeerrlliinnee((33XX))



          _y           Specifies a coordinate of the rectangle that
                      will contain the displayed compound string.

          _w_i_d_t_h       Specifies the width of the rectangle that will
                      contain the displayed compound string.

          _a_l_i_g_n_m_e_n_t   Specifies how the string will be aligned within
                      the specified rectangle.  It is one of
                      XXmmAALLIIGGNNMMEENNTT__BBEEGGIINNNNIINNGG, XXmmAALLIIGGNNMMEENNTT__CCEENNTTEERR, or
                      XXmmAALLIIGGNNMMEENNTT__EENNDD.

          _l_a_y_o_u_t__d_i_r_e_c_t_i_o_n
                      Controls the direction in which the segments of
                      the compound string will be laid out.  It also
                      determines the meaning of the _a_l_i_g_n_m_e_n_t
                      parameter.

          _c_l_i_p        Allows the application to restrict the area into
                      which the compound string will be drawn.  If
                      NULL, no clipping will be done.

          _u_n_d_e_r_l_i_n_e   Specifies the substring to be underlined.


     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmSSttrriinnggCCrreeaattee((33XX)) and XXmmSSttrriinnggCCrreeaatteeSSiimmppllee((33XX)).





























     2-579                                            (printed 5/7/92)






     XXmmSSttrriinnggEEmmppttyy((33XX))        RReeffeerreennccee PPaaggeess        XXmmSSttrriinnggEEmmppttyy((33XX))



     NNAAMMEE
          XXmmSSttrriinnggEEmmppttyy-A compound string function that provides
          information on the existence of non-zero length text
          components

     AAEESS SSUUPPPPOORRTT LLEEVVEELL
          Trial-use

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//XXmm..hh>>

          BBoooolleeaann XXmmSSttrriinnggEEmmppttyy ((_s_1))
               XXmmSSttrriinngg  _s_1;;


     DDEESSCCRRIIPPTTIIOONN
          XXmmSSttrriinnggEEmmppttyy returns a Boolean value indicating whether any
          non-zero length text components exist in the provided
          compound string.  It returns True if there are no text
          segments in the string.  If this routine is passed NULL as
          the string, it returns True.


          _s_1     Specifies the compound string



     RREETTUURRNN VVAALLUUEE
          Returns True if there are no text segments in the string.
          If this routine is passed NULL as the string, it returns
          True.

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmSSttrriinnggCCrreeaattee((33XX)).





















     2-580                                            (printed 5/7/92)






     XXmmSSttrriinnggEExxtteenntt((33XX))       RReeffeerreennccee PPaaggeess       XXmmSSttrriinnggEExxtteenntt((33XX))



     NNAAMMEE
          XXmmSSttrriinnggEExxtteenntt-A compound string function that determines
          the size of the smallest rectangle that will enclose the
          compound string

     AAEESS SSUUPPPPOORRTT LLEEVVEELL
          Trial-use

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//XXmm..hh>>

          vvooiidd XXmmSSttrriinnggEExxtteenntt ((_f_o_n_t_l_i_s_t, _s_t_r_i_n_g, _w_i_d_t_h, _h_e_i_g_h_t))
               XXmmFFoonnttLLiisstt_f_o_n_t_l_i_s_t;;
               XXmmSSttrriinngg  _s_t_r_i_n_g;;
               DDiimmeennssiioonn *_w_i_d_t_h;;
               DDiimmeennssiioonn *_h_e_i_g_h_t;;


     DDEESSCCRRIIPPTTIIOONN
          XXmmSSttrriinnggEExxtteenntt determines the width and height, in pixels,
          of the smallest rectangle that will enclose the provided
          compound string.

          When _s_t_r_i_n_g has been created with XXmmSSttrriinnggCCrreeaatteeSSiimmppllee, the
          font associated with the character set derived from the
          current language environment must appear at the front of
          _f_o_n_t_l_i_s_t.  Otherwise, the result of the function is
          undefined.


          _f_o_n_t_l_i_s_t
                 Specifies the font list

          _s_t_r_i_n_g Specifies the string

          _w_i_d_t_h  Specifies a pointer to the width of the rectangle

          _h_e_i_g_h_t Specifies a pointer to the height of the rectangle


     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmSSttrriinnggCCrreeaattee((33XX)) and XXmmSSttrriinnggCCrreeaatteeSSiimmppllee((33XX)).













     2-581                                            (printed 5/7/92)






     XXmmSSttrriinnggFFrreeee((33XX))         RReeffeerreennccee PPaaggeess         XXmmSSttrriinnggFFrreeee((33XX))



     NNAAMMEE
          XXmmSSttrriinnggFFrreeee-A compound string function that recovers memory

     AAEESS SSUUPPPPOORRTT LLEEVVEELL
          Trial-use

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//XXmm..hh>>

          vvooiidd XXmmSSttrriinnggFFrreeee ((_s_t_r_i_n_g))
               XXmmSSttrriinngg  _s_t_r_i_n_g;;


     DDEESSCCRRIIPPTTIIOONN
          XXmmSSttrriinnggFFrreeee recovers memory used by a compound string.


          _s_t_r_i_n_g Specifies the compound string to be freed


     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmSSttrriinnggCCrreeaattee((33XX)).

































     2-582                                            (printed 5/7/92)






     XXmmSSttrriinnggFFrreeeeCCoonntteexxtt((33XX))  RReeffeerreennccee PPaaggeess  XXmmSSttrriinnggFFrreeeeCCoonntteexxtt((33XX))



     NNAAMMEE
          XXmmSSttrriinnggFFrreeeeCCoonntteexxtt-A compound string function that
          instructs the toolkit that the context is no longer needed

     AAEESS SSUUPPPPOORRTT LLEEVVEELL
          Trial-use

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//XXmm..hh>>

          vvooiidd XXmmSSttrriinnggFFrreeeeCCoonntteexxtt ((_c_o_n_t_e_x_t))
               XXmmSSttrriinnggCCoonntteexxtt_c_o_n_t_e_x_t;;


     DDEESSCCRRIIPPTTIIOONN
          XXmmSSttrriinnggFFrreeeeCCoonntteexxtt instructs the toolkit that the context
          is no longer needed and will not be used without
          reinitialization.


          _c_o_n_t_e_x_tSpecifies the string context structure that was
                 allocated by the XXmmSSttrriinnggIInniittCCoonntteexxtt function


     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmSSttrriinnggCCrreeaattee((33XX)) and XXmmSSttrriinnggIInniittCCoonntteexxtt((33XX)).





























     2-583                                            (printed 5/7/92)






     XXmmSSttrriinnggGGeettNNeexxttSSeeggmmeenntt((33XX))RReeffeerreennccee PPaaggeessXXmmSSttrriinnggGGeettNNeexxttSSeeggmmeenntt((33XX))



     NNAAMMEE
          XXmmSSttrriinnggGGeettNNeexxttSSeeggmmeenntt-A compound string function that
          fetches the octets in the next segment of a compound string

     AAEESS SSUUPPPPOORRTT LLEEVVEELL
          Trial-use

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//XXmm..hh>>

          BBoooolleeaann XXmmSSttrriinnggGGeettNNeexxttSSeeggmmeenntt ((_c_o_n_t_e_x_t, _t_e_x_t, _t_a_g, _d_i_r_e_c_t_i_o_n, _s_e_p_a_r_a_t_o_r))
               XXmmSSttrriinnggCCoonntteexxtt_c_o_n_t_e_x_t;;
               cchhaarr           ****_t_e_x_t;;
               XXmmSSttrriinnggCChhaarrSSeett**_t_a_g;;
               XXmmSSttrriinnggDDiirreeccttiioonn**_d_i_r_e_c_t_i_o_n;;
               BBoooolleeaann        **_s_e_p_a_r_a_t_o_r;;


     DDEESSCCRRIIPPTTIIOONN
          XXmmSSttrriinnggGGeettNNeexxttSSeeggmmeenntt fetches the octets in the next
          segment; repeated calls fetch sequential segments.  The
          _t_e_x_t, _t_a_g, and _d_i_r_e_c_t_i_o_n of the fetched segment are returned
          each time.  A Boolean status is returned to indicate whether
          a valid segment was successfully parsed.


          _c_o_n_t_e_x_t   Specifies the string context structure which was
                    allocated by the XXmmSSttrriinnggIInniittCCoonntteexxtt function.

          _t_e_x_t      Specifies a pointer to a null terminated string.

          _t_a_g       Specifies a pointer to the font list element tag
                    associated with the text.

          _d_i_r_e_c_t_i_o_n Specifies a pointer to the direction of the text.

          _s_e_p_a_r_a_t_o_r Specifies whether the next component of the
                    compound string is a separator.


     RREETTUURRNN VVAALLUUEE
          Returns True if a valid segment is found.

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmSSttrriinnggCCrreeaattee((33XX)) and XXmmSSttrriinnggIInniittCCoonntteexxtt((33XX)).










     2-584                                            (printed 5/7/92)






     XXmmSSttrriinnggHHaassSSuubbssttrriinngg((33XX)) RReeffeerreennccee PPaaggeess XXmmSSttrriinnggHHaassSSuubbssttrriinngg((33XX))



     NNAAMMEE
          XXmmSSttrriinnggHHaassSSuubbssttrriinngg-A compound string function that
          indicates whether one compound string is contained within
          another

     AAEESS SSUUPPPPOORRTT LLEEVVEELL
          Trial-use

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//XXmm..hh>>

          BBoooolleeaann XXmmSSttrriinnggHHaassSSuubbssttrriinngg ((_s_t_r_i_n_g, _s_u_b_s_t_r_i_n_g))
               XXmmSSttrriinngg  _s_t_r_i_n_g;;
               XXmmSSttrriinngg  _s_u_b_s_t_r_i_n_g;;


     DDEESSCCRRIIPPTTIIOONN
          XXmmSSttrriinnggHHaassSSuubbssttrriinngg indicates whether or not one compound
          string is contained within another.


          _s_t_r_i_n_g Specifies the compound string to be searched

          _s_u_b_s_t_r_i_n_g
                 Specifies the compound string to be searched for


     RREETTUURRNN VVAALLUUEE
          Returns True if _s_u_b_s_t_r_i_n_g has a single segment and if its
          text is completely contained within any single segment of
          _s_t_r_i_n_g; otherwise, returns False.  If two compound strings
          created using XXmmSSttrriinnggCCrreeaatteeLLooccaalliizzeedd in the same language
          environment satisfy this condition, the function returns
          True.  If two compound strings created with the same
          character set using XXmmSSttrriinnggCCrreeaattee satisfy this condition,
          the function returns True.

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmSSttrriinnggCCrreeaattee((33XX)) and XXmmSSttrriinnggCCrreeaatteeSSiimmppllee((33XX)).
          XXmmSSttrriinnggCCrreeaatteeLLooccaalliizzeedd((33XX))..















     2-585                                            (printed 5/7/92)






     XXmmSSttrriinnggHHeeiigghhtt((33XX))       RReeffeerreennccee PPaaggeess       XXmmSSttrriinnggHHeeiigghhtt((33XX))



     NNAAMMEE
          XXmmSSttrriinnggHHeeiigghhtt-A compound string function that returns the
          line height of the given compound string

     AAEESS SSUUPPPPOORRTT LLEEVVEELL
          Trial-use

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//XXmm..hh>>

          DDiimmeennssiioonn XXmmSSttrriinnggHHeeiigghhtt ((_f_o_n_t_l_i_s_t, _s_t_r_i_n_g))
               XXmmFFoonnttLLiisstt_f_o_n_t_l_i_s_t;;
               XXmmSSttrriinngg  _s_t_r_i_n_g;;


     DDEESSCCRRIIPPTTIIOONN
          XXmmSSttrriinnggHHeeiigghhtt returns the height, in pixels, of the sum of
          all the line heights of the given compound string.
          Separator components delimit lines.

          When _s_t_r_i_n_g has been created with XXmmSSttrriinnggCCrreeaatteeSSiimmppllee, the
          font associated with the character set derived from the
          current language environment must appear at the front of
          _f_o_n_t_l_i_s_t.  Otherwise, the result of the function is
          undefined.


          _f_o_n_t_l_i_s_t
                 Specifies the font list

          _s_t_r_i_n_g Specifies the string


     RREETTUURRNN VVAALLUUEE
          Returns the height of the specified string.

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmSSttrriinnggCCrreeaattee((33XX)) and XXmmSSttrriinnggCCrreeaatteeSSiimmppllee((33XX)).

















     2-586                                            (printed 5/7/92)






     XXmmSSttrriinnggIInniittCCoonntteexxtt((33XX))  RReeffeerreennccee PPaaggeess  XXmmSSttrriinnggIInniittCCoonntteexxtt((33XX))



     NNAAMMEE
          XXmmSSttrriinnggIInniittCCoonntteexxtt-A compound string function that allows
          applications to read out the content segment by segment

     AAEESS SSUUPPPPOORRTT LLEEVVEELL
          Trial-use

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//XXmm..hh>>

          BBoooolleeaann XXmmSSttrriinnggIInniittCCoonntteexxtt ((_c_o_n_t_e_x_t, _s_t_r_i_n_g))
               XXmmSSttrriinnggCCoonntteexxtt* _c_o_n_t_e_x_t;;
               XXmmSSttrriinngg    _s_t_r_i_n_g;;


     DDEESSCCRRIIPPTTIIOONN
          XXmmSSttrriinnggIInniittCCoonntteexxtt maintains a context to allow
          applications to read out the contents of a compound string
          segment by segment.  This function establishes the context
          for this read out. This context is used when reading
          subsequent segments out of the string.  A Boolean status is
          returned to indicate if the input string could be parsed.


          _c_o_n_t_e_x_tSpecifies a pointer to the allocated context

          _s_t_r_i_n_g Specifies the string.


     RREETTUURRNN VVAALLUUEE
          Returns True if the context was allocated

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmSSttrriinnggCCrreeaattee((33XX)).





















     2-587                                            (printed 5/7/92)






     XXmmSSttrriinnggLLeennggtthh((33XX))       RReeffeerreennccee PPaaggeess       XXmmSSttrriinnggLLeennggtthh((33XX))



     NNAAMMEE
          XXmmSSttrriinnggLLeennggtthh-A compound string function that obtains the
          length of a compound string

     AAEESS SSUUPPPPOORRTT LLEEVVEELL
          Trial-use

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//XXmm..hh>>

          iinntt XXmmSSttrriinnggLLeennggtthh ((_s_1))
               XXmmSSttrriinngg  _s_1;;


     DDEESSCCRRIIPPTTIIOONN
          XXmmSSttrriinnggLLeennggtthh obtains the length of a compound string.  It
          returns the number of bytes in _s_1 including all tags,
          direction indicators, and separators.  If the compound
          string has an invalid structure, zero is returned.


          _s_1     Specifies the compound string


     RREETTUURRNN VVAALLUUEE
          Returns the length of the compound string.

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmSSttrriinnggCCrreeaattee((33XX)).


























     2-588                                            (printed 5/7/92)






     XXmmSSttrriinnggLLiinneeCCoouunntt((33XX))    RReeffeerreennccee PPaaggeess    XXmmSSttrriinnggLLiinneeCCoouunntt((33XX))



     NNAAMMEE
          XXmmSSttrriinnggLLiinneeCCoouunntt-A compound string function that returns
          the number of separators plus one in the provided compound
          string

     AAEESS SSUUPPPPOORRTT LLEEVVEELL
          Trial-use

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//XXmm..hh>>

          iinntt XXmmSSttrriinnggLLiinneeCCoouunntt ((_s_t_r_i_n_g))
               XXmmSSttrriinngg  _s_t_r_i_n_g;;


     DDEESSCCRRIIPPTTIIOONN
          XXmmSSttrriinnggLLiinneeCCoouunntt returns the number of separators plus one
          in the provided compound string.  In effect, it counts the
          lines of text.


          _s_t_r_i_n_g Specifies the string.


     RREETTUURRNN VVAALLUUEE
          Returns the number of lines in the compound string

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmSSttrriinnggCCrreeaattee((33XX)).


























     2-589                                            (printed 5/7/92)






     XXmmSSttrriinnggNNCCoonnccaatt((33XX))      RReeffeerreennccee PPaaggeess      XXmmSSttrriinnggNNCCoonnccaatt((33XX))



     NNAAMMEE
          XXmmSSttrriinnggNNCCoonnccaatt-A compound string function that appends a
          specified number of bytes to a compound string

     AAEESS SSUUPPPPOORRTT LLEEVVEELL
          Trial-use

     HHIISSTTOORRYY//DDIIRREECCTTIIOONN
          The XXmmSSttrriinnggNNCCoonnccaatt function is scheduled for removal in
          revision D.

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//XXmm..hh>>

          XXmmSSttrriinngg XXmmSSttrriinnggNNCCoonnccaatt ((_s_1, _s_2, _n_u_m__b_y_t_e_s))
               XXmmSSttrriinngg  _s_1;;
               XXmmSSttrriinngg  _s_2;;
               iinntt       _n_u_m__b_y_t_e_s;;


     DDEESSCCRRIIPPTTIIOONN
          XXmmSSttrriinnggNNCCoonnccaatt appends a specified number of bytes from _s_2
          to the end of _s_1, including tags, directional indicators,
          and separators.  It then returns the resulting compound
          string.  The original strings are preserved.  The space for
          the resulting compound string is allocated within the
          function.  The application is responsible for managing the
          allocated space.  The memory can be recovered by calling
          XXmmSSttrriinnggFFrreeee.


          _s_1     Specifies the compound string to which a copy of _s_2
                 is appended.

          _s_2     Specifies the compound string that is appended to the
                 end of _s_1.

          _n_u_m__b_y_t_e_s
                 Specifies the number of bytes of _s_2 to append to _s_1.
                 If this value is less than the length of _s_2, as many
                 bytes as possible, but possibly fewer than this
                 value, will be appended to _s_1 such that the resulting
                 string is still a valid compound string.


     RREETTUURRNN VVAALLUUEE
          Returns a new compound string.

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmSSttrriinnggCCrreeaattee((33XX)) and XXmmSSttrriinnggFFrreeee((33XX)).





     2-590                                            (printed 5/7/92)






     XXmmSSttrriinnggNNCCooppyy((33XX))        RReeffeerreennccee PPaaggeess        XXmmSSttrriinnggNNCCooppyy((33XX))



     NNAAMMEE
          XXmmSSttrriinnggNNCCooppyy-A compound string function that creates a copy
          of a compound string

     AAEESS SSUUPPPPOORRTT LLEEVVEELL
          Trial-use

     HHIISSTTOORRYY//DDIIRREECCTTIIOONN
          The XXmmSSttrriinnggNNCCooppyy  function is scheduled for removal in
          revision D.

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//XXmm..hh>>

          XXmmSSttrriinngg XXmmSSttrriinnggNNCCooppyy ((_s_1, _n_u_m__b_y_t_e_s))
               XXmmSSttrriinngg  _s_1;;
               iinntt       _n_u_m__b_y_t_e_s;;


     DDEESSCCRRIIPPTTIIOONN
          XXmmSSttrriinnggNNCCooppyy creates a copy of _s_1 that contains a specified
          number of bytes, including tags, directional indicators, and
          separators.  It then returns the resulting compound string.
          The original strings are preserved.  The space for the
          resulting compound string is allocated within the function.
          The application is responsible for managing the allocated
          space.  The memory can be recovered by calling XXmmSSttrriinnggFFrreeee.

          _s_1     Specifies the compound string.

          _n_u_m__b_y_t_e_s
                 Specifies the number of bytes of _s_1 to copy.  If this
                 value is less than the length of _s_1, as many bytes as
                 possible, but possibly fewer than this value, will be
                 appended to _s_1 such that the resulting string is
                 still a valid compound string.


     RREETTUURRNN VVAALLUUEE
          Returns a new compound string.

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmSSttrriinnggCCrreeaattee((33XX)) and XXmmSSttrriinnggFFrreeee((33XX)).












     2-591                                            (printed 5/7/92)






     XXmmSSttrriinnggSSeeggmmeennttCCrreeaattee((33XX))RReeffeerreennccee PPaaggeessXXmmSSttrriinnggSSeeggmmeennttCCrreeaattee((33XX))



     NNAAMMEE
          XXmmSSttrriinnggSSeeggmmeennttCCrreeaattee-A compound string function that
          creates a compound string

     AAEESS SSUUPPPPOORRTT LLEEVVEELL
          Trial-use

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//XXmm..hh>>

          XXmmSSttrriinngg XXmmSSttrriinnggSSeeggmmeennttCCrreeaattee ((_t_e_x_t, _t_a_g, _d_i_r_e_c_t_i_o_n, _s_e_p_a_r_a_t_o_r))
               cchhaarr        * _t_e_x_t;;
               cchhaarr        **_t_a_g;;
               XXmmSSttrriinnggDDiirreeccttiioonn_d_i_r_e_c_t_i_o_n;;
               BBoooolleeaann     _s_e_p_a_r_a_t_o_r;;


     DDEESSCCRRIIPPTTIIOONN
          XXmmSSttrriinnggSSeeggmmeennttCCrreeaattee is a high-level function that
          assembles a compound string consisting of a font list
          element tag, a direction component, a text component, and an
          optional separator component.


          _t_e_x_t   Specifies a null-terminated string to be used as the
                 text component of the compound string.

          _t_a_g    Specifies the font list element tag to be associated
                 with the text.  The value XXmmFFOONNTTLLIISSTT__DDEEFFAAUULLTT__TTAAGG
                 identifies a locale text segment.

          _d_i_r_e_c_t_i_o_n
                 Specifies the direction of the text.

          _s_e_p_a_r_a_t_o_r
                 Specifies separator addition.  If False, the compound
                 string does not have a separator at the end.  If
                 True, a separator immediately follows the text
                 component.


     RREETTUURRNN VVAALLUUEE
          Returns a new compound string.

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmSSttrriinnggCCrreeaattee((33XX)).









     2-592                                            (printed 5/7/92)






     XXmmSSttrriinnggSSeeppaarraattoorrCCrreeaattee((33XXRR)e)effeerreennccee PPaaggeeXXsmsmSSttrriinnggSSeeppaarraattoorrCCrreeaattee((33XX))



     NNAAMMEE
          XXmmSSttrriinnggSSeeppaarraattoorrCCrreeaattee-A compound string function that
          creates a compound string

     AAEESS SSUUPPPPOORRTT LLEEVVEELL
          Trial-use

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//XXmm..hh>>

          XXmmSSttrriinngg XXmmSSttrriinnggSSeeppaarraattoorrCCrreeaattee (())


     DDEESSCCRRIIPPTTIIOONN
          XXmmSSttrriinnggSSeeppaarraattoorrCCrreeaattee creates a compound string with a
          single component, a separator.

     RREETTUURRNN VVAALLUUEE
          Returns a new compound string.

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmSSttrriinnggCCrreeaattee((33XX)).

































     2-593                                            (printed 5/7/92)






     XXmmSSttrriinnggTTaabbllee((33XX))        RReeffeerreennccee PPaaggeess        XXmmSSttrriinnggTTaabbllee((33XX))



     NNAAMMEE
          XXmmSSttrriinnggTTaabbllee-Data type for an array of compound strings

     AAEESS SSUUPPPPOORRTT LLEEVVEELL
          Full-use

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//XXmm..hh>>


     DDEESSCCRRIIPPTTIIOONN
          XXmmSSttrriinnggTTaabbllee is the data type for an array of compound
          strings (objects of type XXmmSSttrriinngg).

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmSSttrriinngg((33XX)).







































     2-594                                            (printed 5/7/92)






     XXmmSSttrriinnggWWiiddtthh((33XX))        RReeffeerreennccee PPaaggeess        XXmmSSttrriinnggWWiiddtthh((33XX))



     NNAAMMEE
          XXmmSSttrriinnggWWiiddtthh-A compound string function that returns the
          width of the longest sequence of text components in a
          compound string

     AAEESS SSUUPPPPOORRTT LLEEVVEELL
          Trial-use

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//XXmm..hh>>

          DDiimmeennssiioonn XXmmSSttrriinnggWWiiddtthh ((_f_o_n_t_l_i_s_t, _s_t_r_i_n_g))
               XXmmFFoonnttLLiisstt_f_o_n_t_l_i_s_t;;
               XXmmSSttrriinngg  _s_t_r_i_n_g;;


     DDEESSCCRRIIPPTTIIOONN
          XXmmSSttrriinnggWWiiddtthh returns the width, in pixels, of the longest
          sequence of text components in the provided compound string.
          Separator components are used to delimit sequences of text
          components.

          When _s_t_r_i_n_g has been created with XXmmSSttrriinnggCCrreeaatteeSSiimmppllee, the
          font associated with the character set derived from the
          current language environment must appear at the front of
          _f_o_n_t_l_i_s_t.  Otherwise, the result of the function is
          undefined.


          _f_o_n_t_l_i_s_t
                 Specifies the font list

          _s_t_r_i_n_g Specifies the string


     RREETTUURRNN VVAALLUUEE
          Returns the width of the compound string.

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmSSttrriinnggCCrreeaattee((33XX)) and XXmmSSttrriinnggCCrreeaatteeSSiimmppllee((33XX)).















     2-595                                            (printed 5/7/92)



 V
