1 /** 2 * 3 * $Id: XmP.h,v 1.2 2005/03/26 06:12:17 dannybackx Exp $ 4 * 5 * Copyright (C) 1995 Free Software Foundation, Inc. 6 * Copyright (C) 1995-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 #ifndef _XM_XMP_H 27 #define _XM_XMP_H 28 29 #include <X11/IntrinsicP.h> 30 #include <Xm/Xm.h> 31 #include <Xm/DrawP.h> 32 33 #ifndef XmConst 34 #define XmConst const 35 #endif /* !XmConst */ 36 37 38 #ifdef __cplusplus 39 extern "C" { 40 #endif 41 42 /* 43 * shorthand macros 44 */ 45 #ifdef XtDisplay 46 #undef XtDisplay 47 #endif 48 #define XtDisplay(widget) \ 49 (XtIsWidget(widget) \ 50 ? ((Widget)(widget))->core.screen->display \ 51 : ((Object)(widget))->object.parent->core.screen->display) 52 53 #ifdef XtScreen 54 #undef XtScreen 55 #endif 56 #define XtScreen(widget) \ 57 (XtIsWidget(widget) \ 58 ? ((Widget)(widget))->core.screen \ 59 : ((Object)(widget))->object.parent->core.screen) 60 61 #ifdef XtWindow 62 #undef XtWindow 63 #endif 64 #define XtWindow(widget) \ 65 (XtIsWidget(widget) \ 66 ? ((Widget)(widget))->core.window \ 67 : ((Object)(widget))->object.parent->core.window) 68 69 #ifdef XtName 70 #undef XtName 71 #endif 72 #define XtName(widget) \ 73 XrmQuarkToString(((Object)(widget))->object.xrm_name) 74 75 #ifdef XtClass 76 #undef XtClass 77 #endif 78 #define XtClass(widget) \ 79 (((Object)(widget))->object.widget_class) 80 81 #ifdef XtSuperclass 82 #undef XtSuperclass 83 #endif 84 #define XtSuperclass(widget) \ 85 (XtClass(widget)->core_class.superclass) 86 87 #ifdef XtIsRealized 88 #undef XtIsRealized 89 #endif 90 #define XtIsRealized(widget) \ 91 (XtIsWidget(widget) \ 92 ? ((Widget)(widget))->core.window \ 93 : ((Object)(widget))->object.parent->core.window) 94 95 #ifdef XtIsManaged 96 #undef XtIsManaged 97 #endif 98 #define XtIsManaged(widget) \ 99 (((XmGadget)(widget))->rectangle.managed) 100 101 #ifdef XtParent 102 #undef XtParent 103 #endif 104 #define XtParent(widget) \ 105 (((Object)(widget))->object.parent) 106 107 /* 108 * #defines for useful core record variables 109 */ 110 111 #define XtWidth(w) (((Widget)(w))->core.width) 112 #define XtHeight(w) (((Widget)(w))->core.height) 113 #define XtX(w) (((Widget)(w))->core.x) 114 #define XtY(w) (((Widget)(w))->core.y) 115 #define XtBackground(w) (((Widget)(w))->core.background_pixel) 116 #define XtBorderWidth(w) (((Widget)(w))->core.border_width) 117 #define XtSensitive(w) (((Widget)(w))->core.sensitive && \ 118 ((Widget)(w))->core.ancestor_sensitive) 119 #define XtCoreProc(w,p) (((Widget)(w))->core.widget_class->core_class.p) 120 121 /* 122 * menu values 123 */ 124 enum { 125 XmMENU_POPDOWN, 126 XmMENU_PROCESS_TREE, 127 XmMENU_TRAVERSAL, 128 XmMENU_SHELL_POPDOWN, 129 XmMENU_CALLBACK, 130 XmMENU_BUTTON, 131 XmMENU_CASCADING, 132 XmMENU_SUBMENU, 133 XmMENU_ARM, 134 XmMENU_DISARM, 135 XmMENU_BAR_CLEANUP, 136 XmMENU_STATUS, 137 XmMENU_MEMWIDGET_UPDATE, 138 XmMENU_BUTTON_POPDOWN, 139 XmMENU_RESTORE_EXCLUDED_TEAROFF_TO_TOPLEVEL_SHELL, 140 XmMENU_RESTORE_TEAROFF_TO_TOPLEVEL_SHELL, 141 XmMENU_RESTORE_TEAROFF_TO_MENUSHELL, 142 XmMENU_GET_LAST_SELECT_TOPLEVEL, 143 XmMENU_TEAR_OFF_ARM 144 }; 145 146 #define XmMENU_TORN_BIT (1 << 0) 147 #define XmMENU_TEAR_OFF_SHELL_DESCENDANT_BIT (1 << 1) 148 #define XmMENU_POPUP_POSTED_BIT (1 << 2) 149 150 #define XmIsTorn(m) \ 151 ((m) & XmMENU_TORN_BIT) 152 #define XmPopupPosted(m) \ 153 ((m) & XmMENU_POPUP_POSTED_BIT) 154 #define XmIsTearOffShellDescendant(m) \ 155 ((m) & XmMENU_TEAR_OFF_SHELL_DESCENDANT_BIT) 156 157 /* 158 * constants used in button/SimpleMenu communication 159 */ 160 typedef struct _XmSimpleMenuRec { 161 int count; 162 int post_from_button; 163 XtCallbackProc callback; 164 XmStringTable label_string; 165 String *accelerator; 166 XmStringTable accelerator_text; 167 XmKeySymTable mnemonic; 168 XmStringCharSetTable mnemonic_charset; 169 XmButtonTypeTable button_type; 170 int button_set; 171 XmString option_label; 172 KeySym option_mnemonic; 173 } XmSimpleMenuRec, *XmSimpleMenu; 174 175 /* For MapEvent: _XmMatchBtnEvent */ 176 #define XmIGNORE_EVENTTYPE -1 177 178 /* Default minimum Toggle indicator dimension */ 179 #define XmDEFAULT_INDICATOR_DIM 9 180 181 /* DefaultButtonShadow stuff */ 182 #define Xm3D_ENHANCE_PIXEL 2 183 #define XmDEFAULT_TOP_MARGIN 0 184 #define XmDEFAULT_BOTTOM_MARGIN 0 185 186 187 /* 188 * synthetic resource stuff 189 */ 190 191 typedef enum { 192 XmSYNTHETIC_NONE, 193 XmSYNTHETIC_LOAD 194 } XmImportOperator; 195 196 typedef void (*XmExportProc)(Widget, int, XtArgVal *); 197 typedef XmImportOperator (*XmImportProc)(Widget, int, XtArgVal*); 198 199 typedef struct _XmSyntheticResource { 200 String resource_name; 201 Cardinal resource_size; 202 Cardinal resource_offset; 203 XmExportProc export_proc; 204 XmImportProc import_proc; 205 } XmSyntheticResource; 206 207 /* 208 * ParentProcess structures 209 */ 210 211 enum { 212 XmPARENT_PROCESS_ANY, 213 XmINPUT_ACTION 214 }; 215 216 enum { 217 XmPARENT_ACTIVATE, 218 XmPARENT_CANCEL 219 }; 220 221 #define XmRETURN XmPARENT_ACTIVATE 222 #define XmCANCEL XmPARENT_CANCEL 223 224 typedef struct { 225 int process_type; 226 } XmParentProcessAnyRec; 227 228 typedef struct { 229 int process_type; 230 XEvent *event; 231 int action; 232 String *params; 233 Cardinal *num_params; 234 } XmParentInputActionRec; 235 236 typedef union { 237 XmParentProcessAnyRec any; 238 XmParentInputActionRec input_action; 239 } XmParentProcessDataRec, *XmParentProcessData; 240 241 #define XmINVALID_DIMENSION (0xFFFF) 242 243 enum { 244 XmBASELINE_GET, 245 XmBASELINE_SET 246 }; 247 248 typedef struct _XmBaselineMargins { 249 unsigned char get_or_set; 250 Dimension margin_top; 251 Dimension margin_bottom; 252 Dimension shadow; 253 Dimension highlight; 254 Dimension text_height; 255 Dimension text_width; 256 Dimension margin_height; 257 } XmBaselineMargins; 258 259 typedef enum { 260 XmFOCUS_IN, 261 XmFOCUS_OUT, 262 XmENTER, 263 XmLEAVE 264 } XmFocusChange; 265 266 typedef enum{ 267 XmNOT_NAVIGABLE, 268 XmCONTROL_NAVIGABLE, 269 XmTAB_NAVIGABLE, 270 XmDESCENDANTS_NAVIGABLE, 271 XmDESCENDANTS_TAB_NAVIGABLE 272 } XmNavigability; 273 274 #define XmVoidProc XtProc 275 276 typedef Boolean (*XmParentProcessProc)(Widget, XmParentProcessData); 277 typedef void (*XmWidgetDispatchProc) 278 (Widget gadget, XEvent *event, Mask event_mask); 279 typedef void (*XmMenuPopupProc)(Widget, Widget, XEvent *); 280 typedef void (*XmMenuTraversalProc)( Widget, Widget, XmTraversalDirection); 281 typedef void (*XmResizeFlagProc)(Widget, Boolean); 282 typedef void (*XmRealizeOutProc)(Widget, Mask *, XSetWindowAttributes *); 283 typedef Boolean (*XmVisualChangeProc) 284 (Widget gadget, Widget cur_mgr, Widget new_mgr); 285 typedef void (*XmTraversalProc)(Widget, XtPointer, XtPointer, int); 286 typedef void (*XmFocusMovedProc)( Widget, XtPointer, XtPointer) ; 287 typedef void (*XmCacheCopyProc)(XtPointer, XtPointer, size_t); 288 typedef int (*XmCacheCompareProc)(XtPointer, XtPointer); 289 typedef Boolean (*XmWidgetBaselineProc) 290 (Widget w, Dimension **baselines, int *num_baselines); 291 typedef Boolean (*XmWidgetDisplayRectProc)(Widget w, XRectangle *rect); 292 typedef void (*XmWidgetMarginsProc)(Widget w, XmBaselineMargins *margins); 293 typedef XmNavigability (*XmWidgetNavigableProc)(Widget w); 294 typedef void (*XmFocusChangeProc)(Widget w, XmFocusChange change); 295 296 typedef void (*XmMenuProc)(int function, Widget widget, ...); 297 298 typedef void (*XmGadgetCacheProc)(XtPointer); 299 typedef Boolean (*XmTraversalChildrenProc) 300 (Widget mw, Widget **children, Cardinal *num_children); 301 302 /* 303 * virtkey stuff 304 */ 305 306 typedef struct { 307 Modifiers mod; 308 char *key; 309 char *action; 310 } _XmBuildVirtualKeyStruct; 311 312 313 /* 314 * stuff needed by the Text and TextField widgets to do their rendering 315 */ 316 317 typedef struct { 318 XmTextPosition position; 319 XmHighlightMode mode; 320 } _XmHighlightRec; 321 322 typedef struct { 323 Cardinal number; 324 Cardinal maximum; 325 _XmHighlightRec *list; 326 } _XmHighlightData; 327 328 typedef struct { 329 Atom selection; 330 Atom target; 331 } _XmTextInsertPair; 332 333 typedef enum { 334 XmDEST_SELECT, 335 XmPRIM_SELECT 336 } XmSelectType; 337 338 typedef struct { 339 Boolean done_status; 340 Boolean success_status; 341 XmSelectType select_type; 342 XSelectionRequestEvent *event; 343 } _XmInsertSelect; 344 345 typedef struct { 346 XEvent *event; 347 String *params; 348 Cardinal *num_params; 349 } _XmTextActionRec; 350 351 typedef struct { 352 Widget widget; 353 XmTextPosition insert_pos; 354 int num_chars; 355 Time timestamp; 356 Boolean move; 357 } _XmTextDropTransferRec; 358 359 typedef struct { 360 XmTextPosition position; 361 Atom target; 362 Time time; 363 int num_chars; 364 int ref_count; 365 } _XmTextPrimSelect; 366 367 typedef struct { 368 Screen *screen; 369 XContext context; 370 unsigned char type; 371 } XmTextContextDataRec, *XmTextContextData; 372 373 enum { 374 _XM_IS_DEST_CTX, 375 _XM_IS_GC_DATA_CTX, 376 _XM_IS_PIXMAP_CTX 377 }; 378 379 #define XmTEXT_DRAG_ICON_WIDTH 64 380 #define XmTEXT_DRAG_ICON_HEIGHT 64 381 #define XmTEXT_DRAG_ICON_X_HOT 10 382 #define XmTEXT_DRAG_ICON_Y_HOT 4 383 384 /* 385 * geometry stuff, used in GeoUtils.c 386 */ 387 388 enum{ 389 XmGET_ACTUAL_SIZE = 1, 390 XmGET_PREFERRED_SIZE, 391 XmGEO_PRE_SET, 392 XmGEO_POST_SET 393 }; 394 395 /* fill modes for the GeoLayoutRec's below */ 396 enum { 397 XmGEO_EXPAND, 398 XmGEO_CENTER, 399 XmGEO_PACK 400 }; 401 402 /* fit modes for the GeoLayoutRec's below */ 403 enum { 404 XmGEO_PROPORTIONAL, 405 XmGEO_AVERAGING, 406 XmGEO_WRAP 407 }; 408 409 enum { 410 XmGEO_ROW_MAJOR, 411 XmGEO_COLUMN_MAJOR 412 }; 413 414 typedef struct _XmGeoMatrixRec *XmGeoMatrix; 415 typedef union _XmGeoMajorLayoutRec *XmGeoMajorLayout; 416 typedef struct _XmKidGeometryRec { 417 Widget kid; 418 XtWidgetGeometry box; 419 } XmKidGeometryRec, *XmKidGeometry; 420 421 typedef void (*XmGeoArrangeProc)(XmGeoMatrix, Position, Position, 422 Dimension *, Dimension *); 423 typedef Boolean (*XmGeoExceptProc)(XmGeoMatrix); 424 typedef void (*XmGeoExtDestructorProc)(XtPointer); 425 typedef void (*XmGeoSegmentFixUpProc)(XmGeoMatrix, int, 426 XmGeoMajorLayout, XmKidGeometry); 427 428 typedef struct { 429 Boolean end; 430 XmGeoSegmentFixUpProc fix_up; 431 Dimension even_width; 432 Dimension even_height; 433 Dimension min_height; 434 Boolean stretch_height; 435 Boolean uniform_border; 436 Dimension border; 437 unsigned char fill_mode; 438 unsigned char fit_mode; 439 Boolean sticky_end; 440 Dimension space_above; 441 Dimension space_end; 442 Dimension space_between; 443 Dimension max_box_height; 444 Dimension boxes_width; 445 Dimension fill_width; 446 Dimension box_count; 447 } XmGeoRowLayoutRec, *XmGeoRowLayout; 448 449 typedef struct { 450 Boolean end; 451 XmGeoSegmentFixUpProc fix_up; 452 Dimension even_height; 453 Dimension even_width; 454 Dimension min_width; 455 Boolean stretch_width; 456 Boolean uniform_border; 457 Dimension border; 458 unsigned char fill_mode; 459 unsigned char fit_mode; 460 Boolean sticky_end; 461 Dimension space_left; 462 Dimension space_end; 463 Dimension space_between; 464 Dimension max_box_width; 465 Dimension boxed_height; 466 Dimension fill_height; 467 Dimension box_count; 468 } XmGeoColumnLayoutRec, *XmGeoColumnLayout; 469 470 typedef union _XmGeoMajorLayoutRec { 471 XmGeoRowLayoutRec row; 472 XmGeoColumnLayoutRec col; 473 } XmGeoMajorLayoutRec; 474 475 typedef struct _XmGeoMatrixRec { 476 Widget composite; 477 Widget instigator; 478 XtWidgetGeometry instig_request; 479 XtWidgetGeometry parent_request; 480 XtWidgetGeometry *in_layout; 481 XmKidGeometry boxes; /* there is a NULL pointer add the end of each row */ 482 XmGeoMajorLayout layouts; 483 Dimension margin_w; 484 Dimension margin_h; 485 Boolean stretch_boxes; 486 Boolean uniform_border; 487 Dimension border; 488 Dimension max_major; 489 Dimension boxes_minor; 490 Dimension fill_minor; 491 Dimension width; 492 Dimension height; 493 XmGeoExceptProc set_except; 494 XmGeoExceptProc almost_except; 495 XmGeoExceptProc no_geo_request; 496 XtPointer extension; 497 XmGeoExtDestructorProc ext_destructor; 498 XmGeoArrangeProc arrange_boxes; 499 unsigned char major_order; 500 } XmGeoMatrixRec; 501 502 typedef XmGeoMatrix (*XmGeoCreateProc)(Widget, Widget, XtWidgetGeometry *); 503 504 /* 505 * inheritance stuff 506 */ 507 508 #define XmInheritCallbackProc ((XtCallbackProc) _XtInherit) 509 #define XmInheritTraversalProc ((XmTraversalProc) _XtInherit) 510 #define XmInheritParentProcess ((XmParentProcessProc) _XtInherit) 511 #define XmInheritWidgetProc ((XtWidgetProc) _XtInherit) 512 #define XmInheritMenuProc ((XmMenuProc) _XtInherit) 513 #define XmInheritTranslations XtInheritTranslations 514 #define XmInheritCachePart ((XtCacheClassPartPtr) _XtInherit) 515 #define XmInheritBaselineProc ((XmWidgetBaselineProc) _XtInherit) 516 #define XmInheritDisplayRectProc ((XmWidgetDisplayRectProc) _XtInherit) 517 #define XmInheritMarginsProc ((XmWidgetMarginsProc) _XtInherit) 518 #define XmInheritGeoMatrixCreate ((XmGeoCreateProc) _XtInherit) 519 #define XmInheritFocusMovedProc ((XmFocusMovedProc) _XtInherit) 520 #define XmInheritClass ((WidgetClass) &_XmInheritClass) 521 #define XmInheritInitializePrehook ((XtInitProc) _XtInherit) 522 #define XmInheritSetValuesPrehook ((XtSetValuesFunc) _XtInherit) 523 #define XmInheritInitializePosthook ((XtInitProc) _XtInherit) 524 #define XmInheritSetValuesPosthook ((XtSetValuesFunc) _XtInherit) 525 #define XmInheritGetValuesPosthook ((XtArgsProc) _XtInherit) 526 #define XmInheritSecObjectCreate ((XtInitProc) _XtInherit) 527 #define XmInheritGetSecResData ((XmGetSecResDataFunc) _XtInherit) 528 #define XmInheritInputDispatch ((XmWidgetDispatchProc) _XtInherit) 529 #define XmInheritVisualChange ((XmVisualChangeProc) _XtInherit) 530 #define XmInheritGetValuesPrehook ((XtArgsProc) _XtInherit) 531 #define XmInheritArmAndActivate ((XtActionProc) _XtInherit) 532 #define XmInheritActionProc ((XtActionProc) _XtInherit) 533 #define XmInheritFocusChange ((XmFocusChangeProc) _XtInherit) 534 #define XmInheritWidgetNavigable ((XmWidgetNavigableProc) _XtInherit) 535 #define XmInheritClassPartInitPrehook ((XtWidgetClassProc) _XtInherit) 536 #define XmInheritClassPartInitPosthook ((XtWidgetClassProc) _XtInherit) 537 #define XmInheritBorderHighlight ((XtWidgetProc) _XtInherit) 538 #define XmInheritBorderUnhighlight ((XtWidgetProc) _XtInherit) 539 540 #define XmInheritRealize ((XtRealizeProc) _XtInherit) 541 #define XmInheritResize ((XtWidgetProc) _XtInherit) 542 #define XmInheritSetOverrideCallback ((XtWidgetProc) _XtInherit) 543 #define XmInheritTraversalChildrenProc ((XmTraversalChildrenProc) _XtInherit) 544 545 546 547 /* 548 * fast subclassing definitions 549 */ 550 551 enum { 552 XmCASCADE_BUTTON_BIT = 1, 553 XmCASCADE_BUTTON_GADGET_BIT, 554 XmCOMMAND_BOX_BIT, 555 XmDIALOG_SHELL_BIT, 556 XmLIST_BIT, 557 XmFORM_BIT, 558 XmTEXT_FIELD_BIT, 559 XmGADGET_BIT, 560 XmLABEL_BIT, 561 XmLABEL_GADGET_BIT, 562 XmMAIN_WINDOW_BIT, 563 XmMANAGER_BIT, 564 XmMENU_SHELL_BIT, 565 XmDRAWN_BUTTON_BIT, 566 XmPRIMITIVE_BIT, 567 XmPUSH_BUTTON_BIT, 568 XmPUSH_BUTTON_GADGET_BIT, 569 XmROW_COLUMN_BIT, 570 XmSCROLL_BAR_BIT, 571 XmSCROLLED_WINDOW_BIT, 572 XmSELECTION_BOX_BIT, 573 XmSEPARATOR_BIT, 574 XmSEPARATOR_GADGET_BIT, 575 XmTEXT_BIT, 576 XmTOGGLE_BUTTON_BIT, 577 XmTOGGLE_BUTTON_GADGET_BIT, 578 XmDROP_TRANSFER_BIT, 579 XmDROP_SITE_MANAGER_BIT, 580 XmDISPLAY_BIT, 581 XmSCREEN_BIT, 582 XmARROW_BUTTON_BIT = 32, 583 XmARROW_BUTTON_GADGET_BIT, 584 XmBULLETIN_BOARD_BIT, 585 XmDRAWING_AREA_BIT, 586 XmFILE_SELECTION_BOX_BIT, 587 XmFRAME_BIT, 588 XmMESSAGE_BOX_BIT, 589 XmSASH_BIT, 590 XmSCALE_BIT, 591 XmPANED_WINDOW_BIT, 592 XmVENDOR_SHELL_BIT, 593 XmCLIP_WINDOW_BIT, 594 XmDRAG_ICON_BIT, 595 XmTEAROFF_BUTTON_BIT, 596 XmDRAG_OVER_SHELL_BIT, 597 XmDRAG_CONTEXT_BIT, 598 599 XmCONTAINER_BIT, 600 XmICONGADGET_BIT, 601 XmNOTEBOOK_BIT, 602 XmCSTEXT_BIT, 603 XmGRAB_SHELL_BIT, 604 XmCOMBO_BOX_BIT, 605 XmSPINBOX_BIT, 606 XmICONHEADER_BIT, 607 608 XmICON_GADGET_BIT, 609 610 XmFAST_SUBCLASS_TAIL_BIT, 611 612 XmFIRST_APPLICATION_SUBCLASS_BIT = 192 613 }; 614 615 #define XmLAST_FAST_SUBCLASS_BIT (XmFAST_SUBCLASS_TAIL_BIT - 1) 616 617 #undef XmIsCascadeButton 618 #define XmIsCascadeButton(w) \ 619 (_XmIsFastSubclass(XtClass(w), XmCASCADE_BUTTON_BIT)) 620 621 #undef XmIsCascadeButtonGadget 622 #define XmIsCascadeButtonGadget(w) \ 623 (_XmIsFastSubclass(XtClass(w), XmCASCADE_BUTTON_GADGET_BIT)) 624 625 #undef XmIsCommandBox 626 #define XmIsCommandBox(w) \ 627 (_XmIsFastSubclass(XtClass(w), XmCOMMAND_BOX_BIT)) 628 629 #undef XmIsDialogShell 630 #define XmIsDialogShell(w) \ 631 (_XmIsFastSubclass(XtClass(w), XmDIALOG_SHELL_BIT)) 632 633 #undef XmIsDisplay 634 #define XmIsDisplay(w) \ 635 (_XmIsFastSubclass(XtClass(w), XmDISPLAY_BIT)) 636 637 #undef XmIsList 638 #define XmIsList(w) \ 639 (_XmIsFastSubclass(XtClass(w), XmLIST_BIT)) 640 641 #undef XmIsForm 642 #define XmIsForm(w) \ 643 (_XmIsFastSubclass(XtClass(w), XmFORM_BIT)) 644 645 #undef XmIsTextField 646 #define XmIsTextField(w) \ 647 (_XmIsFastSubclass(XtClass(w), XmTEXT_FIELD_BIT)) 648 649 #undef XmIsGadget 650 #define XmIsGadget(w) \ 651 (_XmIsFastSubclass(XtClass(w), XmGADGET_BIT)) 652 653 #undef XmIsLabel 654 #define XmIsLabel(w) \ 655 (_XmIsFastSubclass(XtClass(w), XmLABEL_BIT)) 656 657 #undef XmIsLabelGadget 658 #define XmIsLabelGadget(w) \ 659 (_XmIsFastSubclass(XtClass(w), XmLABEL_GADGET_BIT)) 660 661 #undef XmIsIconGadget 662 #define XmIsIconGadget(w) \ 663 (_XmIsFastSubclass(XtClass(w), XmICON_GADGET_BIT)) 664 665 #undef XmIsMainWindow 666 #define XmIsMainWindow(w) \ 667 (_XmIsFastSubclass(XtClass(w), XmMAIN_WINDOW_BIT)) 668 669 #undef XmIsManager 670 #define XmIsManager(w) \ 671 (_XmIsFastSubclass(XtClass(w), XmMANAGER_BIT)) 672 673 #undef XmIsMenuShell 674 #define XmIsMenuShell(w) \ 675 (_XmIsFastSubclass(XtClass(w), XmMENU_SHELL_BIT)) 676 677 #undef XmIsDragIcon 678 #define XmIsDragIcon(w) \ 679 (_XmIsFastSubclass(XtClass(w), XmDRAG_ICON_BIT)) 680 681 #undef XmIsDropSiteManager 682 #define XmIsDropSiteManager(w) \ 683 (_XmIsFastSubclass(XtClass(w), XmDROP_SITE_MANAGER_BIT)) 684 685 #undef XmIsDropTransfer 686 #define XmIsDropTransfer(w) \ 687 (_XmIsFastSubclass(XtClass(w), XmDROP_TRANSFER_BIT)) 688 689 #undef XmIsDragOverShell 690 #define XmIsDragOverShell(w) \ 691 (_XmIsFastSubclass(XtClass(w), XmDRAG_OVER_SHELL_BIT)) 692 693 #undef XmIsDragContext 694 #define XmIsDragContext(w) \ 695 (_XmIsFastSubclass(XtClass(w), XmDRAG_CONTEXT_BIT)) 696 697 #undef XmIsDrawnButton 698 #define XmIsDrawnButton(w) \ 699 (_XmIsFastSubclass(XtClass(w), XmDRAWN_BUTTON_BIT)) 700 701 #undef XmIsPrimitive 702 #define XmIsPrimitive(w) \ 703 (_XmIsFastSubclass(XtClass(w), XmPRIMITIVE_BIT)) 704 705 #undef XmIsPushButton 706 #define XmIsPushButton(w) \ 707 (_XmIsFastSubclass(XtClass(w), XmPUSH_BUTTON_BIT)) 708 709 #undef XmIsPushButtonGadget 710 #define XmIsPushButtonGadget(w) \ 711 (_XmIsFastSubclass(XtClass(w), XmPUSH_BUTTON_GADGET_BIT)) 712 713 #undef XmIsRowColumn 714 #define XmIsRowColumn(w) \ 715 (_XmIsFastSubclass(XtClass(w), XmROW_COLUMN_BIT)) 716 717 #undef XmIsScreen 718 #define XmIsScreen(w) \ 719 (_XmIsFastSubclass(XtClass(w), XmSCREEN_BIT)) 720 721 #undef XmIsScrollBar 722 #define XmIsScrollBar(w) \ 723 (_XmIsFastSubclass(XtClass(w), XmSCROLL_BAR_BIT)) 724 725 #undef XmIsScrolledWindow 726 #define XmIsScrolledWindow(w) \ 727 (_XmIsFastSubclass(XtClass(w), XmSCROLLED_WINDOW_BIT)) 728 729 #undef XmIsSelectionBox 730 #define XmIsSelectionBox(w) \ 731 (_XmIsFastSubclass(XtClass(w), XmSELECTION_BOX_BIT)) 732 733 #undef XmIsSeparator 734 #define XmIsSeparator(w) \ 735 (_XmIsFastSubclass(XtClass(w), XmSEPARATOR_BIT)) 736 737 #undef XmIsSeparatorGadget 738 #define XmIsSeparatorGadget(w) \ 739 (_XmIsFastSubclass(XtClass(w), XmSEPARATOR_GADGET_BIT)) 740 741 #undef XmIsText 742 #define XmIsText(w) \ 743 (_XmIsFastSubclass(XtClass(w), XmTEXT_BIT)) 744 745 #undef XmIsTearOffButton 746 #define XmIsTearOffButton(w) \ 747 (_XmIsFastSubclass(XtClass(w), XmTEAROFF_BUTTON_BIT)) 748 749 #undef XmIsToggleButton 750 #define XmIsToggleButton(w) \ 751 (_XmIsFastSubclass(XtClass(w), XmTOGGLE_BUTTON_BIT)) 752 753 #undef XmIsToggleButtonGadget 754 #define XmIsToggleButtonGadget(w) \ 755 (_XmIsFastSubclass(XtClass(w), XmTOGGLE_BUTTON_GADGET_BIT)) 756 757 #undef XmIsArrowButton 758 #define XmIsArrowButton(w) \ 759 (_XmIsFastSubclass(XtClass(w), XmARROW_BUTTON_BIT)) 760 761 #undef XmIsArrowButtonGadget 762 #define XmIsArrowButtonGadget(w) \ 763 (_XmIsFastSubclass(XtClass(w), XmARROW_BUTTON_GADGET_BIT)) 764 765 #undef XmIsBulletinBoard 766 #define XmIsBulletinBoard(w) \ 767 (_XmIsFastSubclass(XtClass(w), XmBULLETIN_BOARD_BIT)) 768 769 #undef XmIsDrawingArea 770 #define XmIsDrawingArea(w) \ 771 (_XmIsFastSubclass(XtClass(w), XmDRAWING_AREA_BIT)) 772 773 #undef XmIsFileSelectionBox 774 #define XmIsFileSelectionBox(w) \ 775 (_XmIsFastSubclass(XtClass(w), XmFILE_SELECTION_BOX_BIT)) 776 777 #undef XmIsFrame 778 #define XmIsFrame(w) \ 779 (_XmIsFastSubclass(XtClass(w), XmFRAME_BIT)) 780 781 #undef XmIsMessageBox 782 #define XmIsMessageBox(w) \ 783 (_XmIsFastSubclass(XtClass(w), XmMESSAGE_BOX_BIT)) 784 785 #undef XmIsSash 786 #define XmIsSash(w) \ 787 (_XmIsFastSubclass(XtClass(w), XmSASH_BIT)) 788 789 #undef XmIsScale 790 #define XmIsScale(w) \ 791 (_XmIsFastSubclass(XtClass(w), XmSCALE_BIT)) 792 793 #undef XmIsPanedWindow 794 #define XmIsPanedWindow(w) \ 795 (_XmIsFastSubclass(XtClass(w), XmPANED_WINDOW_BIT)) 796 797 /* 798 * XmPartOffset bogosity 799 */ 800 801 #define XmObjectIndex 0 802 #define ObjectIndex XmObjectIndex 803 #define XmRectObjIndex (XmObjectIndex + 1) 804 #define RectObjIndex XmRectObjIndex 805 #define XmWindowObjIndex (XmRectObjIndex + 1) 806 #define WindowObjIndex XmWindowObjIndex 807 #define XmCoreIndex 0 808 #define CoreIndex XmCoreIndex 809 #define XmCompositeIndex (XmWindowObjIndex + 2) 810 #define CompositeIndex XmCompositeIndex 811 #define XmConstraintIndex (XmCompositeIndex + 1) 812 #define ConstraintIndex XmConstraintIndex 813 #define XmGadgetIndex (XmRectObjIndex + 1) 814 #define XmPrimitiveIndex (XmWindowObjIndex + 2) 815 #define XmManagerIndex (XmConstraintIndex + 1) 816 817 #define XmArrowBIndex (XmPrimitiveIndex + 1) 818 #define XmArrowButtonIndex XmArrowBIndex 819 #define XmLabelIndex (XmPrimitiveIndex + 1) 820 #define XmListIndex (XmPrimitiveIndex + 1) 821 #define XmScrollBarIndex (XmPrimitiveIndex + 1) 822 #define XmSeparatorIndex (XmPrimitiveIndex + 1) 823 #define XmTextIndex (XmPrimitiveIndex + 1) 824 825 #define XmCascadeBIndex (XmLabelIndex + 1) 826 #define XmCascadeButtonIndex XmCascadeBIndex 827 #define XmDrawnBIndex (XmLabelIndex + 1) 828 #define XmDrawnButtonIndex XmDrawnBIndex 829 #define XmPushBIndex (XmLabelIndex + 1) 830 #define XmPushButtonIndex XmPushBIndex 831 #define XmToggleBIndex (XmLabelIndex + 1) 832 #define XmToggleButtonIndex XmToggleBIndex 833 #define XmTearOffButtonIndex (XmPushBIndex + 1) 834 835 #define XmArrowBGIndex (XmGadgetIndex + 1) 836 #define XmArrowButtonGadgetIndex XmArrowBGIndex 837 #define XmLabelGIndex (XmGadgetIndex + 1) 838 #define XmLabelGadgetIndex XmLabelGIndex 839 #define XmSeparatoGIndex (XmGadgetIndex + 1) 840 #define XmSeparatorGadgetIndex XmSeparatoGIndex 841 842 #define XmCascadeBGIndex (XmLabelGIndex + 1) 843 #define XmCascadeButtonGadgetIndex XmCascadeBGIndex 844 #define XmPushBGIndex (XmLabelGIndex + 1) 845 #define XmPushButtonGadgetIndex XmPushBGIndex 846 #define XmToggleBGIndex (XmLabelGIndex + 1) 847 #define XmToggleButtonGadgetIndex XmToggleBGIndex 848 849 #define XmBulletinBIndex (XmManagerIndex + 1) 850 #define XmBulletinBoardIndex XmBulletinBIndex 851 #define XmDrawingAIndex (XmManagerIndex + 1) 852 #define XmDrawingAreaIndex XmDrawingAIndex 853 #define XmFrameIndex (XmManagerIndex + 1) 854 #define XmPanedWIndex (XmManagerIndex + 1) 855 #define XmPanedWindowIndex XmPanedWIndex 856 #define XmSashIndex (XmPrimitiveIndex + 1) 857 #define XmRowColumnIndex (XmManagerIndex + 1) 858 #define XmScaleIndex (XmManagerIndex + 1) 859 #define XmScrolledWIndex (XmManagerIndex + 1) 860 #define XmScrolledWindowIndex XmScrolledWIndex 861 862 #define XmFormIndex (XmBulletinBIndex + 1) 863 #define XmMessageBIndex (XmBulletinBIndex + 1) 864 #define XmMessageBoxIndex XmMessageBIndex 865 #define XmSelectioBIndex (XmBulletinBIndex + 1) 866 #define XmSelectionBoxIndex XmSelectioBIndex 867 868 #define XmMainWIndex (XmScrolledWIndex + 1) 869 #define XmMainWindowIndex XmMainWIndex 870 871 #define XmCommandIndex (XmSelectioBIndex + 1) 872 #define XmFileSBIndex (XmSelectioBIndex + 1) 873 #define XmFileSelectionBoxIndex XmFileSBIndex 874 875 #define XmShellIndex (XmCompositeIndex + 1) 876 #define ShellIndex XmShellIndex 877 #define XmOverrideShellIndex (XmShellIndex + 1) 878 #define OverrideShellIndex XmOverrideShellIndex 879 #define XmWMShellIndex (XmShellIndex + 1) 880 #define WMShellIndex XmWMShellIndex 881 #define XmVendorShellIndex (XmWMShellIndex + 1) 882 #define VendorShellIndex XmVendorShellIndex 883 #define XmTransientShellIndex (XmVendorShellIndex + 1) 884 #define TransientShellIndex XmTransientShellIndex 885 #define XmTopLevelShellIndex (XmVendorShellIndex + 1) 886 #define TopLevelShellIndex XmTopLevelShellIndex 887 #define XmApplicationShellIndex (XmTopLevelShellIndex + 1) 888 #define ApplicationShellIndex XmApplicationShellIndex 889 #define XmDisplayIndex (XmApplicationShellIndex + 1) 890 891 #define XmDialogSIndex (XmTransientShellIndex + 1) 892 #define XmDialogShellIndex XmDialogSIndex 893 #define XmMenuShellIndex (XmOverrideShellIndex + 1) 894 895 #define XmDragIconIndex (XmRectObjIndex + 1) 896 #define XmDropSiteManagerIndex (XmObjectIndex + 1) 897 #define XmDropTransferIndex (XmObjectIndex + 1) 898 #define XmDragOverShellIndex (XmVendorShellIndex + 1) 899 #define XmDragContextIndex (XmCoreIndex + 1) 900 901 #define XmOFFSETBITS (sizeof(Cardinal)*8/2) 902 #define XmOFFSETMASK ((1<<XmOFFSETBITS)-1) 903 904 typedef struct _XmPartResource { 905 String resource_name; 906 String resource_class; 907 String resource_type; 908 Cardinal resource_size; 909 Cardinal resource_offset; 910 String default_type; 911 XtPointer default_addr; 912 } XmPartResource; 913 914 #define XmPartOffset(part, variable) \ 915 ((part##Index) << XmOFFSETBITS) + XtOffsetOf( part##Part, variable) 916 917 #define XmConstraintPartOffset(part, var) \ 918 ((part##Index) << XmOFFSETBITS) + XtOffsetOf(part##ConstraintPart, var) 919 920 #define XmGetPartOffset(r, off) \ 921 ((r)->resource_offset & 0xffff) + \ 922 (*(off))[(r)->resource_offset >> XmOFFSETBITS]; 923 924 #define XmField(widget, offsetrecord, part, variable, type) \ 925 (*(type *)(((char *) (widget)) + offsetrecord[part##Index] + \ 926 XtOffsetOf( part##Part, variable))) 927 928 #define XmConstraintField(widget, offsetrecord, part, variable, type) \ 929 (*(type *)(((char *) (widget)->core.constraints) + \ 930 offsetrecord[part##Index] + \ 931 XtOffsetOf( part##ConstraintPart, variable))) 932 933 /* 934 * these structures must match those of XRectangle, XRegion 935 */ 936 937 typedef struct { 938 short x1, x2, y1, y2; 939 } XmRegionBox; 940 941 typedef struct _XmRegion { 942 long size; 943 long numRects; 944 XmRegionBox *rects; 945 XmRegionBox extents; 946 } XmRegionRec, *XmRegion; 947 948 /*********************** Trait.c ***********************************/ 949 #include <Xm/TraitP.h> 950 951 /*********************** GadgetUtils.c *****************************/ 952 953 XMLIBEXPORT XmGadget _XmInputInGadget(Widget cw, int x, int y); 954 XMLIBEXPORT XmGadget _XmInputForGadget(Widget cw, int x, int y); 955 XMLIBEXPORT void _XmConfigureObject(Widget g, Position x, Position y, 956 Dimension width, Dimension height, 957 Dimension border_width); 958 XMLIBEXPORT void XmeConfigureObject(Widget g, Position x, Position y, 959 Dimension width, Dimension height, 960 Dimension border_width); 961 XMLIBEXPORT void _XmResizeObject(Widget g, Dimension width, Dimension height, 962 Dimension border_width); 963 XMLIBEXPORT void _XmMoveObject(Widget g, Position x, Position y); 964 XMLIBEXPORT void _XmRedisplayGadgets(Widget w, XEvent *event, Region region); 965 XMLIBEXPORT void XmeRedisplayGadgets(Widget w, XEvent *event, Region region); 966 XMLIBEXPORT void _XmDispatchGadgetInput(Widget g, XEvent *event, Mask mask); 967 XMLIBEXPORT Time __XmGetDefaultTime(Widget w, XEvent *event); 968 969 /************************* ImageCache.c *******************************/ 970 971 #define _XmCreateImage(IMAGE, DISPLAY, DATA, WIDTH, HEIGHT, BYTE_ORDER) {\ 972 IMAGE = XCreateImage(DISPLAY,\ 973 DefaultVisual(DISPLAY, DefaultScreen(DISPLAY)),\ 974 1,\ 975 XYBitmap,\ 976 0,\ 977 DATA,\ 978 WIDTH, HEIGHT,\ 979 8,\ 980 (WIDTH+7) >> 3);\ 981 IMAGE->byte_order = BYTE_ORDER;\ 982 IMAGE->bitmap_unit = 8;\ 983 IMAGE->bitmap_bit_order = LSBFirst;\ 984 } 985 986 XMLIBEXPORT Boolean _XmInstallImage(XImage *image, char *image_name, 987 int hot_x, int hot_y); 988 XMLIBEXPORT Boolean _XmGetImage(Screen *screen, char *image_name, XImage **image); 989 XMLIBEXPORT Boolean _XmGetPixmapData(Screen *screen, 990 Pixmap pixmap, 991 char **image_name, 992 int *depth, 993 Pixel *foreground, 994 Pixel *background, 995 int *hot_x, 996 int *hot_y, 997 unsigned int *width, 998 unsigned int *height); 999 XMLIBEXPORT Boolean XmeGetPixmapData(Screen *screen, 1000 Pixmap pixmap, 1001 char **image_name, 1002 int *depth, 1003 Pixel *foreground, 1004 Pixel *background, 1005 int *hot_x, 1006 int *hot_y, 1007 unsigned int *width, 1008 unsigned int *height); 1009 XMLIBEXPORT Pixmap _XmGetPixmap(Screen *screen, 1010 char *image_name, 1011 int depth, 1012 Pixel foreground, 1013 Pixel background); 1014 XMLIBEXPORT Boolean _XmInstallPixmap(Pixmap pixmap, 1015 Screen *screen, 1016 char *image_name, 1017 Pixel foreground, 1018 Pixel background); 1019 1020 /************************** MapEvent.c *****************************/ 1021 1022 XMLIBEXPORT Boolean _XmMapBtnEvent(String str, 1023 int *eventType, 1024 unsigned int *button, 1025 unsigned int *modifiers); 1026 XMLIBEXPORT Boolean _XmMapKeyEvent(String str, 1027 int *eventType, 1028 unsigned *keysym, 1029 unsigned int *modifiers); 1030 XMLIBEXPORT Boolean _XmMatchBtnEvent(XEvent *event, 1031 int eventType, 1032 unsigned int button, 1033 unsigned int modifiers); 1034 XMLIBEXPORT Boolean _XmMatchKeyEvent(XEvent *event, 1035 int eventType, 1036 unsigned int key, 1037 unsigned int modifiers); 1038 1039 /************************** ReadImage.c *****************************/ 1040 1041 XMLIBEXPORT XImage *_XmGetImageFromFile(char *filename); 1042 XMLIBEXPORT XImage *_XmGetImageAndHotSpotFromFile(char *filename, int *hot_x, int *hot_y); 1043 1044 /************************* RenderTable.c ****************************/ 1045 1046 XMLIBEXPORT Boolean XmeRenderTableGetDefaultFont(XmRenderTable renderTable, 1047 XFontStruct **fontStruct); 1048 1049 /************************* ResConvert.c *****************************/ 1050 1051 enum { XmLABEL_FONTLIST = 1, 1052 XmBUTTON_FONTLIST, 1053 XmTEXT_FONTLIST 1054 }; 1055 1056 enum { XmLABEL_RENDER_TABLE = 1, 1057 XmBUTTON_RENDER_TABLE, 1058 XmTEXT_RENDER_TABLE 1059 }; 1060 1061 1062 XMLIBEXPORT void _XmRegisterConverters(void); 1063 #define _XmWarning XmeWarning 1064 XMLIBEXPORT void XmeWarning(Widget w, const char *message, ...); 1065 XMLIBEXPORT Boolean _XmStringsAreEqual(char *in_str, char *text_str); 1066 XMLIBEXPORT Boolean XmeNamesAreEqual(char *in_str, char *text_str); 1067 XMLIBEXPORT XmFontList _XmGetDefaultFontList(Widget w, unsigned char fontListType); 1068 XMLIBEXPORT char *_XmConvertCSToString(XmString cs); 1069 XMLIBEXPORT Boolean _XmCvtXmStringToCT(XrmValue *from, XrmValue *to); 1070 XMLIBEXPORT XmFontList XmeGetDefaultRenderTable(Widget w, unsigned int fontListType); 1071 1072 1073 /**************************** ResInd.c *****************************/ 1074 1075 XMLIBEXPORT void _XmBuildResources(XmSyntheticResource **wc_resources_ptr, 1076 int *wc_num_resources_ptr, 1077 XmSyntheticResource *sc_resources, 1078 int sc_num_resources); 1079 XMLIBEXPORT void _XmInitializeSyntheticResources(XmSyntheticResource *resources, 1080 int num_resources); 1081 XMLIBEXPORT void _XmPrimitiveGetValuesHook(Widget w, 1082 ArgList args, 1083 Cardinal *num_args); 1084 XMLIBEXPORT void _XmGadgetGetValuesHook(Widget w, 1085 ArgList args, 1086 Cardinal *num_args); 1087 XMLIBEXPORT void _XmManagerGetValuesHook(Widget w, 1088 ArgList args, 1089 Cardinal *num_args); 1090 XMLIBEXPORT void _XmExtGetValuesHook(Widget w, 1091 ArgList args, 1092 Cardinal *num_args); 1093 XMLIBEXPORT void _XmExtImportArgs(Widget w, 1094 ArgList args, 1095 Cardinal *num_args); 1096 XMLIBEXPORT void _XmPrimitiveImportArgs(Widget w, 1097 ArgList args, 1098 Cardinal *num_args); 1099 XMLIBEXPORT void _XmGadgetImportArgs(Widget w, 1100 ArgList args, 1101 Cardinal *num_args); 1102 XMLIBEXPORT void _XmGadgetImportSecondaryArgs(Widget w, 1103 ArgList args, 1104 Cardinal *num_args); 1105 XMLIBEXPORT void _XmManagerImportArgs(Widget w, 1106 ArgList args, 1107 Cardinal *num_args); 1108 XMLIBEXPORT int _XmConvertUnits(Screen *screen, 1109 int dimension, 1110 int from_type, 1111 int from_val, 1112 int to_type); 1113 XMLIBEXPORT XmImportOperator _XmToHorizontalPixels(Widget widget, 1114 int offset, 1115 XtArgVal *value); 1116 XMLIBEXPORT XmImportOperator XmeToHorizontalPixels(Widget widget, 1117 int offset, 1118 XtArgVal *value); 1119 XMLIBEXPORT XmImportOperator _XmToVerticalPixels(Widget widget, 1120 int offset, 1121 XtArgVal *value); 1122 XMLIBEXPORT XmImportOperator XmeToVerticalPixels(Widget widget, 1123 int offset, 1124 XtArgVal *value); 1125 XMLIBEXPORT void _XmFromHorizontalPixels(Widget widget, 1126 int offset, 1127 XtArgVal *value); 1128 XMLIBEXPORT void XmeFromHorizontalPixels(Widget widget, 1129 int offset, 1130 XtArgVal *value); 1131 XMLIBEXPORT void _XmFromVerticalPixels(Widget widget, 1132 int offset, 1133 XtArgVal *value); 1134 XMLIBEXPORT void XmeFromVerticalPixels(Widget widget, 1135 int offset, 1136 XtArgVal *value); 1137 XMLIBEXPORT void _XmSortResourceList(XrmResource *list[], Cardinal len); 1138 XMLIBEXPORT void _XmUnitTypeDefault(Widget widget, 1139 int offset, 1140 XrmValue *value); 1141 XMLIBEXPORT unsigned char _XmGetUnitType(Widget widget); 1142 1143 1144 /************************* UniqueEvent.c *****************************/ 1145 1146 XMLIBEXPORT Boolean _XmIsEventUnique(XEvent *event); 1147 XMLIBEXPORT void _XmRecordEvent(XEvent *event); 1148 1149 /*************************** Visual.c ********************************/ 1150 1151 #define XmLOOK_AT_SCREEN (1<<0) 1152 #define XmLOOK_AT_CMAP (1<<1) 1153 #define XmLOOK_AT_BACKGROUND (1<<2) 1154 #define XmLOOK_AT_FOREGROUND (1<<3) 1155 #define XmLOOK_AT_TOP_SHADOW (1<<4) 1156 #define XmLOOK_AT_BOTTOM_SHADOW (1<<5) 1157 #define XmLOOK_AT_SELECT (1<<6) 1158 1159 #define XmBACKGROUND ((unsigned char) (1<<0)) 1160 #define XmFOREGROUND ((unsigned char) (1<<1)) 1161 #define XmTOP_SHADOW ((unsigned char) (1<<2)) 1162 #define XmBOTTOM_SHADOW ((unsigned char) (1<<3)) 1163 #define XmSELECT ((unsigned char) (1<<4)) 1164 1165 typedef struct _XmColorData { 1166 Screen * screen; 1167 Colormap color_map; 1168 unsigned char allocated; 1169 XColor background; 1170 XColor foreground; 1171 XColor top_shadow; 1172 XColor bottom_shadow; 1173 XColor select; 1174 } XmColorData; 1175 1176 XMLIBEXPORT void _XmRegisterPixmapConverters(void); 1177 XMLIBEXPORT char *_XmGetBGPixmapName(void); 1178 XMLIBEXPORT void _XmClearBGPixmap(void); 1179 XMLIBEXPORT void XmeGetDefaultPixel(Widget widget, int type, int offset, XrmValue *value); 1180 XMLIBEXPORT void _XmForegroundColorDefault(Widget widget, int offset, XrmValue *value); 1181 XMLIBEXPORT void _XmHighlightColorDefault(Widget widget, int offset, XrmValue *value); 1182 XMLIBEXPORT void _XmBackgroundColorDefault(Widget widget, int offset, XrmValue *value); 1183 XMLIBEXPORT void _XmTopShadowColorDefault(Widget widget, int offset, XrmValue *value); 1184 XMLIBEXPORT void _XmBottomShadowColorDefault(Widget widget, int offset, XrmValue *value); 1185 XMLIBEXPORT void _XmPrimitiveTopShadowPixmapDefault(Widget widget, int offset, 1186 XrmValue *value); 1187 XMLIBEXPORT void _XmManagerTopShadowPixmapDefault(Widget widget, int offset, 1188 XrmValue *value); 1189 XMLIBEXPORT void _XmPrimitiveHighlightPixmapDefault(Widget widget, int offset, 1190 XrmValue *value); 1191 XMLIBEXPORT void _XmManagerHighlightPixmapDefault(Widget widget, int offset, 1192 XrmValue *value); 1193 XMLIBEXPORT void _XmGetDefaultThresholdsForScreen(Screen *screen); 1194 XMLIBEXPORT String _XmGetDefaultBackgroundColorSpec(Screen *screen); 1195 XMLIBEXPORT void _XmSetDefaultBackgroundColorSpec(Screen *screen, String new_color_spec); 1196 XMLIBEXPORT XmColorData *_XmGetDefaultColors(Screen *screen, Colormap color_map); 1197 XMLIBEXPORT Boolean _XmSearchColorCache(unsigned int which, XmColorData *values, 1198 XmColorData **ret); 1199 XMLIBEXPORT XmColorData *_XmAddToColorCache(XmColorData *new_rec); 1200 XMLIBEXPORT Pixel _XmBlackPixel(Screen *screen, Colormap colormap, XColor blackcolor); 1201 XMLIBEXPORT Pixel _XmWhitePixel(Screen *screen, Colormap colormap, XColor whitecolor); 1202 XMLIBEXPORT Pixel _XmAccessColorData(XmColorData *cd, unsigned char which); 1203 XMLIBEXPORT XmColorData *_XmGetColors(Screen *screen, Colormap color_map, Pixel background); 1204 XMLIBEXPORT void _XmSelectColorDefault(Widget w, int offset, XrmValue *val); 1205 1206 /**************************** XmString.c **********************************/ 1207 1208 XMLIBEXPORT XFontStruct *_XmGetFirstFont(XmFontListEntry entry); 1209 XMLIBEXPORT Boolean _XmFontListGetDefaultFont(XmFontList fontlist, 1210 XFontStruct **font_struct); 1211 XMLIBEXPORT Boolean _XmFontListSearch(XmFontList fontlist, XmStringCharSet charset, 1212 short *indx, XFontStruct **font_struct); 1213 XMLIBEXPORT Boolean _XmStringIsXmString(XmString string); 1214 XMLIBEXPORT Boolean _XmStringInitContext(_XmStringContext *context, _XmString string); 1215 XMLIBEXPORT Boolean _XmStringGetNextSegment(_XmStringContext context, 1216 XmStringCharSet *charset, 1217 XmStringDirection *direction, 1218 char **text, 1219 short *char_count, 1220 Boolean *separator) ; 1221 XMLIBEXPORT void _XmStringFreeContext(_XmStringContext context) ; 1222 XMLIBEXPORT Dimension _XmStringWidth(XmFontList fontlist, _XmString string) ; 1223 XMLIBEXPORT Dimension _XmStringHeight(XmFontList fontlist, _XmString string) ; 1224 XMLIBEXPORT void _XmStringExtent(XmFontList fontlist, _XmString string, 1225 Dimension *width, Dimension *height) ; 1226 XMLIBEXPORT Boolean _XmStringEmpty(_XmString string); 1227 XMLIBEXPORT void _XmStringDraw(Display *d, Window w, XmFontList fontlist, _XmString string, 1228 GC gc, Position x, Position y, Dimension width, 1229 unsigned char align, unsigned char lay_dir, 1230 XRectangle *clip); 1231 XMLIBEXPORT void _XmStringDrawImage(Display *d, Window w, 1232 XmFontList fontlist, _XmString string, 1233 GC gc, Position x, Position y, Dimension width, 1234 unsigned char align, unsigned char lay_dir, 1235 XRectangle *clip); 1236 XMLIBEXPORT void _XmStringDrawUnderline(Display *d, Window w, XmFontList f, _XmString s, 1237 GC gc, Position x, Position y, Dimension width, 1238 unsigned char align, unsigned char lay_dir, 1239 XRectangle *clip, _XmString u); 1240 XMLIBEXPORT void _XmStringDrawMnemonic(Display *d, Window w, 1241 XmFontList fontlist, _XmString string, 1242 GC gc, Position x, Position y, Dimension width, 1243 unsigned char alignment, 1244 unsigned char layout_direction, 1245 XRectangle *clip, 1246 String mnemonic, XmStringCharSet charset); 1247 XMLIBEXPORT _XmString _XmStringCreate(XmString cs); 1248 XMLIBEXPORT void _XmStringFree(_XmString string); 1249 XMLIBEXPORT char *_XmStringGetCurrentCharset(void) ; 1250 XMLIBEXPORT char *_XmCharsetCanonicalize(String charset); 1251 XMLIBEXPORT _XmString _XmStringCopy(_XmString string); 1252 XMLIBEXPORT Boolean _XmStringByteCompare(_XmString a, _XmString b); 1253 XMLIBEXPORT Boolean _XmStringHasSubstring(_XmString string, _XmString substring); 1254 XMLIBEXPORT XmString _XmStringCreateExternal(XmFontList fontlist, _XmString cs); 1255 XMLIBEXPORT Dimension _XmStringBaseline(XmFontList fontlist, _XmString string); 1256 XMLIBEXPORT int _XmStringLineCount(_XmString string); 1257 XMLIBEXPORT char * _XmStringGetTextConcat(XmString string); 1258 XMLIBEXPORT Boolean _XmStringIsCurrentCharset(XmStringCharSet c); 1259 XMLIBEXPORT Boolean _XmStringSingleSegment(XmString str, char **pTextOut, 1260 XmStringCharSet *pCharsetOut); 1261 1262 XMLIBEXPORT void _XmStringUpdateWMShellTitle(XmString xmstr, Widget shell); 1263 XMLIBEXPORT void XmeStringUpdateWMShellTitle(XmString xmstr, Widget shell); 1264 1265 XMLIBEXPORT XmIncludeStatus XmeGetNextCharacter(XtPointer *text_in_out, 1266 XtPointer text_end, 1267 XmTextType type, 1268 XmStringTag tag, 1269 XmParseMapping entry, 1270 int pattern_length, 1271 XmString *str_include, 1272 XtPointer call_data); 1273 1274 XMLIBEXPORT XmIncludeStatus XmeGetDirection(XtPointer *text_in_out, 1275 XtPointer text_end, 1276 XmTextType type, 1277 XmStringTag tag, 1278 XmParseMapping entry, 1279 int pattern_length, 1280 XmString *str_include, 1281 XtPointer call_data); 1282 1283 1284 1285 /************************* Traversal.c ********************************/ 1286 1287 #define XmTAB_ANY ((XmNavigationType)255) 1288 #define XmNONE_OR_BC ((XmNavigationType)254) 1289 1290 typedef struct _XmFocusMovedCallbackStruct { 1291 int reason; 1292 XEvent *event; 1293 Boolean cont; 1294 Widget old_focus; 1295 Widget new_focus; 1296 unsigned char focus_policy; 1297 } XmFocusMovedCallbackStruct, *XmFocusMovedCallback; 1298 1299 typedef struct _XmFocusDataRec *XmFocusData; 1300 1301 XMLIBEXPORT XmFocusData _XmCreateFocusData(void); 1302 XMLIBEXPORT void _XmDestroyFocusData(XmFocusData focusData); 1303 XMLIBEXPORT void _XmSetActiveTabGroup(XmFocusData focusData, Widget tabGroup); 1304 XMLIBEXPORT Widget _XmGetActiveItem(Widget w); 1305 XMLIBEXPORT void _XmNavigInitialize(Widget request, Widget new_wid, 1306 ArgList args, Cardinal *num_args); 1307 XMLIBEXPORT Boolean _XmNavigSetValues(Widget current, Widget request, Widget new_wid, 1308 ArgList args, Cardinal *num_args); 1309 XMLIBEXPORT void _XmNavigChangeManaged(Widget wid); 1310 XMLIBEXPORT void XmeNavigChangeManaged(Widget wid); 1311 XMLIBEXPORT void _XmNavigResize(Widget wid); 1312 XMLIBEXPORT void _XmValidateFocus(Widget wid); 1313 XMLIBEXPORT void _XmNavigDestroy(Widget wid); 1314 XMLIBEXPORT Boolean _XmCallFocusMoved(Widget old, Widget new_wid, XEvent *event); 1315 XMLIBEXPORT Boolean _XmMgrTraversal(Widget wid, XmTraversalDirection direction); 1316 XMLIBEXPORT void _XmClearFocusPath(Widget wid); 1317 XMLIBEXPORT Boolean _XmFocusIsHere(Widget w); 1318 XMLIBEXPORT unsigned char _XmGetFocusPolicy(Widget w); 1319 XMLIBEXPORT Widget _XmFindTopMostShell(Widget w); 1320 XMLIBEXPORT void _XmFocusModelChanged(Widget wid, 1321 XtPointer client_data, XtPointer call_data); 1322 XMLIBEXPORT Boolean _XmGrabTheFocus(Widget w, XEvent *event); 1323 XMLIBEXPORT XmFocusData _XmGetFocusData(Widget wid); 1324 XMLIBEXPORT Boolean _XmCreateVisibilityRect(Widget w, XRectangle *rectPtr); 1325 XMLIBEXPORT void _XmSetRect(XRectangle *rect, Widget w); 1326 XMLIBEXPORT int _XmIntersectRect(XRectangle *srcRectA, Widget widget, XRectangle *dstRect); 1327 XMLIBEXPORT int _XmEmptyRect(XRectangle *r); 1328 XMLIBEXPORT void _XmClearRect(XRectangle *r); 1329 XMLIBEXPORT Boolean _XmIsNavigable(Widget wid); 1330 XMLIBEXPORT void _XmWidgetFocusChange(Widget wid, XmFocusChange change); 1331 XMLIBEXPORT Widget _XmNavigate(Widget wid, XmTraversalDirection direction); 1332 XMLIBEXPORT Widget _XmFindNextTabGroup(Widget wid); 1333 XMLIBEXPORT Widget _XmFindPrevTabGroup(Widget wid); 1334 XMLIBEXPORT void _XmSetInitialOfTabGroup(Widget tab_group, Widget init_focus); 1335 XMLIBEXPORT void _XmResetTravGraph(Widget wid); 1336 XMLIBEXPORT Boolean _XmFocusIsInShell(Widget wid); 1337 XMLIBEXPORT Boolean XmeFocusIsInShell(Widget wid); 1338 XMLIBEXPORT Boolean _XmShellIsExclusive(Widget wid); 1339 XMLIBEXPORT Widget _XmGetFirstFocus(Widget wid); 1340 1341 /*********************** TravAct.c ******************************/ 1342 1343 XMLIBEXPORT void _XmTrackShellFocus(Widget wid, 1344 XtPointer client_data, 1345 XEvent *event, 1346 Boolean *dontSwallow); 1347 1348 XMLIBEXPORT void _XmManagerEnter(Widget wid, 1349 XEvent *event_in, 1350 String *params, 1351 Cardinal *num_params); 1352 1353 XMLIBEXPORT void _XmManagerLeave(Widget wid, 1354 XEvent *event_in, 1355 String *params, 1356 Cardinal *num_params); 1357 1358 XMLIBEXPORT void _XmManagerFocusInInternal(Widget wid, 1359 XEvent *event, 1360 String *params, 1361 Cardinal *num_params); 1362 1363 XMLIBEXPORT void _XmManagerFocusIn(Widget mw, 1364 XEvent *event, 1365 String *params, 1366 Cardinal *num_params); 1367 1368 XMLIBEXPORT void _XmManagerFocusOut(Widget wid, 1369 XEvent *event, 1370 String *params, 1371 Cardinal *num_params); 1372 1373 XMLIBEXPORT void _XmManagerUnmap(Widget mw, 1374 XEvent *event, 1375 String *params, 1376 Cardinal *num_params); 1377 1378 XMLIBEXPORT void _XmPrimitiveEnter(Widget w, 1379 XEvent *event, 1380 String *params, 1381 Cardinal *num_params); 1382 1383 XMLIBEXPORT void _XmPrimitiveLeave(Widget w, 1384 XEvent *event, 1385 String *params, 1386 Cardinal *num_params); 1387 1388 XMLIBEXPORT void _XmPrimitiveFocusOut(Widget w, 1389 XEvent *event, 1390 String *params, 1391 Cardinal *num_params); 1392 1393 XMLIBEXPORT void _XmPrimitiveFocusIn(Widget w, 1394 XEvent *event, 1395 String *params, 1396 Cardinal *num_params); 1397 1398 XMLIBEXPORT void _XmPrimitiveUnmap(Widget w, 1399 XEvent *event, 1400 String *params, 1401 Cardinal *num_params); 1402 1403 XMLIBEXPORT void _XmEnterGadget(Widget w, 1404 XEvent *event, 1405 String *params, 1406 Cardinal *num_params); 1407 1408 XMLIBEXPORT void _XmLeaveGadget(Widget w, 1409 XEvent *event, 1410 String *params, 1411 Cardinal *num_params); 1412 1413 XMLIBEXPORT void _XmFocusInGadget(Widget w, 1414 XEvent *event, 1415 String *params, 1416 Cardinal *num_params); 1417 1418 XMLIBEXPORT void _XmFocusOutGadget(Widget w, 1419 XEvent *event, 1420 String *params, 1421 Cardinal *num_params); 1422 1423 /************************ GeoUtils.c ***************************/ 1424 1425 XMLIBEXPORT void _XmGeoAdjustBoxes(XmGeoMatrix geoSpec); 1426 XMLIBEXPORT void _XmGeoArrangeBoxes(XmGeoMatrix geoSpec, Position x, Position y, 1427 Dimension *pW, Dimension *pH); 1428 XMLIBEXPORT Dimension _XmGeoBoxesSameWidth(XmKidGeometry rowPtr, Dimension width); 1429 XMLIBEXPORT Dimension _XmGeoBoxesSameHeight(XmKidGeometry rowPtr, Dimension height); 1430 XMLIBEXPORT void _XmGeoClearRectObjAreas(RectObj r, XWindowChanges *old); 1431 XMLIBEXPORT int _XmGeoCount_kids(CompositeWidget c); 1432 XMLIBEXPORT void _XmGeoGetDimensions(XmGeoMatrix geoSpec); 1433 XMLIBEXPORT XmKidGeometry _XmGetKidGeo(Widget wid, Widget instigator, 1434 XtWidgetGeometry *request, 1435 int uniform_border, Dimension border, 1436 int uniform_width_margins, 1437 int uniform_height_margins, 1438 Widget help, int geo_type); 1439 XMLIBEXPORT void _XmGeoLoadValues(Widget wid, int geoType, Widget instigator, 1440 XtWidgetGeometry *request, 1441 XtWidgetGeometry *geoResult); 1442 XMLIBEXPORT XmGeoMatrix _XmGeoMatrixAlloc(unsigned int numRows, 1443 unsigned int numBoxes, 1444 unsigned int extSize); 1445 XMLIBEXPORT void _XmGeoMatrixFree(XmGeoMatrix geo_spec); 1446 XMLIBEXPORT void _XmGeoMatrixGet(XmGeoMatrix geoSpec, int geoType); 1447 XMLIBEXPORT void _XmGeoMatrixSet(XmGeoMatrix geoSpec); 1448 XMLIBEXPORT Boolean _XmGeoReplyYes(Widget wid, XtWidgetGeometry *desired, 1449 XtWidgetGeometry *response); 1450 XMLIBEXPORT Boolean _XmGeoSetupKid(XmKidGeometry geo, Widget kidWid); 1451 XMLIBEXPORT Boolean _XmGeometryEqual(Widget wid, XtWidgetGeometry *geoA, 1452 XtWidgetGeometry *geoB); 1453 XMLIBEXPORT void _XmHandleSizeUpdate(Widget wid, unsigned char policy, 1454 XmGeoCreateProc createMatrix); 1455 XMLIBEXPORT XtGeometryResult _XmHandleQueryGeometry(Widget wid, 1456 XtWidgetGeometry *intended, 1457 XtWidgetGeometry *desired, 1458 unsigned char policy, 1459 XmGeoCreateProc createMatrix); 1460 XMLIBEXPORT XtGeometryResult _XmHandleGeometryManager(Widget wid, Widget instigator, 1461 XtWidgetGeometry *desired, 1462 XtWidgetGeometry *allowed, 1463 unsigned char policy, 1464 XmGeoMatrix *cachePtr, 1465 XmGeoCreateProc createMatrix); 1466 XMLIBEXPORT XtGeometryResult _XmMakeGeometryRequest(Widget w, 1467 XtWidgetGeometry *geom); 1468 XMLIBEXPORT void _XmMenuBarFix(XmGeoMatrix geoSpec, int action, 1469 XmGeoMajorLayout layoutPtr, XmKidGeometry rowPtr); 1470 XMLIBEXPORT void _XmSeparatorFix(XmGeoMatrix geoSpec, int action, 1471 XmGeoMajorLayout layoutPtr, XmKidGeometry rowPtr); 1472 XMLIBEXPORT void _XmSetKidGeo(XmKidGeometry kg, Widget instigator); 1473 XMLIBEXPORT XtGeometryResult XmeReplyToQueryGeometry(Widget w, 1474 XtWidgetGeometry *request, XtWidgetGeometry *reply); 1475 1476 1477 /*************************** Region.c ***************************/ 1478 XMLIBEXPORT XmRegion _XmRegionCreate(void); 1479 XMLIBEXPORT XmRegion _XmRegionCreateSize(long size); 1480 XMLIBEXPORT void _XmRegionComputeExtents(XmRegion r); 1481 XMLIBEXPORT void _XmRegionGetExtents(XmRegion r, XRectangle *rect); 1482 XMLIBEXPORT void _XmRegionUnionRectWithRegion(XRectangle *rect, 1483 XmRegion source, 1484 XmRegion dest); 1485 XMLIBEXPORT void _XmRegionIntersectRectWithRegion(XRectangle *rect, 1486 XmRegion source, 1487 XmRegion dest); 1488 XMLIBEXPORT long _XmRegionGetNumRectangles(XmRegion r); 1489 XMLIBEXPORT void _XmRegionGetRectangles(XmRegion r, 1490 XRectangle **rects, 1491 long *nrects); 1492 XMLIBEXPORT void _XmRegionSetGCRegion(Display *dpy, 1493 GC gc, 1494 int x_origin, 1495 int y_origin, 1496 XmRegion r); 1497 XMLIBEXPORT void _XmRegionDestroy(XmRegion r); 1498 XMLIBEXPORT void _XmRegionOffset(XmRegion pRegion, int x, int y); 1499 XMLIBEXPORT void _XmRegionIntersect(XmRegion reg1, XmRegion reg2, XmRegion newReg); 1500 XMLIBEXPORT void _XmRegionUnion(XmRegion reg1, XmRegion reg2, XmRegion newReg); 1501 XMLIBEXPORT void _XmRegionSubtract(XmRegion regM, XmRegion regS, XmRegion regD); 1502 XMLIBEXPORT Boolean _XmRegionIsEmpty(XmRegion r); 1503 XMLIBEXPORT Boolean _XmRegionEqual(XmRegion r1, XmRegion r2); 1504 XMLIBEXPORT Boolean _XmRegionPointInRegion(XmRegion pRegion, int x, int y); 1505 XMLIBEXPORT void _XmRegionClear(XmRegion r ); 1506 XMLIBEXPORT void _XmRegionShrink(XmRegion r, int dx, int dy); 1507 XMLIBEXPORT void _XmRegionDrawShadow(Display *display, 1508 Drawable d, 1509 GC top_gc, 1510 GC bottom_gc, 1511 XmRegion region, 1512 Dimension border_thick, 1513 Dimension shadow_thick, 1514 unsigned int shadow_type); 1515 1516 /****************************** Dest.c ***************************/ 1517 1518 XMLIBEXPORT void _XmSetDestination(Display *dpy, Widget w); 1519 1520 /***************************** XmIm.c ****************************/ 1521 1522 XMLIBEXPORT void _XmImChangeManaged(Widget vw); 1523 XMLIBEXPORT void _XmImRealize(Widget vw); 1524 XMLIBEXPORT void _XmImResize(Widget vw); 1525 XMLIBEXPORT void _XmImRedisplay(Widget vw); 1526 1527 /************************* DragBS.c ******************************/ 1528 1529 XMLIBEXPORT void _XmInitAtomPairs(Display *display); 1530 XMLIBEXPORT void _XmInitTargetsTable(Display *display); 1531 XMLIBEXPORT Cardinal _XmIndexToTargets(Widget shell, Cardinal t_index, Atom **targetsRtn); 1532 XMLIBEXPORT Cardinal _XmTargetsToIndex(Widget shell, Atom *targets, Cardinal numTargets); 1533 XMLIBEXPORT Atom _XmAllocMotifAtom(Widget shell, Time time); 1534 XMLIBEXPORT void _XmFreeMotifAtom(Widget shell, Atom atom); 1535 XMLIBEXPORT void _XmDestroyMotifWindow(Display *dpy); 1536 XMLIBEXPORT Window _XmGetDragProxyWindow(Display *display); 1537 1538 /************************* DragOverS.c ***************************/ 1539 1540 XMLIBEXPORT void _XmDragOverHide(Widget w, Position clipOriginX, Position clipOriginY, 1541 XmRegion clipRegion); 1542 XMLIBEXPORT void _XmDragOverShow(Widget w, Position clipOriginX, Position clipOriginY, 1543 XmRegion clipRegion); 1544 XMLIBEXPORT void _XmDragOverMove(Widget w, Position x, Position y); 1545 XMLIBEXPORT void _XmDragOverChange(Widget w, unsigned char dropSiteStatus); 1546 XMLIBEXPORT void _XmDragOverFinish(Widget w, unsigned char completionStatus); 1547 XMLIBEXPORT Cursor _XmDragOverGetActiveCursor( Widget w); 1548 XMLIBEXPORT void _XmDragOverSetInitialPosition(Widget w, 1549 Position initialX, Position initialY); 1550 1551 /************************** DragUnder.c *******************************/ 1552 1553 XMLIBEXPORT void _XmDragUnderAnimation(Widget w, XtPointer clientData, XtPointer callData); 1554 1555 /************************** Xme.c **************************************/ 1556 1557 XMLIBEXPORT void XmeVirtualToActualKeysym(Display *Dsp, KeySym VirtualKeysym, 1558 KeySym *RealKeysymReturn, 1559 Modifiers *ModifierReturn); 1560 1561 XMLIBEXPORT void XmeResolvePartOffsets(WidgetClass widget_class, 1562 XmOffsetPtr *offset, 1563 XmOffsetPtr *constraint_offset); 1564 1565 XMLIBEXPORT Cursor XmeGetNullCursor(Widget w); 1566 1567 XMLIBEXPORT void XmeQueryBestCursorSize(Widget widget, Dimension *width, Dimension *height); 1568 1569 XMLIBEXPORT void XmeSetWMShellTitle(XmString xmstr, Widget shell); 1570 1571 /************************* Xmos.c *************************************/ 1572 1573 XMLIBEXPORT extern int XmeMicroSleep(long secs); 1574 1575 XMLIBEXPORT XmString XmeGetLocalizedString(char *reserved, Widget widget, 1576 char *resource, String string); 1577 1578 1579 1580 /****************** THESE AREN'T SUPPOSED TO BE USED ******************/ 1581 1582 #ifdef XM_1_1_BC 1583 1584 #define XmVPANED_BIT XmPANED_WINDOW_BIT 1585 1586 #define LOOK_AT_SCREEN (1<<0) 1587 #define LOOK_AT_CMAP (1<<1) 1588 #define LOOK_AT_BACKGROUND (1<<2) 1589 #define LOOK_AT_FOREGROUND (1<<3) 1590 #define LOOK_AT_TOP_SHADOW (1<<4) 1591 #define LOOK_AT_BOTTOM_SHADOW (1<<5) 1592 #define LOOK_AT_SELECT (1<<6) 1593 1594 #define XmStrlen(s) ((s) ? strlen(s) : 0) 1595 1596 #define DEFAULT_INDICATOR_DIM 9 1597 1598 #ifndef MAX 1599 #define MAX(a,b) ((a) > (b) ? (a) : (b)) 1600 #endif 1601 1602 #define RX(r) (((RectObj)(r))->rectangle.x) 1603 #define RY(r) (((RectObj)(r))->rectangle.y) 1604 #define RWidth(r) (((RectObj)(r))->rectangle.width) 1605 #define RHeight(r) (((RectObj)(r))->rectangle.height) 1606 #define RBorder(r) (((RectObj)(r))->rectangle.border_width) 1607 1608 #define GMode(g) ((g)->request_mode) 1609 #define IsX(g) (GMode(g) & CWX) 1610 #define IsY(g) (GMode(g) & CWY) 1611 #define IsWidth(g) (GMode(g) & CWWidth) 1612 #define IsHeight(g) (GMode(g) & CWHeight) 1613 #define IsBorder(g) (GMode(g) & CWBorderWidth) 1614 #define IsWidthHeight(g) ((GMode(g) & CWWidth) || (GMode(g) & CWHeight)) 1615 #define IsQueryOnly(g) (GMode(g) & XtCWQueryOnly) 1616 1617 #define MAXDIMENSION ((1 << 31)-1) 1618 1619 #define Max(x, y) (((x) > (y)) ? (x) : (y)) 1620 #define Min(x, y) (((x) < (y)) ? (x) : (y)) 1621 #define AssignMax(x, y) if ((y) > (x)) x = (y) 1622 #define AssignMin(x, y) if ((y) < (x)) x = (y) 1623 1624 1625 #define DIALOG_SUFFIX "_popup" 1626 #define DIALOG_SUFFIX_SIZE 6 1627 1628 #define XM_3D_ENHANCE_PIXEL 2 1629 #define XM_DEFAULT_TOP_MARGIN 0 1630 #define XM_DEFAULT_BOTTOM_MARGIN 0 1631 1632 XMLIBEXPORT extern WidgetClass xmWorldObjectClass; 1633 XMLIBEXPORT extern WidgetClass xmDesktopObjectClass; 1634 XMLIBEXPORT extern WidgetClass xmDisplayObjectClass; 1635 XMLIBEXPORT extern WidgetClass xmScreenObjectClass; 1636 1637 #endif /* XM_1_1_BC */ 1638 1639 /**********************************************************************/ 1640 1641 #ifdef __cplusplus 1642 } 1643 #endif 1644 1645 1646 #include <Xm/VendorSP.h> 1647 #include <Xm/ManagerP.h> 1648 #include <Xm/PrimitiveP.h> 1649 #include <Xm/GadgetP.h> 1650 #include <Xm/BaseClassP.h> 1651 1652 1653 #endif /* _XM_XMP_H */ 1654