<!-- $XConsortium: DirectA.sgm /main/8 1996/09/08 20:38:49 rws $ -->
<!-- (c) Copyright 1995 Digital Equipment Corporation. -->
<!-- (c) Copyright 1995 Hewlett-Packard Company. -->
<!-- (c) Copyright 1995 International Business Machines Corp. -->
<!-- (c) Copyright 1995 Sun Microsystems, Inc. -->
<!-- (c) Copyright 1995 Novell, Inc. -->
<!-- (c) Copyright 1995 FUJITSU LIMITED. -->
<!-- (c) Copyright 1995 Hitachi. -->

<RefEntry Id="CDEMMA.MAN200.rsml.1">
<RefMeta>
<RefEntryTitle>XmDirection</RefEntryTitle>
<ManVolNum>library call</ManVolNum>
</RefMeta>
<RefNameDiv>
<RefName><StructName Role="typedef">XmDirection</StructName></RefName>
<RefPurpose>Data type for the direction of widget components
<IndexTerm>
<Primary>XmDirection</Primary>
</IndexTerm><IndexTerm>
<Primary>data types</Primary>
<Secondary>XmDirection</Secondary>
</IndexTerm></RefPurpose>
</RefNameDiv>
<!-- @OSF_COPYRIGHT@-->
<!-- COPYRIGHT NOTICE-->
<!-- Copyright (c) 1990, 1991, 1992, 1993 Open Software Foundation, Inc.-->
<!-- ALL RIGHTS RESERVED (MOTIF). See the file named COPY.MOTIF.DOC for-->
<!-- the full copyright text.-->
<!-- -->
<!-- -->
<!-- HISTORY-->
<RefSynopsisDiv>
<Synopsis>&npzwc;#include &lt;Xm/Xm.h>
</Synopsis>
</RefSynopsisDiv>
<RefSect1>
<Title>DESCRIPTION</Title>
<Para><StructName Role="typedef">XmDirection</StructName> is the data type specifying the direction in which
the system displays subwidgets, children of
widgets, or other visual components that are to be laid out.
This data type also affects traversal order within tab groups.
</Para>
<Para><StructName Role="typedef">XmDirection</StructName> is implemented as an unsigned char bit mask.
The horizontal and vertical directions can be specified independent of
each other. <StructName Role="typedef">XmDirection</StructName> also specifies the precedence of the
horizontal and vertical directions relative to each other. For
example, a value of <SystemItem Class="Constant">XmRIGHT_TO_LEFT_TOP_TO_BOTTOM</SystemItem> lays out a
component horizontally from right to left first, then vertically
top to bottom.
</Para>
<Para><StructName Role="typedef">XmDirection</StructName> provides the following masks, each of which
corresponds to a particular bit in <StructName Role="typedef">XmDirection</StructName>:
</Para>
<ItemizedList>
<ListItem>
<Para><SystemItem Class="Constant">XmRIGHT_TO_LEFT_MASK</SystemItem>
</Para>
</ListItem>
<ListItem>
<Para><SystemItem Class="Constant">XmLEFT_TO_RIGHT_MASK</SystemItem>
</Para>
</ListItem>
<ListItem>
<Para><SystemItem Class="Constant">XmTOP_TO_BOTTOM_MASK</SystemItem>
</Para>
</ListItem>
<ListItem>
<Para><SystemItem Class="Constant">XmBOTTOM_TO_TOP_MASK</SystemItem>
</Para>
</ListItem>
<ListItem>
<Para><SystemItem Class="Constant">XmPRECEDENCE_HORIZ_MASK</SystemItem>
</Para>
</ListItem>
<ListItem>
<Para><SystemItem Class="Constant">XmPRECEDENCE_VERT_MASK</SystemItem>
</Para>
</ListItem>
</ItemizedList>
<Para>In addition to the preceding single bit masks, <StructName Role="typedef">XmDirection</StructName>
also provides the following multiple bit masks. These multiple
bit masks are particularly useful as arguments to
<Function>XmDirectionMatchPartial</Function>:
</Para>
<ItemizedList>
<ListItem>
<Para><SystemItem Class="Constant">XmHORIZONTAL_MASK</SystemItem>
</Para>
</ListItem>
<ListItem>
<Para><SystemItem Class="Constant">XmPRECEDENCE_MASK</SystemItem>
</Para>
</ListItem>
<ListItem>
<Para><SystemItem Class="Constant">XmVERTICAL_MASK</SystemItem>
</Para>
</ListItem>
</ItemizedList>
<Para>Motif also provides the following enumerated constants for
specifying various combinations of directions:
</Para>
<VariableList>
<VarListEntry>
<Term><SystemItem Class="Constant">XmRIGHT_TO_LEFT_TOP_TO_BOTTOM</SystemItem></Term>
<ListItem>
<Para>Specifies that the components are laid out from right to left first, then
top to bottom.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Constant">XmLEFT_TO_RIGHT_TOP_TO_BOTTOM</SystemItem></Term>
<ListItem>
<Para>Specifies that the components are laid out from left to right first, then
top to bottom.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Constant">XmRIGHT_TO_LEFT_BOTTOM_TO_TOP</SystemItem></Term>
<ListItem>
<Para>Specifies that the components are laid out from right to left first, then
bottom to top.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Constant">XmLEFT_TO_RIGHT_BOTTOM_TO_TOP</SystemItem></Term>
<ListItem>
<Para>Specifies that the components are laid out from left to right first, then
bottom to top.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Constant">XmTOP_TO_BOTTOM_RIGHT_TO_LEFT</SystemItem></Term>
<ListItem>
<Para>Specifies that the components are laid out from top to bottom first, then
right to left.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Constant">XmTOP_TO_BOTTOM_LEFT_TO_RIGHT</SystemItem></Term>
<ListItem>
<Para>Specifies that the components are laid out from top to bottom first, then
left to right.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Constant">XmBOTTOM_TO_TOP_RIGHT_TO_LEFT</SystemItem></Term>
<ListItem>
<Para>Specifies that the components are laid out from bottom to top first, then
right to left.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Constant">XmBOTTOM_TO_TOP_LEFT_TO_RIGHT</SystemItem></Term>
<ListItem>
<Para>Specifies that the components are laid out from bottom to top first, then
left to right.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Constant">XmTOP_TO_BOTTOM</SystemItem></Term>
<ListItem>
<Para>Specifies that the components are laid out from top to bottom.
If horizontal direction is important, do not use this constant.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Constant">XmBOTTOM_TO_TOP</SystemItem></Term>
<ListItem>
<Para>Specifies that the components are laid out from bottom to top.
If horizontal direction is important, do not use this constant.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Constant">XmDEFAULT_DIRECTION</SystemItem></Term>
<ListItem>
<Para>Specifies that the components are laid out according to the default
direction. (This constant is primarily for widget writers.)
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Constant">XmLEFT_TO_RIGHT</SystemItem></Term>
<ListItem>
<Para>Specifies that the components are laid out from left to right.
If vertical direction is important, do not use this constant.
</Para>
</ListItem>
</VarListEntry>
<VarListEntry>
<Term><SystemItem Class="Constant">XmRIGHT_TO_LEFT</SystemItem></Term>
<ListItem>
<Para>Specifies that the components are laid out from right to left.
If vertical direction is important, do not use this constant.
</Para>
</ListItem>
</VarListEntry>
</VariableList>
</RefSect1>
<RefSect1>
<Title>RELATED</Title>
<Para>&cdeman.XmDirectionMatch;, &cdeman.XmDirectionMatchPartial;,
&cdeman.XmDirectionToStringDirection;, &cdeman.XmString;,
&cdeman.XmStringDirection;, and
&cdeman.XmStringDirectionToDirection;.
</Para>
</RefSect1>
</RefEntry>
<!--fickle 1.09 7/2/95-->
