1 /***********************************************************************/ 2 /* Open Visualization Data Explorer */ 3 /* (C) Copyright IBM Corp. 1989,1999 */ 4 /* ALL RIGHTS RESERVED */ 5 /* This code licensed under the */ 6 /* "IBM PUBLIC LICENSE - Open Visualization Data Explorer" */ 7 /***********************************************************************/ 8 9 #include <dxconfig.h> 10 11 12 13 #ifndef _XmDX_H 14 #define _XmDX_H 15 16 #include <Xm/Xm.h> 17 18 #define MAX_POINTS 100 19 20 /* Define resource strings for the ColorMapEditor Widget */ 21 22 23 #define XmNdrawMode "drawMode" 24 #define XmCDrawMode "DrawMode" 25 #define XmNprintCP "printCP" 26 #define XmCPrintCP "PrintCP" 27 #define XmNbackgroundStyle "backgroundStyle" 28 #define XmCBackgroundStyle "BackgroundStyle" 29 #define XmNdisplayOpacity "displayOpacity" 30 #define XmCDisplayOpacity "DisplayOpacity" 31 #define XmNvalueMinimum "valueMinimum" 32 #define XmCValueMinimum "ValueMinimum" 33 #define XmNvalueMaximum "valueMaximum" 34 #define XmCValueMaximum "ValueMaximum" 35 #define XmNminEditable "minEditable" 36 #define XmNmaxEditable "maxEditable" 37 #ifndef XmCEditable 38 #define XmCEditable "Editable" 39 #endif 40 #define XmNdefaultColormap "defaultColormap" 41 #define XmCDefaultColormap "DefaultColormap" 42 #define XmNsaveFilename "saveFilename" 43 #define XmCSaveFilename "SaveFilename" 44 #define XmNopenFilename "openFilename" 45 #define XmCOpenFilename "OpenFilename" 46 #define XmCActivateCallback "ActivateCallback" 47 #define XmNconstrainVertical "constrainVertical" 48 #define XmCConstrainVertical "ConstrainVertical" 49 #define XmNconstrainHorizontal "constrainHorizontal" 50 #define XmCConstrainHorizontal "ConstrainHorizontal" 51 #define XmNtriggerCallback "triggerCallback" 52 #define XmCTriggerCallback "TriggerCallback" 53 54 #define XmCR_MODIFIED 1 55 #define STRIPES 0 56 #define CHECKERBOARD 1 57 58 /* 59 * Define resource strings for the Dial widget. 60 */ 61 #define XmNincrementsPerMarker "incrementsPerMarker" 62 63 #define XmNnumMarkers "numMarkers" 64 #define XmNmajorMarkerWidth "majorMarkerWidth" 65 #define XmNminorMarkerWidth "minorMarkerWidth" 66 #define XmNmajorPosition "majorPosition" 67 #define XmNstartingMarkerPos "startingMarkerPos" 68 #define XmNmajorMarkerColor "majorMarkerColor" 69 #define XmNminorMarkerColor "minorMarkerColor" 70 #define XmNmajorMarkerThickness "majorMarkerThickness" 71 #define XmNminorMarkerThickness "minorMarkerThickness" 72 73 #define XmNindicatorWidth "indicatorWidth" 74 #define XmNindicatorColor "indicatorColor" 75 76 #define XmNshading "shading" 77 #define XmNshadePercentShadow "shadePercentShadow" 78 #define XmNshadeIncreasingColor "shadeIncreasingColor" 79 #define XmNshadeDecreasingColor "shadeDecreasingColor" 80 #define XmNincreasingDirection "increasingDirection" 81 #define XmNdecimalPlaces "decimalPlaces" 82 #define XmCDecimalPlaces "DecimalPlaces" 83 84 #define XmCMarkers "Markers" 85 #define XmCMin "Min" 86 #define XmCMax "Max" 87 #define XmCInc "Inc" 88 #define XmCPos "Pos" 89 #define XmCClockDirection "ClockDirection" 90 91 #define CLOCKWISE 0 92 #define COUNTERCLOCKWISE 1 93 94 #define XmNstart "start" 95 #define XmCStart "Start" 96 #define XmNnext "next" 97 #define XmCNext "Next" 98 #define XmNcurrent "current" 99 #define XmCCurrent "Current" 100 #define XmNstop "stop" 101 #define XmCStop "Stop" 102 #define XmNvalueCallback "valueCallback" 103 #define XmCValueCallback "ValueCallback" 104 #define XmNlimitColor "limitColor" 105 #define XmCLimitColor "LimitColor" 106 #define XmNcurrentColor "currentColor" 107 #define XmCCurrentColor "CurrentColor" 108 #define XmNnextColor "nextColor" 109 #define XmCNextColor "NextColor" 110 #define XmNcurrentVisible "currentVisible" 111 #define XmCCurrentVisible "CurrentVisible" 112 113 #define XmNframeBuffer "frameBuffer" 114 #define XmCFrameBuffer "FrameBuffer" 115 #define XmNmotionCallback "motionCallback" 116 #define XmNsendMotion "sendMotion" 117 #define XmCSendMotion "SendMotion" 118 #define XmN8supported "8supported" 119 #define XmN12supported "12supported" 120 #define XmN15supported "15supported" 121 #define XmN16supported "16supported" 122 #define XmN24supported "24supported" 123 #define XmN32supported "32supported" 124 #define XmCSupported "Supported" 125 126 #define XmNdataType "dataType" 127 #define XmCDataType "DataType" 128 #define XmNcharPlaces "charPlaces" 129 #define XmCCharPlaces "CharPlaces" 130 #define XmNcenter "center" 131 #define XmCCenter "Center" 132 #define XmNnoEvents "noEvents" 133 #define XmCNoEvents "NoEvents" 134 #define XmNraised "raised" 135 #define XmCRaised "Raised" 136 #define XmNvisible "visible" 137 #define XmCVisible "Visible" 138 #define XmNfixedNotation "fixedNotation" 139 #define XmCFixedNotation "FixedNotation" 140 #define XmNoverflowCallback "overflowCallback" 141 142 /* Values given as double float or int */ 143 #define XmNdValue "dValue" 144 #define XmNfValue "fValue" 145 #define XmNiValue "iValue" 146 #define XmCDValue "DValue" 147 #define XmCFValue "FValue" 148 #define XmCIValue "IValue" 149 #define XmNdMinimum "dMinimum" 150 #define XmNfMinimum "fMinimum" 151 #define XmNiMinimum "iMinimum" 152 #define XmCDMinimum "DMinimum" 153 #define XmCFMinimum "FMinimum" 154 #define XmCIMinimum "IMinimum" 155 #define XmNdMaximum "dMaximum" 156 #define XmNfMaximum "fMaximum" 157 #define XmNiMaximum "iMaximum" 158 #define XmCDMaximum "DMaximum" 159 #define XmCFMaximum "FMaximum" 160 #define XmCIMaximum "IMaximum" 161 162 #define INTEGER 0 163 #define FLOAT 1 164 #define DOUBLE 2 165 166 #define XmNtuples "tuples" 167 #define XmNvectors "vectors" 168 #define XmNreadonlyVectors "readonlyVectors" 169 #define XmNvectorCount "vectorCount" 170 #define XmNvectorSpacing "vectorSpacing" 171 #define XmNscrolledWindow "scrolledWindow" 172 #define XmNscrolledWindowWidget "scrolledWindowWidget" 173 #define XmNminColumnWidth "minColumnWidth" 174 #define XmCMinColumnWidth "MinColumnWidth" 175 #ifndef XmNselectCallback 176 # define XmNselectCallback "selectCallback" 177 #endif 178 179 #define XmNdisplayGlobe "displayGlobe" 180 #define XmCDisplayGlobe "DisplayGlobe" 181 #define XmNlookAtAngle "lookAtAngle" 182 #define XmCLookAtAngle "LookAtAngle" 183 #define XmNlookAtDirection "lookAtDirection" 184 #define XmCLookAtDirection "LookAtDirection" 185 #define XmNnavigateDirection "navigateDirection" 186 #define XmCNavigateDirection "NavigateDirection" 187 #define XmNtranslateSpeed "translateSpeed" 188 #define XmCTranslateSpeed "TranslateSpeed" 189 #define XmNrotateSpeed "rotateSpeed" 190 #define XmCRotateSpeed "RotateSpeed" 191 #define XmNnewImage "newImage" 192 #define XmCNewImage "NewImage" 193 #define XmNconstrainCursor "XmNconstrainCursor" 194 #define XmCConstrainCursor "XmConstrainCursor" 195 #define XmNoverlayExposure "XmNoverlayExposure" 196 #define XmCOverlayExposure "XmCOverlayExposure" 197 #define XmNoverlayWid "overlayWid" 198 #define XmCOverlayWid "OverlayWid" 199 #define XmNmode "mode" 200 #define XmCMode "Mode" 201 #define XmNpicturePixmap "picturePixmap" 202 #define XmCPicturePixmap "PicturePixmap" 203 #define XmNshowRotatingBBox "showRotatingBBox" 204 #define XmCShowRotatingBBox "ShowRotatingBBox" 205 #define XmNrotationCenter "rotationCenter" 206 #define XmCRotationCenter "RotationCenter" 207 #define XmNbasis "basis" 208 #define XmCBasis "Basis" 209 #define XmNzIncrement "zIncrement" 210 #define XmCZIncrement "XIncrement" 211 #define XmNboxGrey "boxGrey" 212 #define XmCBoxGrey "BoxGrey" 213 #define XmNselectedInCursorColor "selectedInCursorColor" 214 #define XmNselectedOutCursorColor "selectedOutCursorColor" 215 #define XmCSelectedCursorColor "SelectedCursorColor" 216 #define XmNunselectedInCursorColor "unselectedInCursorColor" 217 #define XmNunselectedOutCursorColor "unselectedOutCursorColor" 218 #define XmCUnselectedCursorColor "UnselectedCursorColor" 219 #define XmNpictureTransformation "pictureTransformation" 220 #define XmCPictureTransformation "PictureTransformation" 221 #define XmNpictureCursorColors "pictureCursorColors" 222 #define XmCPictureCursorColors "PictureCursorColors" 223 #define XmNpictureCursorSize "pictureCursorSize" 224 #define XmCPictureCursorSize "PictureCursorSize" 225 #define XmNpictureCursorSpeed "pictureCursorSpeed" 226 #define XmCPictureCursorSpeed "PictureCursorSpeed" 227 #define XmNglobeRadius "globeRadius" 228 #define XmCGlobeRadius "GlobeRadius" 229 #define XmNcursorShape "cursorShape" 230 #define XmCCursorShape "CursorShape" 231 #define XmNcursorCallback "cursorCallback" 232 #define XmNpickCallback "pickCallback" 233 #define XmNrotationCallback "rotationCallback" 234 #define XmNzoomCallback "zoomCallback" 235 #define XmNroamCallback "roamCallback" 236 #define XmNnavigateCallback "navigateCallback" 237 #define XmNclientMessageCallback "clientMessageCallback" 238 #define XmNpropertyNotifyCallback "propertyNotifyCallback" 239 #define XmNmodeCallback "modeCallback" 240 #define XmNundoCallback "undoCallback" 241 #define XmNkeyCallback "keyCallback" 242 243 #define XmNULL_MODE 0 244 #define XmCURSOR_MODE 1 245 #define XmROTATION_MODE 2 246 #define XmZOOM_MODE 3 247 #define XmPANZOOM_MODE 4 248 #define XmROAM_MODE 5 249 #define XmNAVIGATE_MODE 6 250 #define XmPICK_MODE 7 251 252 #define XmPCR_CREATE 0 253 #define XmPCR_DELETE 1 254 #define XmPCR_MOVE 2 255 #define XmPCR_SELECT 3 256 #define XmPCR_DRAG 4 257 #define XmPCR_TRANSLATE_SPEED 5 258 #define XmPCR_ROTATE_SPEED 6 259 #define XmPCR_MODE 7 260 #define XmPCR_UNDO 8 261 #define XmPCR_KEY 9 262 263 #define XmCR_NUM_WARN_DP_INT 0 264 #define XmCR_NUM_WARN_NO_NEG 1 265 #define XmCR_NUM_WARN_INVALID_CHAR 2 266 #define XmCR_NUM_WARN_NO_FLOAT 3 267 #define XmCR_NUM_WARN_NO_EXPONENT 4 268 #define XmCR_NUM_WARN_EXCESS_PRECISION 5 269 #define XmCR_NUM_WARN_ABOVE_MAX 6 270 #define XmCR_NUM_WARN_BELOW_MIN 7 271 #define XmCR_NUM_WARN_BAD_INPUT 8 272 273 #define XmCONSTRAIN_NONE 0 274 #define XmCONSTRAIN_X 1 275 #define XmCONSTRAIN_Y 2 276 #define XmCONSTRAIN_Z 3 277 278 #define XmSLOW_CURSOR 0 279 #define XmMEDIUM_CURSOR 1 280 #define XmFAST_CURSOR 2 281 282 #define FRONT 1 283 #define OFF_FRONT 2 284 #define BACK 3 285 #define OFF_BACK 4 286 #define TOP 5 287 #define OFF_TOP 6 288 #define BOTTOM 7 289 #define OFF_BOTTOM 8 290 #define RIGHT 9 291 #define OFF_RIGHT 10 292 #define LEFT 11 293 #define OFF_LEFT 12 294 #define DIAGONAL 13 295 #define OFF_DIAGONAL 14 296 297 #define XmFORWARD 0 298 #define XmBACKWARD 1 299 300 #define XmTURN_LEFT 0 301 #define XmTURN_RIGHT 1 302 #define XmTURN_UP 2 303 #define XmTURN_DOWN 3 304 #define XmTURN_BACK 4 305 306 #define XmLOOK_LEFT 0 307 #define XmLOOK_RIGHT 1 308 #define XmLOOK_UP 2 309 #define XmLOOK_DOWN 3 310 #define XmLOOK_BACKWARD 4 311 #define XmLOOK_FORWARD 5 312 313 #define XmNmarkColor "markColor" 314 #define XmNminValue "minValue" 315 #define XmCMinValue "MinValue" 316 #define XmNmaxValue "maxValue" 317 #define XmNxMargin "xMargin" 318 #define XmCXMargin "XMargin" 319 #define XmNyMargin "yMargin" 320 #define XmCYMargin "YMargin" 321 #define XmNalignOnDrop "alignOnDrop" 322 #define XmCAlignOnDrop "AlignOnDrop" 323 #define XmNjumpToGrab "jumpToGrab" 324 #define XmCJumpToGrab "JumpToGrab" 325 #define XmNallowInput "allowInput" 326 #define XmCAllowInput "AllowInput" 327 328 /* 329 * Define new resource strings for the Number widget. 330 */ 331 #define XmNwarningCallback "warningCallback" 332 #define XmNcrossOver "crossOver" 333 #define XmCCrossOver "CrossOver" 334 #define XmNcrossUnder "crossUnder" 335 #define XmCCrossUnder "CrossUnder" 336 337 /* 338 * Define new resource strings for the Stepper widget. 339 */ 340 #define XmNdValueStep "dValueStep" 341 #define XmCDValueStep "DValueStep" 342 #define XmNfValueStep "fValueStep" 343 #define XmCFValueStep "FValueStep" 344 #define XmNiValueStep "iValueStep" 345 #define XmCIValueStep "IValueStep" 346 #define XmNdigits "digits" 347 #define XmCDigits "Digits" 348 #define XmNtime "time" 349 #define XmCTime "Time" 350 #define XmNtimeDelta "timeDelta" 351 #define XmCTimeDelta "TimeDelta" 352 #define XmNrollOver "rollOver" 353 #define XmCRollOver "RollOver" 354 /* Directions use Xm.h Xm_ARROW_UP, etc. */ 355 #define XmNincreaseDirection "increaseDirection" 356 #define XmCIncreaseDirection "IncreaseDirection" 357 #define XmNstepCallback "stepCAllback" 358 #define XmCStepCallback "StepCAllback" 359 360 #define VCR_FORWARD 0 361 #define VCR_BACKWARD 1 362 #define VCR_LOOP 2 363 #define VCR_PALINDROME 3 364 #define VCR_STEP 4 365 #define VCR_COUNT 5 366 #define VCR_STOP 6 367 #define VCR_PAUSE 7 368 #define VCR_FORWARD_STEP 8 369 #define VCR_BACKWARD_STEP 9 370 371 #define VCR_NOTHING 100 372 373 #define XmCR_NEXT 0 374 #define XmCR_CURRENT 1 375 #define XmCR_START 2 376 #define XmCR_STOP 4 377 #define XmCR_MIN 5 378 #define XmCR_MAX 6 379 380 /* define resource strings */ 381 382 #define XmNactionCallback "action_callback" 383 #define XmNframeCallback "frame_callback" 384 #define XmNframeSensitive "frameSensitive" 385 #define XmNminSensitive "minSensitive" 386 #define XmNmaxSensitive "maxSensitive" 387 #define XmNincSensitive "incSensitive" 388 389 #define XmCActionCallback "Action_callback" 390 #define XmCFrameCallback "Frame_callback" 391 #define XmCFrameSensitive "FrameSensitive" 392 #define XmCMinSensitive "MinSensitive" 393 #define XmCMaxSensitive "MaxSensitive" 394 #define XmCIncSensitive "IncSensitive" 395 396 #define XmNforwardButtonState "forwardButtonState" 397 #define XmCForwardButtonState "ForwardButtonState" 398 #define XmNbackwardButtonState "backwardButtonState" 399 #define XmCBackwardButtonState "BackwardButtonState" 400 #define XmNloopButtonState "loopButtonState" 401 #define XmCLoopButtonState "LoopButtonState" 402 #define XmNpalindromeButtonState "palindromeButtonState" 403 #define XmCPalindromeButtonState "PalindromeButtonState" 404 #define XmNstepButtonState "stepButtonState" 405 #define XmCStepButtonState "StepButtonState" 406 #define XmNcountButtonState "countButtonState" 407 #define XmCCountButtonState "CountButtonState" 408 409 #define XmRWorkspaceType "WorkspaceType" 410 411 #define XmALIGNMENT_NONE 100 412 413 #define XmNautoArrange "autoArrange" 414 #define XmCAutoArrange "AutoArrange" 415 #define XmNforceRoute "forceRoute" 416 #define XmCForceRoute "ForceRoute" 417 #define XmNcollisionSpacing "collisionSpacing" 418 #define XmCCollisionSpacing "CollisionSpacing" 419 #define XmNhaloThickness "haloThickness" 420 #define XmCHaloThickness "HaloThickness" 421 #define XmNpositionChangeCallback "positionChangeCallback" 422 #define XmCPositionChangeCallback "PositionChangeCallback" 423 #define XmNerrorCallback "errorCallback" 424 #define XmCErrorCallback "ErrorCallback" 425 #define XmNaccentCallback "accentCallback" 426 #define XmCAccentCallback "AccentCallback" 427 #define XmNaccentColor "accentColor" 428 #define XmCAccentColor "AccentColor" 429 #define XmNaccentPolicy "accentPolicy" 430 #define XmCAccentPolicy "AccentPolicy" 431 #define XmNallowMovement "allowMovement" 432 #define XmCAllowMovement "AllowMovement" 433 #define XmNallowVerticalResizing "allowVerticalResizing" 434 #define XmNallowHorizontalResizing "allowHorizontalResizing" 435 #define XmNstretchOnResize "stretchOnResize" 436 #define XmCStretchOnResize "StretchOnResize" 437 #define XmNpinLeftRight "pinLeftRight" 438 #define XmNpinTopBottom "pinTopBottom" 439 #define XmCPinSides "PinSides" 440 #define XmCAllowResizing "AllowResizing" 441 #define XmNbackgroundCallback "backgroundCallback" 442 #define XmCDrawGrid "DrawGrid" 443 #define XmNgridHeight "gridHeight" 444 #define XmCGridHeight "GridHeight" 445 #define XmNgridWidth "gridWidth" 446 #define XmCGridWidth "GridWidth" 447 #define XmNhorizontalAlignment "horizontalAlignment" 448 #define XmNhorizontalDrawGrid "horizontalDrawGrid" 449 #define XmNid "id" 450 #define XmCId "Id" 451 #define XmNinclusionPolicy "inclusionPolicy" 452 #define XmCInclusionPolicy "InclusionPolicy" 453 #define XmNlineThickness "lineThickness" 454 #define XmCLineThickness "LineThickness" 455 #define XmNmanhattanRoute "manhattanRoute" 456 #define XmCManhattanRoute "ManhattanRoute" 457 #define XmNoutlineType "outlineType" 458 #define XmCOutlineType "OutlineType" 459 #define XmNplacementPolicy "placementPolicy" 460 #define XmCPlacementPolicy "PlacementPolicy" 461 #define XmNresizingCallback "resizingCallback" 462 #define XmCResizingCallback "ResizingCallback" 463 #define XmCSelectionCallback "SelectionCallback" 464 #define XmNselectable "selectable" 465 #define XmCSelectable "Selectable" 466 #define XmNselected "selected" 467 #define XmCSelected "Selected" 468 #define XmNsnapToGrid "snapToGrid" 469 #define XmCSnapToGrid "SnapToGrid" 470 #define XmNsortPolicy "sortPolicy" 471 #define XmNuserCallback "userCallback" 472 #define XmCUserCallback "UserCallback" 473 #define XmNverticalAlignment "verticalAlignment" 474 #define XmNverticalDrawGrid "verticalDrawGrid" 475 #define XmNbutton1PressMode "button1PressMode" 476 #define XmCButton1PressMode "Button1PressMode" 477 #define XmNwidgetTolerance "widgetTolerance" 478 #define XmCWidgetTolerance "WidgetTolerance" 479 #define XmNlineTolerance "lineTolerance" 480 #define XmCLineTolerance "LineTolerance" 481 #define XmNlineDrawingEnabled "lineDrawingEnabled" 482 #define XmCLineDrawingEnabled "LineDrawingEnabled" 483 #define XmNpreventOverlap "preventOverlap" 484 485 #if !defined(XmNselectionCallback) 486 #define XmNselectionCallback "selectionCallback" 487 #endif 488 #if !defined(XmNposition) 489 #define XmNposition "position" 490 #endif 491 #if !defined(XmNarrowSize) 492 #define XmNarrowSize "arrowSize" 493 #endif 494 #if !defined(XmCArrowSize) 495 #define XmCArrowSize "ArrowSize" 496 #endif 497 /* 498 * Workspace placement policy constants. 499 * ...added 3/95 to replace integers used. The values 500 * 0,1,2 were hardcoded throughout WorkspaceW.c, making the code difficult to read. 501 * XmSPACE_WARS_SELECTED_STAYS is the default and is used in the vpe. 502 * The use of these constants is for deciding who should move if there is overlap 503 * among child widgets in the Workspace. 504 * - Martin 505 */ 506 #define XmSPACE_WARS_SELECTED_STAYS 2 507 #define XmSPACE_WARS_LEFT_MOST_STAYS 1 508 #define XmSPACE_WARS_SELECTED_MIGRATE 0 509 510 /* 511 * constraint resources provided by the workspace widget which hold on to the 512 * form constraints. The values are stuck into the form class when turning 513 * autoArrange on. 514 */ 515 #define XmNwwLeftAttachment "wwLeftAttachment" 516 #define XmNwwRightAttachment "wwRightAttachment" 517 #define XmNwwTopAttachment "wwTopAttachment" 518 #define XmNwwBottomAttachment "wwBottomAttachment" 519 #define XmNwwLeftPosition "wwLeftPosition" 520 #define XmNwwRightPosition "wwRightPosition" 521 #define XmNwwTopPosition "wwTopPosition" 522 #define XmNwwBottomPosition "wwBottomPosition" 523 #define XmNwwLeftOffset "wwLeftOffset" 524 #define XmNwwRightOffset "wwRightOffset" 525 #define XmNwwTopOffset "wwTopOffset" 526 #define XmNwwBottomOffset "wwBottomOffset" 527 #define XmNwwLeftWidget "wwLeftWidget" 528 #define XmNwwRightWidget "wwRightWidget" 529 #define XmNwwTopWidget "wwTopWidget" 530 #define XmNwwBottomWidget "wwBottomWidget" 531 532 #define OFF 0 533 #define ON 1 534 535 #define XmINCLUDE_ALL 0 536 #define XmINCLUDE_ANY 1 537 #define XmINCLUDE_CENTER 2 538 #define XmACCENT_BACKGROUND 2 539 #define XmACCENT_BORDER 1 540 #define XmACCENT_NONE 0 541 #define XmCR_SELECT 90 542 #define XmCR_ACCENT 91 543 #define XmCR_BACKGROUND 92 544 #define XmCR_ERROR 93 545 #define XmCR_USER_NOTIFY 94 546 #define XmOUTLINE_EACH 70 547 #define XmOUTLINE_ALL 71 548 #define XmOUTLINE_PLUS 72 549 #define XmDRAW_NONE 0 550 #define XmDRAW_HASH 1 551 #define XmDRAW_LINE 2 552 #define XmDRAW_OUTLINE 3 553 554 555 /* 556 // For alpha (and any other architecture where sizeof(double) <= sizeof(long)), 557 // pass double resources by value. 558 // For all others, pass by reference. Xt checks to see if XtArgType 559 // (usually defined as a long) is shorter than the type being passed in. If 560 // it is, it does a "pass by reference", else "pass by value" 561 // 562 // XtDoubleSetArg is to be used in place of XtSetArg when a double resource 563 // is being set. 564 // DoubleVal is to be used in XtVaSetValues, for example: 565 // XtVaSetValues(w, XmNdValue, DoubleVal(dval, l), NULL); 566 // 567 // Note DoubleVal needs an XtArgVal as it's second parameter in case we 568 // are using it twice in the same XtVaSetValues. In this case, two 569 // separate and distinct XtArgVal params should be supplied 570 // 571 */ 572 #if defined(alphax) || defined(__ia64__) || defined(__LP64__) 573 #define PASSDOUBLEVALUE 1 574 #endif 575 576 #if PASSDOUBLEVALUE 577 #define DoubleSetArg(a, b, c) \ 578 (a).name = (b); \ 579 memcpy(&((a).value), &c, sizeof(double)); 580 581 #define DoubleVal(a, dx_l) \ 582 (memcpy(&dx_l, &a, sizeof(double)), dx_l) 583 #else 584 #define DoubleSetArg(a, b, c) \ 585 (a).name = (b); \ 586 (a).value = (XtArgVal)&(c); 587 588 #define DoubleVal(a, l) &a 589 590 #endif 591 #endif 592