Create Xref-Html Frames                    Remove All Frames
file:c:/local/Cygwin/usr/X11R6/include/Xm/Xm.h        (Tue Mar 30 23:22:48 2004 )


   1: /**
   2:  *
   3:  * $Header: /cvsroot/lesstif/lesstif/include/Motif-2.1/Xm/Xm.h.in,v 1.33 2002/09/10 22:09:13 dannybackx Exp $
   4:  *
   5:  * Copyright © 1995 Free Software Foundation, Inc.
   6:  * Copyright © 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 LessTif Development Team
   7:  *
   8:  * This file is part of the GNU LessTif Library.
   9:  *
  10:  * This library is free software; you can redistribute it and/or
  11:  * modify it under the terms of the GNU Library General Public
  12:  * License as published by the Free Software Foundation; either
  13:  * version 2 of the License, or (at your option) any later version.
  14:  *
  15:  * This library is distributed in the hope that it will be useful,
  16:  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  17:  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  18:  * Library General Public License for more details.
  19:  *
  20:  * You should have received a copy of the GNU Library General Public
  21:  * License along with this library; if not, write to the Free
  22:  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  23:  *
  24:  **/
  25: 
  26: 
  27: #ifndef _XM_XM_H
  28: #define _XM_XM_H
  29: 
  30: #include <stddef.h>    /* for  wchar_t, etc. */
  31: 
  32: #include <X11/Intrinsic.h>
  33: #include <X11/Shell.h>
  34: #include <X11/Xatom.h>
  35: 
  36: /* handy little define */
  37: 
  38: #if NeedFunctionPrototypes
  39: #define _XmANSI_ARGS_(args) args
  40: #else
  41: #define _XmANSI_ARGS_(args) ()
  42: #endif
  43: 
  44: /* Version Information */
  45: #define LESSTIF_VERSION  0
  46: #define LESSTIF_REVISION 93
  47: 
  48: #define LesstifVersion (LESSTIF_VERSION * 1000 + LESSTIF_REVISION)
  49: #define LesstifVERSION_STRING "@(#)GNU/LessTif Version 2.1 Release 0.93.94"
  50: 
  51: /* since we're replacing Motif 2.1... */
  52: #define XmVERSION 2
  53: #define XmREVISION 1
  54: #define XmVersion (XmVERSION * 1000 + XmREVISION)
  55: #define XmVERSION_STRING LesstifVERSION_STRING
  56: #define XmUPDATE_LEVEL 0
  57: 
  58: /* Our headers may use the #defines made above! */
  59: #include <Xm/XmStrDefs.h>
  60: #include <Xm/VirtKeys.h>
  61: #include <Xm/Transfer.h>
  62: #include <Xm/Primitive.h>
  63: #include <Xm/Manager.h>
  64: #include <Xm/Gadget.h>
  65: 
  66: #ifdef __cplusplus
  67: extern "C" {
  68: #endif
  69: 
  70: extern int xmUseVersion;
  71: 
  72: /* pixmap stuff */
  73: 
  74: #define XmUNSPECIFIED_PIXMAP  2
  75: 
  76: /* define for easy checking for unset resources */
  77: 
  78: #define XmUNSPECIFIED (~0)
  79: 
  80: /*
  81:  * vendor defines (hey, GNU is a vendor)
  82:  */
  83: #define XmSTRING_OS_CHARSET             XmSTRING_ISO8859_1
  84: #ifndef XmFALLBACK_CHARSET
  85: #define XmFALLBACK_CHARSET              XmSTRING_ISO8859_1
  86: #endif
  87: 
  88: #define XmDEFAULT_FONT                  _XmSDEFAULT_FONT
  89: #define XmDEFAULT_BACKGROUND            _XmSDEFAULT_BACKGROUND
  90: #define XmDEFAULT_DARK_THRESHOLD        20
  91: #define XmDEFAULT_LIGHT_THRESHOLD       93
  92: #define XmDEFAULT_FOREGROUND_THRESHOLD  70
  93: 
  94: extern char    _XmSDEFAULT_FONT[];
  95: extern char    _XmSDEFAULT_BACKGROUND[];
  96: 
  97: typedef unsigned char XmDirection;
  98: 
  99: #define XmDIRECTION_IGNORED 0x30
 100: 
 101: #define XmRIGHT_TO_LEFT_MASK 0x01
 102: #define XmLEFT_TO_RIGHT_MASK 0x02
 103: #define XmHORIZONTAL_MASK 0x03
 104: #define XmTOP_TO_BOTTOM_MASK 0x04
 105: #define XmBOTTOM_TO_TOP_MASK 0x08
 106: #define XmVERTICAL_MASK 0x0c
 107: #define XmPRECEDENCE_HORIZ_MASK 0x40
 108: #define XmPRECEDENCE_VERT_MASK 0x80
 109: #define XmPRECEDENCE_MASK 0xc0
 110: 
 111: enum {
 112:     XmRIGHT_TO_LEFT_TOP_TO_BOTTOM =
 113:         XmRIGHT_TO_LEFT_MASK | XmTOP_TO_BOTTOM_MASK | XmPRECEDENCE_HORIZ_MASK,
 114:     XmLEFT_TO_RIGHT_TOP_TO_BOTTOM =
 115:         XmLEFT_TO_RIGHT_MASK | XmTOP_TO_BOTTOM_MASK | XmPRECEDENCE_HORIZ_MASK,
 116:     XmRIGHT_TO_LEFT_BOTTOM_TO_TOP =
 117:         XmRIGHT_TO_LEFT_MASK | XmBOTTOM_TO_TOP_MASK | XmPRECEDENCE_HORIZ_MASK,
 118:     XmLEFT_TO_RIGHT_BOTTOM_TO_TOP =
 119:         XmLEFT_TO_RIGHT_MASK | XmBOTTOM_TO_TOP_MASK | XmPRECEDENCE_HORIZ_MASK,
 120:     XmTOP_TO_BOTTOM_RIGHT_TO_LEFT =
 121:         XmRIGHT_TO_LEFT_MASK | XmTOP_TO_BOTTOM_MASK | XmPRECEDENCE_VERT_MASK,
 122:     XmTOP_TO_BOTTOM_LEFT_TO_RIGHT =
 123:         XmLEFT_TO_RIGHT_MASK | XmTOP_TO_BOTTOM_MASK | XmPRECEDENCE_VERT_MASK,
 124:     XmBOTTOM_TO_TOP_RIGHT_TO_LEFT =
 125:         XmRIGHT_TO_LEFT_MASK | XmBOTTOM_TO_TOP_MASK | XmPRECEDENCE_VERT_MASK,
 126:     XmBOTTOM_TO_TOP_LEFT_TO_RIGHT =
 127:         XmLEFT_TO_RIGHT_MASK | XmBOTTOM_TO_TOP_MASK | XmPRECEDENCE_VERT_MASK,
 128:     XmTOP_TO_BOTTOM =
 129:         XmTOP_TO_BOTTOM_MASK | XmHORIZONTAL_MASK | XmPRECEDENCE_MASK,
 130:     XmBOTTOM_TO_TOP =
 131:         XmBOTTOM_TO_TOP_MASK | XmHORIZONTAL_MASK | XmPRECEDENCE_MASK,
 132:     XmRIGHT_TO_LEFT =
 133:         XmRIGHT_TO_LEFT_MASK | XmVERTICAL_MASK | XmPRECEDENCE_MASK,
 134:     XmLEFT_TO_RIGHT =
 135:         XmLEFT_TO_RIGHT_MASK | XmVERTICAL_MASK | XmPRECEDENCE_MASK,
 136:     XmDEFAULT_DIRECTION = 0xff
 137: };
 138:   
 139: /*
 140:  * XmString stuff
 141:  */
 142: 
 143: typedef enum {
 144:     XmFONT_IS_FONT,
 145:     XmFONT_IS_FONTSET,
 146:     XmFONT_IS_XOC,  /* IBM's BiDi extension to Motif */
 147:     XmFONT_IS_XFT /* FontConfig */
 148: } XmFontType;
 149: 
 150: enum {
 151:     XmSTRING_DIRECTION_L_TO_R, 
 152:     XmSTRING_DIRECTION_R_TO_L,
 153:     XmSTRING_DIRECTION_UNSET = 3,
 154:     XmSTRING_DIRECTION_DEFAULT = XmDEFAULT_DIRECTION
 155: };
 156: 
 157: typedef unsigned char XmStringDirection;
 158: typedef unsigned char *XmString;
 159: typedef XmString *XmStringTable;
 160: typedef char *XmStringCharSet;
 161: typedef unsigned char XmStringComponentType;
 162: typedef char *XmStringTag;
 163: 
 164: typedef struct __XmStringContextRec *_XmStringContext;
 165: typedef struct __XmStringRec *_XmString;
 166: typedef struct _XmtStringContextRec *XmStringContext;
 167: typedef struct _XmFontListContextRec *XmFontContext;
 168: 
 169: /*
 170:  * Rendering stuff
 171:  *  The definitions for this replace some older XmFontList* stuff.
 172:  *  Here's the old stuff for reference :
 173:  *  typedef struct _XmFontListRec *XmFontListEntry, *XmFontList;
 174:  */
 175: typedef struct __XmRenditionRec   *XmFontListEntry;
 176: typedef struct __XmRenderTableRec *XmFontList;
 177: 
 178: typedef struct __XmRenditionRec   *XmRendition;
 179: typedef struct __XmRenderTableRec *XmRenderTable;
 180: 
 181: enum {
 182:     XmSTRING_COMPONENT_UNKNOWN,   /* 0 */
 183:     XmSTRING_COMPONENT_CHARSET,   /* 1 */
 184:     XmSTRING_COMPONENT_TEXT,    /* 2 */
 185:     XmSTRING_COMPONENT_DIRECTION, /* 3 */
 186:     XmSTRING_COMPONENT_SEPARATOR, /* 4 */
 187:     XmSTRING_COMPONENT_LOCALE_TEXT, /* 5 */
 188:     XmSTRING_COMPONENT_LOCALE,    /* 6 */
 189:     XmSTRING_COMPONENT_WIDECHAR_TEXT, /* 7 */
 190:     XmSTRING_COMPONENT_LAYOUT_PUSH, /* 8 */
 191:     XmSTRING_COMPONENT_LAYOUT_POP,  /* 9 */
 192:     XmSTRING_COMPONENT_RENDITION_BEGIN, /* 10 */
 193:     XmSTRING_COMPONENT_RENDITION_END, /* 11 */
 194:     XmSTRING_COMPONENT_TAB    /* 12 */
 195:     /* 13 - 125 is said to be reserved */
 196: };
 197: 
 198: #define XmSTRING_COMPONENT_FONTLIST_ELEMENT_TAG XmSTRING_COMPONENT_CHARSET
 199: 
 200: #define XmSTRING_COMPONENT_TAG          XmSTRING_COMPONENT_CHARSET
 201: 
 202: #define XmSTRING_COMPONENT_END          ((XmStringComponentType) 126)
 203: /* anybody know what 127 is? */
 204: #define XmSTRING_COMPONENT_USER_BEGIN   ((XmStringComponentType) 128)
 205: /* 128-255 are user tags */
 206: #define XmSTRING_COMPONENT_USER_END     ((XmStringComponentType) 255)
 207: 
 208: typedef enum {
 209:     XmCHARSET_TEXT,
 210:     XmMULTIBYTE_TEXT,
 211:     XmWIDECHAR_TEXT,
 212:     XmNO_TEXT
 213: } XmTextType;
 214: 
 215: typedef enum {
 216:     XmOUTPUT_ALL,
 217:     XmOUTPUT_BETWEEN,
 218:     XmOUTPUT_BEGINNING,
 219:     XmOUTPUT_END,
 220:     XmOUTPUT_BOTH
 221: } XmParseModel;
 222: 
 223: typedef struct __XmParseMappingRec *XmParseMapping;     /* Definition hidden in source */
 224: typedef XmParseMapping             *XmParseTable;
 225: typedef unsigned char XmIncludeStatus;
 226: 
 227: typedef XmIncludeStatus (*XmParseProc) (
 228:   XtPointer *text_in_out,
 229:   XtPointer text_end,
 230:   XmTextType  type,
 231:   XmStringTag tag,
 232:   XmParseMapping  entry,
 233:   int   pattern_length,
 234:   XmString  *str_include,
 235:   XtPointer call_data);
 236: 
 237: enum {
 238:     XmINSERT,
 239:     XmTERMINATE,
 240:     XmINVOKE
 241: };
 242: 
 243: typedef enum {
 244:     XmSTYLE_STRING = XStringStyle,
 245:     XmSTYLE_COMPOUND = XCompoundTextStyle,
 246:     XmSTYLE_TEXT = XTextStyle,
 247:     XmSTYLE_STANDARD_ICC_TEXT = XStdICCTextStyle,
 248:     XmSTYLE_LOCALE = 32,
 249:     XmSTYLE_COMPOUND_STRING
 250: } XmICCEncodingStyle;
 251: 
 252: /* tab list stuff */
 253: typedef enum {
 254:     XmABSOLUTE,
 255:     XmRELATIVE
 256: } XmOffsetModel;
 257: 
 258: typedef struct _XmTabRec *XmTab;
 259: typedef struct _XmTabListRec  *XmTabList;
 260: 
 261: /* render table stuff */
 262: 
 263: typedef enum {
 264:     XmSKIP,
 265:     XmMERGE_REPLACE,
 266:     XmMERGE_OLD,
 267:     XmMERGE_NEW,
 268:     XmDUPLICATE
 269: } XmMergeMode;
 270: 
 271: #define XmAS_IS 255
 272: #define XmFORCE_COLOR 1
 273: 
 274: #define XmUNSPECIFIED_PIXEL ((Pixel) (~0))
 275: #define XmDEFAULT_SELECT_COLOR XmUNSPECIFIED_PIXEL
 276: #define XmREVERSED_GROUND_COLORS (XmDEFAULT_SELECT_COLOR - 1)
 277: #define XmHIGHLIGHT_COLOR (XmREVERSED_GROUND_COLORS - 1)
 278: 
 279: enum {
 280:     XmUNSPECIFIED_LOAD_MODEL,
 281:     XmLOAD_DEFERRED,
 282:     XmLOAD_IMMEDIATE
 283: };
 284: 
 285: /* size policy stuff */
 286: 
 287: enum {
 288:     XmCHANGE_ALL,
 289:     XmCHANGE_NONE,
 290:     XmCHANGE_WIDTH,
 291:     XmCHANGE_HEIGHT
 292: };
 293: 
 294: /* unitType stuff */
 295: 
 296: enum {
 297:   XmPIXELS,
 298:   Xm100TH_MILLIMETERS,
 299:   Xm1000TH_INCHES,
 300:   Xm100TH_POINTS,
 301:   Xm100TH_FONT_UNITS,
 302:   XmINCHES,
 303:   XmCENTIMETERS,
 304:   XmMILLIMETERS,
 305:   XmPOINTS,
 306:   XmFONT_UNITS
 307: };
 308: 
 309: /* delete Responses for VendorShell */
 310: 
 311: enum {
 312:     XmDESTROY,
 313:     XmUNMAP,
 314:     XmDO_NOTHING
 315: };
 316: 
 317: /* keyboard focus policies for VendorShell */
 318: 
 319: enum {
 320:     XmEXPLICIT,
 321:     XmPOINTER
 322: };
 323: 
 324: /* Navigation stuff */
 325: 
 326: enum {
 327:     XmNONE,
 328:     XmTAB_GROUP,
 329:     XmSTICKY_TAB_GROUP,
 330:     XmEXCLUSIVE_TAB_GROUP
 331: };
 332: 
 333: /* Audible Warning types for VendorShell */
 334: 
 335: enum {
 336: /* implied
 337:  *  XmNONE
 338:  */
 339:     XmBELL = 1
 340: };
 341: 
 342: /* Input Manager types */
 343: enum {
 344:     XmPER_SHELL,
 345:     XmPER_WIDGET,
 346:     XmINHERIT_POLICY = 255
 347: };
 348: 
 349: /* Note: The define in XmI.h was changed to XmIMInputPolicy. */
 350: typedef unsigned char XmInputPolicy;
 351: 
 352: /* various widgets' orientation, menu definitions */
 353: 
 354: enum {
 355:     XmNO_ORIENTATION,
 356:     XmVERTICAL,
 357:     XmHORIZONTAL
 358: };
 359: 
 360: /* row column types */
 361: 
 362: enum {
 363:     XmWORK_AREA,
 364:     XmMENU_BAR,
 365:     XmMENU_PULLDOWN,
 366:     XmMENU_POPUP,
 367:     XmMENU_OPTION
 368: };
 369: 
 370: /* row column packing strategies */
 371: 
 372: enum {
 373:     XmNO_PACKING,
 374:     XmPACK_TIGHT,
 375:     XmPACK_COLUMN,
 376:     XmPACK_NONE
 377: };
 378: 
 379: enum {
 380: /* implied
 381:  *  XmALIGNMENT_BASELINE_TOP,
 382:  *  XmALIGNMENT_CENTER,
 383:  *  XmALIGNMENT_BASELINE_BOTTOM,
 384:  */
 385:     XmALIGNMENT_CONTENTS_TOP = 3,
 386:     XmALIGNMENT_CONTENTS_BOTTOM
 387: };
 388: 
 389: enum {
 390:     XmTEAR_OFF_ENABLED,
 391:     XmTEAR_OFF_DISABLED
 392: };
 393: 
 394: enum {
 395:     XmUNPOST,
 396:     XmUNPOST_AND_REPLAY
 397: };
 398: 
 399: /* XmPanedWindow positioning */
 400: enum {
 401:   XmLAST_POSITION = -1,
 402:   XmFIRST_POSITION
 403: };
 404: 
 405: /* XmComboBox types */
 406: enum {
 407:    XmCOMBO_BOX = 0,
 408:    XmDROP_DOWN_COMBO_BOX,
 409:    XmDROP_DOWN_LIST
 410: };
 411: 
 412: /* XmComboBox: XmNpositionMode resource */
 413: enum {
 414:   XmZERO_BASED,
 415:   XmONE_BASED
 416: };
 417: 
 418: enum {
 419:    XmQUICK_NAVIGATE = 1
 420: };
 421: 
 422: /* Label and Frame alignments */
 423: 
 424: enum {
 425:     XmALIGNMENT_BEGINNING,
 426:     XmALIGNMENT_CENTER,
 427:     XmALIGNMENT_END
 428: };
 429: 
 430: enum {
 431:     XmALIGNMENT_BASELINE_TOP,
 432: /* implied
 433:  *  XmALIGNMENT_CENTER
 434:  */
 435:     XmALIGNMENT_BASELINE_BOTTOM = 2,
 436:     XmALIGNMENT_WIDGET_TOP,
 437:     XmALIGNMENT_WIDGET_BOTTOM
 438: };
 439: 
 440: #define XmALIGNMENT_CHILD_TOP XmALIGNMENT_WIDGET_BOTTOM
 441: #define XmALIGNMENT_CHILD_BOTTOM XmALIGNMENT_WIDGET_TOP 
 442: 
 443: /* Frame Child Types */
 444: 
 445: enum {
 446:     XmFRAME_GENERIC_CHILD,
 447:     XmFRAME_WORKAREA_CHILD,
 448:     XmFRAME_TITLE_CHILD
 449: };
 450: 
 451: /* For toggle button stuff */
 452: enum {
 453:     XmN_OF_MANY = 1,
 454:     XmONE_OF_MANY,
 455:     XmONE_OF_MANY_ROUND,
 456:     XmONE_OF_MANY_DIAMOND
 457: };
 458: 
 459: enum { XmUNSET, XmSET, XmINDETERMINATE };
 460: enum { XmTOGGLE_BOOLEAN, XmTOGGLE_INDETERMINATE };
 461: 
 462: typedef unsigned char XmToggleButtonState;
 463: 
 464: /* Form attachments */
 465: 
 466: enum {
 467:     XmATTACH_NONE,
 468:     XmATTACH_FORM,
 469:     XmATTACH_OPPOSITE_FORM,
 470:     XmATTACH_WIDGET,
 471:     XmATTACH_OPPOSITE_WIDGET,
 472:     XmATTACH_POSITION,
 473:     XmATTACH_SELF
 474: };
 475: 
 476: /* resize policies for some manager widgets */
 477: 
 478: enum {
 479:     XmRESIZE_NONE,
 480:     XmRESIZE_GROW,
 481:     XmRESIZE_ANY
 482: };
 483: 
 484: /* callback reasons */
 485: 
 486: enum {
 487:     XmCR_NONE,        /* 0 */
 488:     XmCR_HELP,        /* 1 */
 489:     XmCR_VALUE_CHANGED,     /* 2 */
 490:     XmCR_INCREMENT,     /* 3 */
 491:     XmCR_DECREMENT,     /* 4 */
 492:     XmCR_PAGE_INCREMENT,    /* 5 */
 493:     XmCR_PAGE_DECREMENT,    /* 6 */
 494:     XmCR_TO_TOP,      /* 7 */
 495:     XmCR_TO_BOTTOM,     /* 8 */
 496:     XmCR_DRAG,        /* 9 */
 497:     XmCR_ACTIVATE,      /* 10 */
 498:     XmCR_ARM,       /* 11 */
 499:     XmCR_DISARM,      /* 12 */
 500:     XmCR_DUMMY13,     /* 13 */
 501:     XmCR_DUMMY14,     /* 14 */
 502:     XmCR_DUMMY15,     /* 15 */
 503:     XmCR_MAP,       /* 16 */
 504:     XmCR_UNMAP,       /* 17 */
 505:     XmCR_FOCUS,       /* 18 */
 506:     XmCR_LOSING_FOCUS,      /* 19 */
 507:     XmCR_MODIFYING_TEXT_VALUE,    /* 20 */
 508:     XmCR_MOVING_INSERT_CURSOR,    /* 21 */
 509:     XmCR_EXECUTE,     /* 22 */
 510:     XmCR_SINGLE_SELECT,     /* 23 */
 511:     XmCR_MULTIPLE_SELECT,   /* 24 */
 512:     XmCR_EXTENDED_SELECT,   /* 25 */
 513:     XmCR_BROWSE_SELECT,     /* 26 */
 514:     XmCR_DEFAULT_ACTION,    /* 27 */
 515:     XmCR_CLIPBOARD_DATA_REQUEST,  /* 28 */
 516:     XmCR_CLIPBOARD_DATA_DELETE,   /* 29 */
 517:     XmCR_CASCADING,     /* 30 */
 518:     XmCR_OK,        /* 31 */
 519:     XmCR_CANCEL,      /* 32 */
 520:     XmCR_DUMMY33,     /* 33 */
 521:     XmCR_APPLY,       /* 34 */
 522:     XmCR_NO_MATCH,      /* 35 */
 523:     XmCR_COMMAND_ENTERED,   /* 36 */
 524:     XmCR_COMMAND_CHANGED,   /* 37 */
 525:     XmCR_EXPOSE,      /* 38 */
 526:     XmCR_RESIZE,      /* 39 */
 527:     XmCR_INPUT,       /* 40 */
 528:     XmCR_GAIN_PRIMARY,      /* 41 */
 529:     XmCR_LOSE_PRIMARY,      /* 42 */
 530:     XmCR_CREATE,      /* 43 */
 531:     XmCR_TEAR_OFF_ACTIVATE,   /* 44 */
 532:     XmCR_TEAR_OFF_DEACTIVATE,   /* 45 */
 533:     XmCR_OBSCURED_TRAVERSAL,    /* 46 */
 534:     XmCR_FOCUS_MOVED,     /* 47 */
 535:     XmCR_DUMMY48,     /* 48 */
 536:     XmCR_DUMMY49,     /* 49 */
 537:     XmCR_DUMMY50,     /* 50 */
 538:     XmCR_DUMMY51,     /* 51 */
 539:     XmCR_DUMMY52,     /* 52 */
 540:     XmCR_DUMMY53,     /* 53 */
 541:     XmCR_REPOST,      /* 54 */
 542:     XmCR_COLLAPSED,     /* 55 */
 543:     XmCR_EXPANDED,      /* 56 */
 544:     XmCR_SELECT,      /* 57 */
 545:     XmCR_DRAG_START,      /* 58 */
 546:     XmCR_NO_FONT,     /* 59 */
 547:     XmCR_NO_RENDITION,      /* 60 */
 548:     XmCR_POST,        /* 61 */
 549:     XmCR_SPIN_NEXT,     /* 62 */
 550:     XmCR_SPIN_PRIOR,      /* 63 */
 551:     XmCR_SPIN_FIRST,      /* 64 */
 552:     XmCR_SPIN_LAST,     /* 65 */
 553:     XmCR_PAGE_SCROLLER_INCREMENT, /* 66 */
 554:     XmCR_PAGE_SCROLLER_DECREMENT, /* 67 */
 555:     XmCR_MAJOR_TAB,     /* 68 */
 556:     XmCR_MINOR_TAB,     /* 69 */
 557:   XmCR_START_JOB,
 558:   XmCR_END_JOB,
 559:   XmCR_PAGE_SETUP,
 560:     XmCR_PDM_NONE,                      /* ?? */
 561:     XmCR_PDM_START_VXAUTH,              /* ?? */
 562:     XmCR_PDM_START_PXAUTH,              /* ?? */
 563:     XmCR_PDM_UP,                        /* ?? */
 564:     XmCR_PDM_OK,                        /* ?? */
 565:     XmCR_PDM_CANCEL,                    /* ?? */
 566:     XmCR_PDM_START_ERROR,               /* ?? */
 567:     XmCR_PDM_EXIT_ERROR,                /* ?? */
 568:     XmCR_PROTOCOLS = 6666   /* Note: this was 47 in Motif 1.2x */
 569: };
 570: 
 571: /*
 572:  * callback structures
 573:  */
 574: 
 575: typedef struct {
 576:     int reason;
 577:     XEvent *event;
 578: } XmAnyCallbackStruct;
 579: 
 580: typedef struct {
 581:     int reason;
 582:     XEvent *event;
 583:     int click_count;
 584: } XmArrowButtonCallbackStruct;
 585: 
 586: typedef struct {
 587:     int reason;
 588:     XEvent *event;
 589:     XmString item_or_text;
 590:     int item_position;
 591: } XmComboBoxCallbackStruct;
 592: 
 593: typedef struct {
 594:     int reason;
 595:     XEvent *event;
 596:     XmString value;
 597:     int length;
 598: } XmCommandCallbackStruct;
 599: 
 600: typedef struct {
 601:     int reason;
 602:     XEvent *event;
 603:     Widget item;
 604:     unsigned char new_outline_state;
 605: } XmContainerOutlineCallbackStruct;
 606: 
 607: typedef struct {
 608:     int reason;
 609:     XEvent *event;
 610:     WidgetList selected_items;
 611:     int selected_item_count;
 612:     unsigned char auto_selection_type;
 613: } XmContainerSelectCallbackStruct;
 614: 
 615: typedef struct {
 616:     int reason;
 617:     XEvent *event;
 618:     XmRendition rendition;
 619:     char *font_name;
 620:     XmRenderTable render_table;
 621:     XmStringTag tag;
 622: } XmDisplayCallbackStruct;
 623: 
 624: typedef struct _XmDragStartCallbackStruct {
 625:     int reason;
 626:     XEvent *event;
 627:     Widget widget;
 628:     Boolean doit;
 629: } XmDragStartCallbackStruct, *XmDragStartCallback;
 630: 
 631: typedef struct {
 632:     int reason;
 633:     XEvent *event;
 634:     Window window;
 635: } XmDrawingAreaCallbackStruct;
 636: 
 637: typedef struct {
 638:     int reason;
 639:     XEvent *event;
 640:     Window window;
 641:     int click_count;
 642: } XmDrawnButtonCallbackStruct;
 643: 
 644: typedef struct {
 645:     int reason;
 646:     XEvent *event;
 647:     XmString value;
 648:     int length;
 649:     XmString mask;
 650:     int mask_length;
 651:     XmString dir;
 652:     int dir_length;
 653:     XmString pattern;
 654:     int pattern_length;
 655: } XmFileSelectionBoxCallbackStruct;
 656: 
 657: typedef struct {
 658:     int reason;                    /* reason callback was called */
 659:     XEvent *event;                 /* points to event structure */
 660:     XmString item;                 /* item most recently selected */
 661:     int item_length;               /* number of bytes in item member */
 662:     int item_position;             /* item's position in XmNitems */
 663:     XmString *selected_items;      /* list of items selected */
 664:     int selected_item_count;       /* number of items in selected_items */
 665:     int *selected_item_positions;  /* array of ints marking selected items */
 666:     char selection_type;           /* type of most recent selection */
 667:     unsigned char auto_selection_type;  /* type of automatic selection callback */
 668: } XmListCallbackStruct;
 669: 
 670: typedef struct {
 671:     int reason;
 672:     XEvent *event;
 673:     int page_number;
 674:     Widget page_widget;
 675:     int prev_page_number;
 676:     Widget prev_page_widget;
 677: } XmNotebookCallbackStruct;
 678: 
 679: typedef struct {
 680:     int reason;
 681:     XEvent *event;
 682:     Widget menuToPost;
 683:     Boolean postIt;
 684:     Widget target;
 685: } XmPopupHandlerCallbackStruct;
 686: 
 687: typedef struct {
 688:     int reason;                   /* reason callback was called */
 689:     XEvent *event;
 690:     int click_count;
 691: } XmPushButtonCallbackStruct;
 692: 
 693: typedef struct {
 694:     int reason;
 695:     XEvent *event;
 696:     Widget widget;
 697:     char *data;
 698:     char *callbackstruct;
 699: } XmRowColumnCallbackStruct;
 700: 
 701: 
 702: typedef struct {
 703:     int reason;                   /* reason callback was called */
 704:     XEvent *event;
 705:     int value;
 706: } XmScaleCallbackStruct;
 707: 
 708: typedef struct {
 709:     int reason;
 710:     XEvent *event;
 711:     int value;
 712:     int pixel;
 713: } XmScrollBarCallbackStruct;
 714: 
 715: typedef struct {
 716:     int reason;
 717:     XEvent *event;
 718:     XmString value;
 719:     int length;
 720: } XmSelectionBoxCallbackStruct;
 721: 
 722: typedef struct {
 723:     int reason;
 724:     XEvent *event;
 725:     Widget widget;
 726:     Boolean doit;
 727:     int position;
 728:     XmString value;
 729:     Boolean crossed_boundary;
 730: } XmSimpleSpinBoxCallbackStruct;
 731: 
 732: typedef struct {
 733:     int reason;
 734:     XEvent *event;
 735:     Widget widget;
 736:     Boolean doit;
 737:     int position;
 738:     XmString value;
 739:     Boolean crossed_boundary;
 740: } XmSpinBoxCallbackStruct;
 741: 
 742: typedef struct {
 743:     int reason;                   /* reason callback was called */
 744:     XEvent *event;
 745:     int set;
 746: } XmToggleButtonCallbackStruct;
 747: 
 748: /* multiclick */
 749: 
 750: enum {
 751:     XmMULTICLICK_DISCARD,
 752:     XmMULTICLICK_KEEP
 753: };
 754: 
 755: /* Drawn button overrides some of the ShadowTypes */
 756: enum {
 757:     XmSHADOW_IN = 7,
 758:     XmSHADOW_OUT
 759: };
 760: 
 761: /* Arrow button directions */
 762: enum {
 763:     XmARROW_UP,
 764:     XmARROW_DOWN,
 765:     XmARROW_LEFT,
 766:     XmARROW_RIGHT
 767: };
 768: 
 769: /* Shadow/Separator types */
 770: 
 771: enum {
 772:     XmNO_LINE,
 773:     XmSINGLE_LINE,
 774:     XmDOUBLE_LINE,
 775:     XmSINGLE_DASHED_LINE,
 776:     XmDOUBLE_DASHED_LINE,
 777:     XmSHADOW_ETCHED_IN,
 778:     XmSHADOW_ETCHED_OUT,
 779:     XmSHADOW_ETCHED_IN_DASH,
 780:     XmSHADOW_ETCHED_OUT_DASH,
 781:     XmINVALID_SEPARATOR_TYPE
 782: };
 783: 
 784: /* XmLabel types */
 785: 
 786: enum {
 787:     XmPIXMAP = 1,
 788:     XmSTRING
 789: };
 790: 
 791: /* DragDrop */
 792: enum {
 793:     XmWINDOW,
 794: /* implied
 795:  *  XmPIXMAP
 796:  */
 797:     XmCURSOR = 2
 798: };
 799: 
 800: /* maximum value resources */
 801: 
 802: enum {
 803:     XmMAX_ON_TOP,
 804:     XmMAX_ON_BOTTOM,
 805:     XmMAX_ON_LEFT,
 806:     XmMAX_ON_RIGHT
 807: };
 808: 
 809: /* list selection policies */
 810: 
 811: enum {
 812:     XmSINGLE_SELECT,
 813:     XmMULTIPLE_SELECT,
 814:     XmEXTENDED_SELECT,
 815:     XmBROWSE_SELECT
 816: };
 817: 
 818: enum {
 819:     XmSTATIC,
 820:     XmDYNAMIC
 821: };
 822: 
 823: enum {
 824:     XmNORMAL_MODE,
 825:     XmADD_MODE
 826: };
 827: 
 828: /* container stuff */
 829: 
 830: /* for XmRAutomaticSelection */
 831: enum {
 832:     XmNO_AUTO_SELECT,
 833:     XmAUTO_SELECT
 834: };
 835: 
 836: /* auto_selection_type */
 837: enum {
 838:    XmAUTO_UNSET,
 839:    XmAUTO_BEGIN,
 840:    XmAUTO_MOTION,
 841:    XmAUTO_CANCEL,
 842:    XmAUTO_NO_CHANGE,
 843:    XmAUTO_CHANGE
 844: };
 845: 
 846: /* for XmRLineStyle */
 847: enum { 
 848:  /* XmNO_LINE */
 849:     XmSINGLE = 1
 850: };
 851: 
 852: /* for XmREntryViewType */
 853: enum {
 854:  /* XmLARGE_ICON */
 855:  /* XmSMALL_ICON */
 856:     XmANY_ICON = 2
 857: };
 858: 
 859: /* for XmRSpatialIncludeModel */
 860: enum {
 861:     XmAPPEND,
 862:     XmCLOSEST,
 863:     XmFIRST_FIT
 864: };
 865: 
 866: /* for XmRLayoutType */
 867: enum {
 868:     XmOUTLINE,
 869:     XmSPATIAL,
 870:     XmDETAIL
 871: };
 872: 
 873: /* for XmNoutlineButtonPolicy */
 874: enum {
 875:     XmOUTLINE_BUTTON_PRESENT,
 876:     XmOUTLINE_BUTTON_ABSENT
 877: };
 878: 
 879: /* for XmRSpatialPlaceStyle */
 880: enum {
 881:  /* XmNONE */
 882:     XmGRID = 1,
 883:     XmCELLS
 884: };
 885: 
 886: /* for XmRPrimaryOwnership */
 887: enum {
 888:     XmOWN_NEVER,
 889:     XmOWN_ALWAYS,
 890:     XmOWN_MULTIPLE,
 891:     XmOWN_POSSIBLE_MULTIPLE
 892: };
 893: 
 894: /* for XmRSpatialResizeModel */
 895: enum {
 896:     XmGROW_MINOR,
 897:     XmGROW_MAJOR,
 898:     XmGROW_BALANCED
 899: };
 900: 
 901: /* for XmRSelectionTechnique */
 902: enum {
 903:     XmMARQUEE,
 904:     XmMARQUEE_EXTEND_START,
 905:     XmMARQUEE_EXTEND_BOTH,
 906:     XmTOUCH_ONLY,
 907:     XmTOUCH_OVER
 908: };
 909: 
 910: /* for XmRSpatialSnapModel */
 911: enum {
 912:  /* XmNONE */
 913:     XmSNAP_TO_GRID = 1,
 914:     XmCENTER
 915: };
 916: 
 917: /* for XmROutlineState */
 918: enum {
 919:     XmCOLLAPSED,
 920:     XmEXPANDED
 921: };
 922: 
 923: /* icon gadget stuff */
 924: 
 925: /* for XmRViewType */
 926: enum {
 927:     XmLARGE_ICON,
 928:     XmSMALL_ICON
 929: };
 930: 
 931: /* for XmRVisualEmphasis */
 932: enum {
 933:     XmSELECTED,
 934:     XmNOT_SELECTED
 935: };
 936: 
 937: /* notebook stuff */
 938: 
 939: #define XmUNSPECIFIED_PAGE_NUMBER       (-32768)
 940: 
 941: /* for XmRBindingType */
 942: enum {  
 943:  /* XmNONE */
 944:  /* XmPIXMAP */
 945:     XmSOLID = 2,
 946:     XmSPIRAL,
 947:     XmPIXMAP_OVERLAP_ONLY
 948: };
 949: 
 950: /* for XmRNBChildType */
 951: enum {
 952:  /* XmNONE */
 953:     XmPAGE = 1,
 954:     XmMAJOR_TAB,
 955:     XmMINOR_TAB,
 956:     XmSTATUS_AREA,
 957:     XmPAGE_SCROLLER
 958: };
 959: 
 960: /* spin box stuff */
 961: 
 962: /* for XmNarrowLayout */
 963: enum {
 964:     XmARROWS_END,
 965:     XmARROWS_BEGINNING,
 966:     XmARROWS_SPLIT,
 967:     XmARROWS_FLAT_END,
 968:     XmARROWS_FLAT_BEGINNING
 969: };
 970: 
 971: /* XmSpinBox XmNarrowOrientation */
 972: enum {
 973:   XmARROWS_HORIZONTAL,
 974:   XmARROWS_VERTICAL
 975: };
 976: 
 977: /* for XmNarrowSensitivity or XmNdefaultArrowSensitivity */
 978: enum {
 979:     XmARROWS_INSENSITIVE,
 980:     XmARROWS_INCREMENT_SENSITIVE,
 981:     XmARROWS_DECREMENT_SENSITIVE,
 982:     XmARROWS_SENSITIVE,
 983:     XmARROWS_DEFAULT_SENSITIVITY
 984: };
 985: 
 986: /* for XmNspinBoxChildType */
 987: enum {
 988:     XmNUMERIC = 3
 989: };
 990: 
 991: /* XmNpositionType for XmSpinBox */
 992: enum {
 993:   XmPOSITION_VALUE,
 994:   XmPOSITION_INDEX
 995: };
 996: 
 997: /* XmSpinBoxValidatePosition() return values */
 998: enum{
 999:    XmVALID_VALUE,
1000:    XmCURRENT_VALUE,
1001:    XmMINIMUM_VALUE,
1002:    XmMAXIMUM_VALUE,
1003:    XmINCREMENT_VALUE
1004: };
1005: 
1006: 
1007: /* scrolled window policy stuff */
1008: 
1009: enum {
1010:     XmVARIABLE,
1011:     XmCONSTANT,
1012:     XmRESIZE_IF_POSSIBLE 
1013: };
1014: 
1015: enum {
1016:     XmAUTOMATIC,
1017:     XmAPPLICATION_DEFINED
1018: };
1019: 
1020: enum {
1021: /* implied
1022:  *  XmSTATIC,
1023:  */
1024:     XmAS_NEEDED = 1
1025: };
1026: 
1027: enum {
1028:     XmBOTTOM_RIGHT,
1029:     XmTOP_RIGHT,
1030:     XmBOTTOM_LEFT,
1031:     XmTOP_LEFT
1032: };
1033: 
1034: /* main window command window locations */
1035: 
1036: enum {
1037:     XmCOMMAND_ABOVE_WORKSPACE,
1038:     XmCOMMAND_BELOW_WORKSPACE
1039: };
1040: 
1041: /* edit modes for text widgets */
1042: 
1043: enum {
1044:     XmMULTI_LINE_EDIT,
1045:     XmSINGLE_LINE_EDIT
1046: };
1047: 
1048: /* text directions */
1049: 
1050: typedef enum {
1051:     XmTEXT_FORWARD,
1052:     XmTEXT_BACKWARD
1053: } XmTextDirection;
1054: 
1055: typedef long XmTextPosition;
1056: typedef Atom XmTextFormat;
1057: 
1058: #define XmFMT_8_BIT ((XmTextFormat) XA_STRING)
1059: #define XmFMT_16_BIT  ((XmTextFormat) 2)  /* they _mean_ XA_SECONDARY ??? */
1060: 
1061: /*
1062:  * something about backwards compatibility... besides, xmcd needs these
1063:  */
1064: #define FMT8BIT  XmFMT_8_BIT
1065: #define FMT16BIT XmFMT_16_BIT
1066: 
1067: #define XmFMT_8_BIT ((XmTextFormat) XA_STRING)
1068: #define XmFMT_16_BIT  ((XmTextFormat) 2)  /* they _mean_ XA_SECONDARY ??? */
1069: 
1070: /* Stuff for Text Widgets */
1071: typedef enum {
1072:     XmSELECT_POSITION,
1073:     XmSELECT_WHITESPACE,
1074:     XmSELECT_WORD,
1075:     XmSELECT_LINE,
1076:     XmSELECT_ALL,
1077:     XmSELECT_PARAGRAPH,
1078:     XmSELECT_OUT_LINE
1079: } XmTextScanType;
1080: 
1081: /* highlight mode for text and textfield widgets */
1082: 
1083: typedef enum {
1084:     XmHIGHLIGHT_NORMAL,
1085:     XmHIGHLIGHT_SELECTED,
1086:     XmHIGHLIGHT_SECONDARY_SELECTED
1087: } XmHighlightMode;
1088: 
1089: typedef struct {
1090:     char *ptr;
1091:     int length;
1092:     XmTextFormat format;
1093: } XmTextBlockRec, *XmTextBlock;
1094: 
1095: /* keep the members comma separated, as that can be endian dependent */
1096: typedef struct {
1097:     int  reason;   
1098:     XEvent *event;
1099:     Boolean doit;
1100:     XmTextPosition currInsert, newInsert;
1101:     XmTextPosition startPos, endPos;
1102:     XmTextBlock text;
1103: } XmTextVerifyCallbackStruct, *XmTextVerifyPtr;
1104: 
1105: typedef struct {
1106:     wchar_t *wcsptr;
1107:     int length;
1108: } XmTextBlockRecWcs, *XmTextBlockWcs;
1109: 
1110: typedef struct {
1111:     int  reason;   
1112:     XEvent *event;
1113:     Boolean doit;
1114:     XmTextPosition currInsert, newInsert;
1115:     XmTextPosition startPos, endPos;
1116:     XmTextBlockWcs text;
1117: } XmTextVerifyCallbackStructWcs, *XmTextVerifyPtrWcs;
1118: 
1119: #define XmCOPY_FAILED           0
1120: #define XmCOPY_SUCCEEDED        1
1121: #define XmCOPY_TRUNCATED        2
1122: 
1123: /* dialog child types */
1124: 
1125: enum {
1126:     XmDIALOG_NONE,
1127:     XmDIALOG_APPLY_BUTTON,
1128:     XmDIALOG_CANCEL_BUTTON,
1129:     XmDIALOG_DEFAULT_BUTTON,
1130:     XmDIALOG_OK_BUTTON,
1131:     XmDIALOG_FILTER_LABEL,
1132:     XmDIALOG_FILTER_TEXT,
1133:     XmDIALOG_HELP_BUTTON,
1134:     XmDIALOG_LIST,
1135:     XmDIALOG_LIST_LABEL,
1136:     XmDIALOG_MESSAGE_LABEL,
1137:     XmDIALOG_SELECTION_LABEL,
1138:     XmDIALOG_SYMBOL_LABEL,
1139:     XmDIALOG_TEXT,
1140:     XmDIALOG_SEPARATOR,
1141:     XmDIALOG_DIR_LIST,
1142:     XmDIALOG_DIR_LIST_LABEL
1143: };
1144: 
1145: #define XmDIALOG_COMMAND_TEXT    XmDIALOG_TEXT
1146: #define XmDIALOG_FILE_LIST       XmDIALOG_LIST
1147: #define XmDIALOG_FILE_LIST_LABEL XmDIALOG_LIST_LABEL
1148: #define XmDIALOG_HISTORY_LIST    XmDIALOG_LIST
1149: #define XmDIALOG_PROMPT_LABEL    XmDIALOG_SELECTION_LABEL
1150: #define XmDIALOG_VALUE_TEXT      XmDIALOG_TEXT
1151: 
1152: /* dialog styles */
1153: enum {
1154:     XmDIALOG_MODELESS,
1155:     XmDIALOG_PRIMARY_APPLICATION_MODAL,
1156:     XmDIALOG_FULL_APPLICATION_MODAL,
1157:     XmDIALOG_SYSTEM_MODAL
1158: };
1159: 
1160: /* this is obsolete.  Use XmDIALOG_PRIMARY_APPLICATION_MODAL */
1161: #define XmDIALOG_APPLICATION_MODAL XmDIALOG_PRIMARY_APPLICATION_MODAL
1162: 
1163: /* child placements (for selection boxes) */
1164: 
1165: enum {
1166:     XmPLACE_TOP,
1167:     XmPLACE_ABOVE_SELECTION,
1168:     XmPLACE_BELOW_SELECTION
1169: };
1170: 
1171: /* file type masks for filesb */
1172: #define XmFILE_DIRECTORY    (1 << 0)
1173: #define XmFILE_REGULAR      (1 << 1)
1174: #define XmFILE_ANY_TYPE     (XmFILE_DIRECTORY | XmFILE_REGULAR)
1175: 
1176: /* defines for selection dialog type: */
1177: 
1178: enum {
1179:     XmDIALOG_WORK_AREA,
1180:     XmDIALOG_PROMPT,
1181:     XmDIALOG_SELECTION,
1182:     XmDIALOG_COMMAND,
1183:     XmDIALOG_FILE_SELECTION
1184: };
1185: 
1186: /* dialog types */
1187: enum {
1188:     XmDIALOG_TEMPLATE,
1189:     XmDIALOG_ERROR,
1190:     XmDIALOG_INFORMATION,
1191:     XmDIALOG_MESSAGE,
1192:     XmDIALOG_QUESTION,
1193:     XmDIALOG_WARNING,
1194:     XmDIALOG_WORKING
1195: };
1196: 
1197: /* traversal stuff */
1198: 
1199: typedef enum {
1200:     XmVISIBILITY_UNOBSCURED,
1201:     XmVISIBILITY_PARTIALLY_OBSCURED,
1202:     XmVISIBILITY_FULLY_OBSCURED
1203: } XmVisibility;
1204: 
1205: typedef enum {
1206:     XmTRAVERSE_CURRENT,
1207:     XmTRAVERSE_NEXT,
1208:     XmTRAVERSE_PREV,
1209:     XmTRAVERSE_HOME,
1210:     XmTRAVERSE_NEXT_TAB_GROUP,
1211:     XmTRAVERSE_PREV_TAB_GROUP,
1212:     XmTRAVERSE_UP,
1213:     XmTRAVERSE_DOWN,
1214:     XmTRAVERSE_LEFT,
1215:     XmTRAVERSE_RIGHT
1216: } XmTraversalDirection;
1217: 
1218: typedef struct {
1219:     int reason;
1220:     XEvent *event;
1221:     Widget traversal_destination;
1222:     XmTraversalDirection direction;
1223: } XmTraverseObscuredCallbackStruct;
1224: 
1225: typedef unsigned char XmNavigationType;
1226: 
1227: /* simple menu stuff */
1228: 
1229: typedef unsigned char XmButtonType;
1230: typedef XmButtonType * XmButtonTypeTable;
1231: typedef KeySym * XmKeySymTable;
1232: typedef XmStringCharSet * XmStringCharSetTable;
1233: 
1234: enum {
1235:     XmPUSHBUTTON = 1,
1236:     XmTOGGLEBUTTON,
1237:     XmRADIOBUTTON,
1238:     XmCASCADEBUTTON,
1239:     XmSEPARATOR,
1240:     XmDOUBLE_SEPARATOR,
1241:     XmTITLE
1242: };
1243: 
1244: #define XmCHECKBUTTON XmTOGGLEBUTTON
1245: 
1246: /* Stuff needed by the base class stuff in BaseClass.c */
1247: 
1248: typedef XtPointer (*XmResourceBaseProc)(Widget w, XtPointer);
1249: 
1250: typedef struct _XmSecondaryResourceDataRec {
1251:     XmResourceBaseProc base_proc;
1252:     XtPointer client_data;
1253:     String name;
1254:     String res_class;
1255:     XtResourceList resources;
1256:     Cardinal num_resources;
1257: } XmSecondaryResourceDataRec, *XmSecondaryResourceData;
1258: 
1259: Cardinal XmGetSecondaryResourceData(WidgetClass wc,
1260:             XmSecondaryResourceData **resData);
1261: 
1262: /************************ Manager.c ***************************/
1263: Widget XmObjectAtPoint(Widget cw, Position x, Position y);
1264: 
1265: /************************ ImageCache.c ***************************/
1266: 
1267: Pixmap XmGetPixmap(Screen *screen, char *image_name,
1268:                    Pixel foreground, Pixel background);
1269: Pixmap XmGetPixmapByDepth(Screen *screen, char *image_name,
1270:                           Pixel foreground, Pixel background, int depth);
1271: Boolean XmDestroyPixmap(Screen *screen, Pixmap pixmap);
1272: Boolean XmInstallImage(XImage *image, char *image_name);
1273: Boolean XmUninstallImage(XImage *image);
1274: XtEnum XmGetScaledPixmap(Widget widget, String image_name,
1275:                          Pixel foreground, Pixel background,
1276:                          int depth, double scaling_ratio);
1277: 
1278: /************************** Manager.c *****************************/
1279: 
1280: void XmUpdateDisplay(Widget w);
1281: 
1282: /************************* Primitive.c ****************************/
1283: 
1284: typedef long XmOffset;
1285: typedef XmOffset *XmOffsetPtr;
1286: 
1287: void XmResolvePartOffsets(WidgetClass w_class, XmOffsetPtr *offset);
1288: void XmResolveAllPartOffsets(WidgetClass w_class, XmOffsetPtr *offset,
1289:            XmOffsetPtr *constraint_offset);
1290: Boolean XmWidgetGetBaselines(Widget wid, Dimension **baselines,
1291:            int *line_count);
1292: Boolean XmWidgetGetDisplayRect(Widget wid, XRectangle *displayrect);
1293: 
1294: /************************** RenderTable.c ****************************/
1295: 
1296: XmRenderTable XmRenderTableAddRenditions(XmRenderTable        oldtable,
1297:            XmRendition    *renditions,
1298:            Cardinal       rendition_count,
1299:            XmMergeMode    merge_mode);
1300: 
1301: XmRenderTable XmRenderTableCopy(XmRenderTable table,
1302:         XmStringTag     *tags,
1303:         int             tag_count);
1304: 
1305: XmRenderTable XmRenderTableCvtFromProp(Widget         widget,
1306:                char             *property,
1307:                unsigned int     length);
1308: 
1309: unsigned int XmRenderTableCvtToProp(Widget            widget,
1310:             XmRenderTable       table,
1311:             char                **prop_return);
1312: 
1313: void XmRenderTableFree(XmRenderTable table);
1314: 
1315: XmRendition XmRenderTableGetRendition(XmRenderTable   table,
1316:               XmStringTag       tag);
1317: 
1318: XmRendition *XmRenderTableGetRenditions(XmRenderTable table,
1319:           XmStringTag     *tags,
1320:           Cardinal        tag_count);
1321: 
1322: int XmRenderTableGetTags(XmRenderTable        table,
1323:        XmStringTag    **tag_list);
1324: 
1325: XmRenderTable XmRenderTableRemoveRenditions(XmRenderTable     oldtable,
1326:               XmStringTag *tags,
1327:               int         tag_count);
1328: 
1329: Boolean XmeRenderTableGetDefaultFont(XmRenderTable    renderTable,
1330:              XFontStruct        **fontStruct);
1331: 
1332: XmString XmStringGenerate(XtPointer   text,
1333:         XmStringTag   tag,
1334:         XmTextType    type,
1335:         XmStringTag   rendition);
1336:   
1337: XmRendition XmRenditionCreate(Widget widget,
1338:             XmStringTag tag,
1339:             ArgList arglist,
1340:             Cardinal argcount);
1341:   
1342: void XmRenditionFree(XmRendition rendition);
1343: 
1344: void XmRenditionUpdate(XmRendition rendition, 
1345:            ArgList arglist, 
1346:            Cardinal argcount);
1347: 
1348: void XmRenditionRetrieve (XmRendition rendition,
1349:                           ArgList arglist,
1350:         Cardinal argcount);
1351: 
1352: /************************ ResConvert.c ****************************/
1353: 
1354: void XmRegisterConverters(void);
1355: void XmCvtStringToUnitType(XrmValuePtr args, Cardinal *num_args, XrmValue *from_val, XrmValue *to_val);
1356: char *XmRegisterSegmentEncoding(char *fontlist_tag, char *ct_encoding);
1357: char *XmMapSegmentEncoding(char *fontlist_tag);
1358: XmString XmCvtCTToXmString(char *text);
1359: Boolean XmCvtTextToXmString(Display *display, XrmValuePtr args,
1360:           Cardinal *num_args, XrmValue *from_val,
1361:           XrmValue *to_val, XtPointer *converter_data);
1362: char *XmCvtXmStringToCT(XmString string);
1363: Boolean XmCvtXmStringToText(Display *display, XrmValuePtr args,
1364:           Cardinal *num_args, XrmValue *from_val,
1365:           XrmValue *to_val, XtPointer *converter_data);
1366: int XmConvertStringToUnits(Screen *screen, String spec, int orientation,
1367:   int to_type, XtEnum *parse_error);
1368: unsigned int XmCvtXmStringToByteStream(XmString string,
1369:                                        unsigned char **prop_return);
1370: XmString XmCvtByteStreamToXmString(unsigned char *property);
1371: int XmCvtXmStringTableToTextProperty (Display *display,
1372:                                       XmStringTable string_table,
1373:                                       int count,
1374:                                       XmICCEncodingStyle style,
1375:                                       XTextProperty *text_prop_return);
1376: 
1377: /************************** ResInd.c ******************************/
1378: 
1379: int XmConvertUnits(Widget widget, int orientation,
1380:        int from_unit_type, int from_value, int to_unit_type);
1381: int  XmCvtToHorizontalPixels(Screen *screen, int from_val, int from_type);
1382: int  XmCvtToVerticalPixels(Screen *screen, int from_val, int from_type);
1383: int  XmCvtFromHorizontalPixels(Screen *screen, int from_val, int to_type);
1384: int  XmCvtFromVerticalPixels(Screen *screen, int from_val, int to_type);
1385: void XmSetFontUnits(Display *display, int h_value, int v_value);
1386: void XmSetFontUnit(Display *display, int value);
1387: 
1388: /************************* MenuUtil.c *****************************/
1389: 
1390: void XmSetMenuCursor(Display *display, Cursor cursorId);
1391: Cursor XmGetMenuCursor(Display *display);
1392: 
1393: /************************** Simple.c ******************************/
1394: 
1395: Widget XmCreateSimpleCheckBox(Widget parent, char *name,
1396:             Arg *arglist, Cardinal argcount);
1397: Widget XmCreateSimpleMenuBar(Widget parent, char *name,
1398:            Arg *arglist, Cardinal argcount);
1399: Widget XmCreateSimpleOptionMenu(Widget parent, char *name,
1400:         Arg *arglist, Cardinal argcount);
1401: Widget XmCreateSimplePopupMenu(Widget parent, char *name,
1402:              Arg *arglist, Cardinal argcount);
1403: Widget XmCreateSimplePulldownMenu(Widget parent, char *name,
1404:           Arg *arglist, Cardinal argcount);
1405: Widget XmCreateSimpleRadioBox(Widget parent, char *name,
1406:             Arg *arglist, Cardinal argcount);
1407: 
1408: /************************* VaSimple.c *****************************/
1409: 
1410: Widget XmVaCreateSimpleCheckBox(Widget parent, String name,
1411:         XtCallbackProc callback, ...);
1412: Widget XmVaCreateSimpleMenuBar(Widget parent, String name,
1413:              ...);
1414: Widget XmVaCreateSimpleOptionMenu(Widget parent, String name,
1415:           XmString option_label,
1416:           KeySym option_mnemonic,
1417:           int button_set,
1418:           XtCallbackProc callback, ...);
1419: Widget XmVaCreateSimplePopupMenu(Widget parent, String name,
1420:          XtCallbackProc callback, ...);
1421: Widget XmVaCreateSimplePulldownMenu(Widget parent, String name,
1422:             int post_from_button,
1423:             XtCallbackProc callback, ...);
1424: Widget XmVaCreateSimpleRadioBox(Widget parent, String name,
1425:         int button_set,
1426:         XtCallbackProc callback, ...);
1427: 
1428: /************************** TrackLoc.c *****************************/
1429: 
1430: Widget XmTrackingEvent(Widget widget, Cursor cursor, Boolean confine_to,
1431:            XEvent *event_return);
1432: Widget XmTrackingLocate(Widget widget, Cursor cursor, Boolean confine_to);
1433: 
1434: /**************************** Visual.c *****************************/
1435: 
1436: typedef void (*XmColorProc)(XColor *bg_color, XColor *fg_color,
1437:           XColor *sel_color, XColor *ts_color, XColor *bs_color);
1438: 
1439: 
1440: XmColorProc XmSetColorCalculation(XmColorProc proc);
1441: XmColorProc XmGetColorCalculation(void);
1442: void XmGetColors(Screen *screen, Colormap color_map,
1443:       Pixel background, Pixel *foreground_ret,
1444:       Pixel *top_shadow_ret, Pixel *bottom_shadow_ret,
1445:       Pixel *select_ret);
1446: void XmChangeColor(Widget widget, Pixel background);
1447: 
1448: /*************************** XmString.c ****************************/
1449: 
1450: Dimension XmStringBaseline(XmFontList fontlist, XmString string);
1451: Boolean XmStringByteCompare(XmString s1, XmString s2);
1452: Boolean XmStringCompare(XmString s1, XmString s2);
1453: XmString XmStringConcat(XmString s1, XmString s2);
1454: XmString XmStringConcatAndFree(XmString s1, XmString s2);
1455: XmString XmStringCreate(char *text, char *tag);
1456: XmString XmStringCreateLtoR(char *text, char *tag);
1457: XmString XmStringLtoRCreate(char *text, char *tag);
1458: XmString XmStringCreateLocalized(char *text);
1459: XmString XmStringCreateSimple(char *text);
1460: XmString XmStringDirectionCreate(XmStringDirection direction);
1461: void XmStringDraw(Display *d, 
1462:       Window w,
1463:       XmFontList fontlist,
1464:       XmString string,
1465:       GC gc,
1466:       Position x,
1467:       Position y,
1468:       Dimension width,
1469:       unsigned char alignment,
1470:       unsigned char layout_direction,
1471:       XRectangle *clip);
1472: void XmStringDrawImage(Display *d, Window w,
1473:            XmFontList fontlist,
1474:            XmString string,
1475:            GC gc,
1476:            Position x,
1477:            Position y,
1478:            Dimension width,
1479:            unsigned char alignment,
1480:            unsigned char layout_direction,
1481:            XRectangle *clip);
1482: void XmStringDrawUnderline(Display *d, Window w,
1483:          XmFontList fontlist, XmString string,
1484:          GC gc, Position x, Position y, Dimension width,
1485:          unsigned char alignment,
1486:          unsigned char layout_direction,
1487:          XRectangle *clip,
1488:          XmString underline);
1489: Boolean XmStringEmpty(XmString s1);
1490: void XmStringExtent(XmFontList fontlist, 
1491:         XmString string,
1492:         Dimension *width,
1493:         Dimension *height);
1494: void XmStringFree(XmString string);
1495: void XmStringFreeContext(XmStringContext context);
1496: Boolean XmStringGetLtoR(XmString string,
1497:       XmStringCharSet tag,
1498:       char **text);
1499: XmStringComponentType XmStringGetNextComponent(XmStringContext context,
1500:                  char **text,
1501:                  XmStringCharSet *tag,
1502:                  XmStringDirection *direction,
1503:                  XmStringComponentType *unknown_tag,
1504:                  unsigned short *unknown_length,
1505:                  unsigned char **unknown_value);
1506: Boolean XmStringGetNextSegment(XmStringContext context,
1507:              char **text,
1508:              XmStringCharSet *tag,
1509:              XmStringDirection *direction,
1510:              Boolean *separator);
1511: Boolean XmStringHasSubstring(XmString string,
1512:            XmString substring);
1513: Dimension XmStringHeight(XmFontList fontlist, XmString string);
1514: Boolean XmStringInitContext(XmStringContext *context,
1515:           XmString string);
1516: int XmStringLength(XmString s1);
1517: int XmStringLineCount(XmString string);
1518: XmString XmStringNConcat(XmString s1, XmString s2, int num_bytes);
1519: XmString XmStringCopy(XmString s);
1520: XmString XmStringNCopy(XmString s1, int num_bytes);
1521: XmStringComponentType XmStringPeekNextComponent(XmStringContext context);
1522: XmString XmStringSegmentCreate(char *text, char *tag, 
1523:              XmStringDirection direction,
1524:              Boolean separator);
1525: XmString XmStringSeparatorCreate(void);
1526: 
1527: Dimension XmStringWidth(XmFontList fontList, XmString string);
1528: 
1529: XtPointer XmStringUnparse(XmString string,
1530:                           XmStringTag tag,
1531:                           XmTextType tag_type,
1532:                           XmTextType output_type,
1533:                           XmParseTable parse_table,
1534:                           Cardinal parse_count,
1535:                           XmParseModel parse_model);
1536: 
1537: 
1538: Cardinal XmStringToXmStringTable(XmString string,
1539:                                  XmString break_comp,
1540:                                  XmStringTable *table);
1541: 
1542: XmString XmStringTableToXmString(XmStringTable table,
1543:                                  Cardinal count,
1544:                                  XmString break_component);
1545: 
1546: XtPointer *XmStringTableUnparse(XmStringTable table,
1547:                                 Cardinal count,
1548:                                 XmStringTag tag,
1549:                                 XmTextType tag_type,
1550:                                 XmTextType output_type,
1551:                                 XmParseTable parse,
1552:                                 Cardinal parse_count,
1553:                                 XmParseModel parse_model);
1554: 
1555: XmStringTable XmStringTableParseStringArray(XtPointer *strings,
1556:                                             Cardinal count,
1557:                                             XmStringTag tag,
1558:                                             XmTextType type,
1559:                                             XmParseTable parse,
1560:                                             Cardinal parse_count,
1561:                                             XtPointer call_data);
1562: 
1563: XmString XmStringPutRendition(XmString string,
1564:                               XmStringTag rendition);
1565: 
1566: XmParseMapping XmParseMappingCreate(ArgList arg_list,
1567:                                     Cardinal arg_count);
1568: 
1569: void XmParseMappingSetValues(XmParseMapping parse_mapping,
1570:                              ArgList arg_list,
1571:                              Cardinal arg_count);
1572: 
1573: void XmParseMappingGetValues(XmParseMapping parse_mapping,
1574:                              ArgList arg_list,
1575:                              Cardinal arg_count);
1576: 
1577: void XmParseMappingFree(XmParseMapping parse_mapping);
1578: 
1579: void XmParseTableFree(XmParseTable parse_table,
1580:                       Cardinal parse_count);
1581: 
1582: XmStringComponentType XmStringGetNextTriple(XmStringContext context,
1583:                                             unsigned int *length,
1584:                                             XtPointer *value);
1585: 
1586: XmStringComponentType XmStringPeekNextTriple(XmStringContext context);
1587: 
1588: XmString XmStringComponentCreate(XmStringComponentType ctype,
1589:                                  unsigned int length,
1590:                                  XtPointer value);
1591: 
1592: Boolean XmStringIsVoid(XmString s1);
1593: 
1594: XmString XmStringParseText(XtPointer text, XtPointer *text_end, XmStringTag tag,
1595:   XmTextType type, XmParseTable parse_table, Cardinal parse_count,
1596:   XtPointer call_data);
1597: 
1598: /*************************** FontList.c *****************************/
1599: 
1600: XmFontList XmFontListAppendEntry(XmFontList oldlist,
1601:          XmFontListEntry entry);
1602: XmFontList XmFontListCreate(XFontStruct *font,
1603:           XmStringCharSet charset);
1604: XmFontList XmFontListAdd(XmFontList old,
1605:        XFontStruct *font,
1606:        XmStringCharSet charset);
1607: XmFontList XmFontListCopy(XmFontList fontlist);
1608: XmFontListEntry XmFontListEntryCreate(char *tag,
1609:               XmFontType type,
1610:               XtPointer font);
1611: void XmFontListEntryFree(XmFontListEntry *entry);
1612: XtPointer XmFontListEntryGetFont(XmFontListEntry entry,
1613:          XmFontType *type_return);
1614: char *XmFontListEntryGetTag(XmFontListEntry entry);
1615: XmFontListEntry XmFontListEntryLoad(Display *display,
1616:             char *font_name,
1617:             XmFontType type,
1618:             char *tag);
1619: void XmFontListFree(XmFontList list);
1620: void XmFontListFreeFontContext(XmFontContext context);
1621: Boolean XmFontListInitFontContext(XmFontContext *context,
1622:           XmFontList fontlist);
1623: XmFontListEntry XmFontListNextEntry(XmFontContext context);
1624: Boolean XmFontListGetNextFont(XmFontContext context, XmStringCharSet *charset, XFontStruct **font);
1625: XmFontList XmFontListRemoveEntry(XmFontList oldlist,
1626:          XmFontListEntry entry);
1627: 
1628: XmFontList XmStringCreateFontList( XFontStruct *font, XmStringCharSet charset);
1629: 
1630: /************************** Dest.c ***********************************/
1631: 
1632: Widget XmGetDestination(Display *display);
1633: 
1634: /*************************** Traversal.c *****************************/
1635: 
1636: Boolean XmIsTraversable(Widget widget);
1637: XmVisibility XmGetVisibility(Widget widget);
1638: void XmAddTabGroup(Widget widget);
1639: void XmRemoveTabGroup(Widget widget);
1640: Widget XmGetTabGroup(Widget widget);
1641: Boolean XmProcessTraversal(Widget widget, XmTraversalDirection direction);
1642: Widget XmGetFocusWidget(Widget widget);
1643: 
1644: /**************************** Direction.c *********************************/
1645: 
1646: Boolean XmDirectionMatch(XmDirection dir1, XmDirection dir2);
1647: Boolean XmDirectionMatchPartial(XmDirection dir1, XmDirection dir2, XmDirection dir_mask);
1648: XmStringDirection XmDirectionToStringDirection(XmDirection dir);
1649: XmDirection XmStringDirectionToDirection(XmStringDirection sdir);
1650: 
1651: /******************************* Xme.c ************************************/
1652: 
1653: void XmeConvertMerge(XtPointer data, Atom type,
1654:                      int format, unsigned long length,
1655:                      XmConvertCallbackStruct *call_data);
1656: 
1657: #ifdef __cplusplus
1658: }
1659: #endif
1660: 
1661: 
1662: #include <Xm/VendorS.h>
1663: #include <Xm/XmIm.h>
1664: 
1665: 
1666: #ifdef __cplusplus
1667: extern "C" {
1668: #endif
1669: 
1670: /* The following is for backwards compability (bc) */
1671: #define XmINDICATOR_3D_BOX 0x01
1672: #define XmINDICATOR_FLAT_BOX 0x02
1673: #define XmINDICATOR_CHECK_GLYPH 0x10
1674: #define XmINDICATOR_CROSS_GLYPH 0x20
1675: 
1676: enum {
1677:     XmINDICATOR_NONE = 0,
1678:     XmINDICATOR_FILL = XmINDICATOR_3D_BOX,
1679:     XmINDICATOR_CHECK = XmINDICATOR_CHECK_GLYPH,
1680:     XmINDICATOR_CHECK_BOX = XmINDICATOR_CHECK_GLYPH + XmINDICATOR_3D_BOX,
1681:     XmINDICATOR_CROSS = XmINDICATOR_CROSS_GLYPH,
1682:     XmINDICATOR_CROSS_BOX = XmINDICATOR_CROSS_GLYPH + XmINDICATOR_3D_BOX
1683: };
1684: 
1685: /* A slider can either be a slider or a thermometer */
1686: enum { XmSLIDER, XmTHERMOMETER };
1687: 
1688: #define XmTextSetTopPosition    XmTextSetTopCharacter 
1689: 
1690: enum {
1691:   XmPOPUP_DISABLED = 0,
1692:   XmPOPUP_KEYBOARD,
1693:   XmPOPUP_AUTOMATIC,
1694:   XmPOPUP_AUTOMATIC_RECURSIVE
1695: };
1696: 
1697: /* sliderVisual */
1698: enum {
1699:   XmBACKGROUND_COLOR,
1700:   XmFOREGROUND_COLOR,
1701:   XmTROUGH_COLOR,
1702:   XmSHADOWED_BACKGROUND,
1703:   XmFLAT_FOREGROUND
1704: };
1705: 
1706: /* showValue */
1707: enum {
1708:   XmNEAR_SLIDER = 1,
1709:         XmNEAR_BORDER
1710: };
1711: 
1712: /* sliderMark */
1713: enum {
1714:   /* XmNONE */
1715:   XmETCHED_LINE = 1,
1716:   XmTHUMB_MARK,
1717:   XmROUND_MARK
1718: };
1719: 
1720: /* showArrows */
1721: enum {
1722:   /* XmNONE */
1723:   XmEACH_SIDE = 1,
1724:   XmMAX_SIDE,
1725:   XmMIN_SIDE
1726: };
1727: 
1728: /* XmString */
1729: XmString XmStringGenerate(XtPointer   text, XmStringTag tag,
1730:                           XmTextType  type, XmStringTag rendition);
1731: 
1732: /* XmFileSelectionBox */
1733: enum {
1734:   XmPATH_MODE_FULL,
1735:   XmPATH_MODE_RELATIVE
1736: };
1737: 
1738: enum {
1739:   XmFILTER_NONE,
1740:   XmFILTER_HIDDEN_FILES
1741: };
1742: 
1743: /* RowColumn */
1744: #define XmInheritMenuTraversalProc ((XmMenuTraversalProc) _XtInherit)
1745: 
1746: /* XmTabList */
1747: XmTabList XmTabListCopy(XmTabList tablist,
1748:                         int offset,
1749:                         Cardinal count);
1750: 
1751: void XmTabListFree(XmTabList tablist);
1752: 
1753: XmTab XmTabListGetTab(XmTabList tablist,
1754:                       Cardinal position);
1755: 
1756: XmTabList XmTabListInsertTabs(XmTabList oldlist,
1757:                               XmTab *tabs,
1758:                               Cardinal tab_count,
1759:                               int position);
1760: 
1761: XmTabList XmTabListRemoveTabs(XmTabList oldlist,
1762:                               Cardinal *position_list,
1763:                               Cardinal position_count);
1764: 
1765: XmTabList XmTabListReplacePositions(XmTabList oldlist,
1766:                                     Cardinal *position_list,
1767:                                     XmTab *tabs,
1768:                                     Cardinal tab_count);
1769: 
1770: Cardinal XmTabListTabCount(XmTabList tablist);
1771: 
1772: void XmTabSetValue(XmTab tab,
1773:                    float value);
1774: 
1775: XmTab XmTabCreate(float value,
1776:                   unsigned char units,
1777:                   XmOffsetModel offset_model,
1778:                   unsigned char alignment,
1779:                   char *decimal);
1780: 
1781: void XmTabFree(XmTab tab);
1782: 
1783: float XmTabGetValues(XmTab tab,
1784:                      unsigned char *units,
1785:                      XmOffsetModel *offset,
1786:                      unsigned char *alignment,
1787:                      char **decimal);
1788: 
1789: XmTabList XmStringTableProposeTablist(XmStringTable strings,
1790:                                       Cardinal num_strings,
1791:                                       Widget widget,
1792:                                       float pad_value,
1793:                                       XmOffsetModel offset_model);
1794: 
1795: /*
1796:  * XmPrint API
1797:  */
1798: enum {
1799:         XmPDM_NOTIFY_FAIL,
1800:         XmPDM_NOTIFY_SUCCESS
1801: };
1802: 
1803: void XmRedisplayWidget(Widget w);
1804: 
1805: #ifdef __cplusplus
1806: }
1807: #endif
1808: 
1809: #endif /* _XM_XM_H */
1810: 








































Html form generated by Xrefactory version 1.6.7 on Fri Sep 03 17:18:59 2004