1 /* picture.h 2 * =========================================================================== 3 * 4 * PUBLIC DOMAIN NOTICE 5 * National Center for Biotechnology Information (NCBI) 6 * 7 * This software/database is a "United States Government Work" under the 8 * terms of the United States Copyright Act. It was written as part of 9 * the author's official duties as a United States Government employee and 10 * thus cannot be copyrighted. This software/database is freely available 11 * to the public for use. The National Library of Medicine and the U.S. 12 * Government do not place any restriction on its use or reproduction. 13 * We would, however, appreciate having the NCBI and the author cited in 14 * any work or product based on this material 15 * 16 * Although all reasonable efforts have been taken to ensure the accuracy 17 * and reliability of the software and data, the NLM and the U.S. 18 * Government do not and cannot warrant the performance or results that 19 * may be obtained by using this software or data. The NLM and the U.S. 20 * Government disclaim all warranties, express or implied, including 21 * warranties of performance, merchantability or fitness for any particular 22 * purpose. 23 * 24 * =========================================================================== 25 * 26 * File Name: picture.h 27 * 28 * Author: Jonathan Kans, Alex Smirnov, Jill Shermer 29 * 30 * Version Creation Date: 10/23/92 31 * 32 * $Revision: 6.15 $ 33 * 34 * File Description: 35 * 36 * Modifications: 37 * -------------------------------------------------------------------------- 38 * $Log: picture.h,v $ 39 * Revision 6.15 2004/02/17 19:22:54 johnson 40 * make segment ID consistly unsigned 41 * 42 * Revision 6.14 2003/03/18 17:00:10 kans 43 * Nlm_AddSilentSegRect does not absorb clicks, SegRect reverted to absorb clicks, so desktop click responsiveness is maintained 44 * 45 * Revision 6.13 2002/08/07 18:13:42 kans 46 * G/SetPrimitiveIDs, itemID is Uint4 47 * 48 * Revision 6.12 2002/03/07 15:53:45 kans 49 * added SetSegmentVisibleFlag to set/clear the visible flag before attaching to a viewer 50 * 51 * Revision 6.11 1999/10/13 17:45:46 kans 52 * added entityID, itemID, and itemtype to primitive internal structure, added Get and Set functions 53 * 54 * Revision 6.10 1999/10/04 19:39:09 kans 55 * include vibdefns.h 56 * 57 * Revision 6.9 1999/10/04 17:16:32 kans 58 * include ncbidraw.h instead of vibrant.h, a couple Nlm_ prefixes 59 * 60 * Revision 6.8 1998/07/01 18:27:43 vakatov 61 * Use "const" qualifier somewhere 62 * 63 * Revision 6.7 1998/06/30 00:32:03 vakatov 64 * Nlm_AddAttribute(): pass "color" as constant 65 * 66 * Revision 6.6 1998/06/01 17:29:20 vakatov 67 * Extended rounded rect. options -- let it roundup only two(adjacent) 68 * corners(see "flags" arg in Nlm_AddRoundedRectangle()) 69 * 70 * Revision 6.5 1998/04/27 16:05:46 vakatov 71 * + AddRoundedRectangle() 72 * 73 * Revision 6.4 1997/12/16 18:38:36 kans 74 * sentinel draw callback has draw info context parameter 75 * 76 * Revision 6.3 1997/12/15 18:10:44 kans 77 * added cleanup data function to sentinel 78 * 79 * Revision 6.2 1997/11/13 21:41:34 vakatov 80 * Added "sentinel rectangle" primitive[Nlm_AddSntRectangle] which 81 * calls its callback procedure[Nlm_SntOnDrawProc] on each redraw 82 * 83 * Revision 6.1 1997/10/30 20:01:43 vakatov 84 * Added Nlm_PrimitiveBox() 85 * 86 * Revision 5.1 1997/07/02 18:35:53 vakatov 87 * Nlm_DeletePrim() redesigned/rewritten to guarantee prim. list consistency 88 * 89 * Revision 4.2 1996/03/18 20:41:36 vakatov 90 * ChangeAddPrimOrder(...) function allows one to specify the order of adding 91 * primitives(or segments) to a picture 92 * 93 * 022495 Alex 94 * ========================================================================== 95 */ 96 97 #ifndef _PICTURE_ 98 #define _PICTURE_ 99 100 #ifndef _NCBIDRAW_ 101 #include <ncbidraw.h> 102 #endif 103 104 #ifndef _VIBDEFNS_ 105 #include <vibdefns.h> 106 #endif 107 108 #ifdef __cplusplus 109 extern "C" { 110 #endif 111 112 /***************************************************************************** 113 * 114 * STRUCTURE TYPEDEFS 115 * 116 *****************************************************************************/ 117 118 typedef struct Nlm_segment { 119 Nlm_VoidPtr dummy; 120 } PNTR Nlm_SegmenT; 121 122 typedef struct Nlm_primitive { 123 Nlm_VoidPtr dummy; 124 } PNTR Nlm_PrimitivE; 125 126 /* BoxInfo stores the world coordinates of a rectangle */ 127 128 typedef struct Nlm_boxinfo { 129 Nlm_Int4 left; 130 Nlm_Int4 top; 131 Nlm_Int4 right; 132 Nlm_Int4 bottom; 133 } Nlm_BoxInfo, PNTR Nlm_BoxPtr; 134 135 /* PntInfo stores the world coordinates of a point */ 136 137 typedef struct Nlm_pntinfo { 138 Nlm_Int4 x; 139 Nlm_Int4 y; 140 } Nlm_PntInfo, PNTR Nlm_PntPtr; 141 142 /***************************************************************************** 143 * 144 * GENERIC PRIMITIVE DEFS 145 * 146 *****************************************************************************/ 147 148 typedef struct Nlm_primdrawctxt { 149 Nlm_VoidPtr dummy; 150 } PNTR Nlm_PrimDrawContext; 151 152 typedef struct Nlm_primhittestctxt { 153 Nlm_VoidPtr dummy; 154 } PNTR Nlm_PrimHitContext; 155 156 typedef void (*Nlm_PrimDrawProc) PROTO((Nlm_VoidPtr pextra, 157 Nlm_PrimDrawContext pdc)); 158 typedef Nlm_Boolean (*Nlm_PrimHitTestProc) PROTO((Nlm_VoidPtr pextra, 159 Nlm_PrimHitContext phc)); 160 typedef Nlm_Boolean (*Nlm_PrimOffsetProc) PROTO((Nlm_VoidPtr pextra, 161 Nlm_Int4 deltaX, Nlm_Int4 deltaY)); 162 typedef Nlm_Boolean (*Nlm_PrimGetLimitsProc) PROTO(( Nlm_VoidPtr pextra, 163 Nlm_Int4 scaleX, Nlm_Int4 scaleY, Nlm_BoxPtr pLimits)); 164 typedef void (*Nlm_PrimCleanupProc) PROTO((Nlm_VoidPtr pextra)); 165 166 /* The following struct may be changed with the next version. 167 Use functions ResetPrimDef(), Nlm_SetPrimDrawProc(), etc, instead 168 of Nlm_PrimDef = { values } */ 169 170 typedef struct Nlm_primdef { 171 Nlm_PrimDrawProc draw; 172 Nlm_PrimHitTestProc hittest; 173 Nlm_PrimOffsetProc offset; 174 Nlm_PrimCleanupProc cleanup; 175 Nlm_PrimGetLimitsProc getlimits; 176 } Nlm_PrimDef, PNTR Nlm_PrimDefPtr; 177 178 extern void Nlm_ResetPrimDef PROTO((Nlm_PrimDefPtr)); 179 extern void Nlm_SetPrimDrawProc PROTO((Nlm_PrimDrawProc)); 180 extern void Nlm_SetPrimHitTestProc PROTO((Nlm_PrimHitTestProc)); 181 extern void Nlm_SetPrimOffsetProc PROTO((Nlm_PrimOffsetProc)); 182 extern void Nlm_SetPrimGetLimitsProc PROTO((Nlm_PrimGetLimitsProc)); 183 extern void Nlm_SetPrimCleanupProc PROTO((Nlm_PrimCleanupProc)); 184 185 /* helper functions for callbacks */ 186 187 extern Nlm_BoxPtr Nlm_GetWorldWindow PROTO((Nlm_PrimDrawContext pdc)); 188 extern Nlm_Int4 Nlm_GetScaleX PROTO((Nlm_PrimDrawContext pdc)); 189 extern Nlm_Int4 Nlm_GetScaleY PROTO((Nlm_PrimDrawContext pdc)); 190 extern Nlm_Int4 Nlm_GetOffsetX PROTO((Nlm_PrimDrawContext pdc)); 191 extern Nlm_Int4 Nlm_GetOffsetY PROTO((Nlm_PrimDrawContext pdc)); 192 extern Nlm_Boolean Nlm_isPrimInWindow PROTO((Nlm_PrimDrawContext pdc)); 193 extern Nlm_Int1 Nlm_GetPrimHligh PROTO((Nlm_PrimDrawContext pdc)); 194 extern Nlm_BoxPtr Nlm_GetHitWindow PROTO((Nlm_PrimHitContext phc)); 195 extern void Nlm_SetPrimAttribute PROTO((Nlm_PrimDrawContext pdc, 196 Nlm_Uint1 flags )); 197 extern void Nlm_RestorePrimAttribute PROTO((Nlm_PrimDrawContext pdc)); 198 199 /***************************************************************************** 200 * 201 * SYMBOL DEFINES 202 * 203 *****************************************************************************/ 204 205 /* Attribute flag bits */ 206 207 #define NO_ATTS 0 208 #define COLOR_ATT 1 209 #define STYLE_ATT 2 210 #define SHADING_ATT 4 211 #define WIDTH_ATT 8 212 #define MODE_ATT 16 213 214 /* Color specifications */ 215 216 extern Uint1 BLACK_COLOR [3]; 217 extern Uint1 WHITE_COLOR [3]; 218 extern Uint1 RED_COLOR [3]; 219 extern Uint1 GREEN_COLOR [3]; 220 extern Uint1 BLUE_COLOR [3]; 221 extern Uint1 YELLOW_COLOR [3]; 222 extern Uint1 CYAN_COLOR [3]; 223 extern Uint1 MAGENTA_COLOR [3]; 224 225 /* Line styles */ 226 227 #define NO_LINE_STYLE 0 228 #define SOLID_LINE 1 229 #define DOTTED_LINE 2 230 #define DASHED_LINE 3 231 232 /* Shading styles */ 233 234 #define NO_SHADING 0 235 #define SOLID_SHADING 1 236 #define DARK_SHADING 2 237 #define MEDIUM_SHADING 3 238 #define LIGHT_SHADING 4 239 #define EMPTY_SHADING 5 240 241 #define THIN_HORIZ_SHADING 6 242 #define THIN_VERT_SHADING 7 243 #define THICK_HORIZ_SHADING 8 244 #define THICK_VERT_SHADING 9 245 246 #define THIN_NESW_SHADING 10 247 #define THIN_NWSE_SHADING 11 248 #define THICK_NESW_SHADING 12 249 #define THICK_NWSE_SHADING 13 250 251 /* Pen width */ 252 253 #define NO_PEN_WIDTH 0 254 #define STD_PEN_WIDTH 1 255 #define PEN_MAX 6 256 257 /* Mode specifications */ 258 259 #define NO_MODE 0 260 #define COPY_MODE 1 261 #define MERGE_MODE 2 262 #define INVERT_MODE 3 263 #define ERASE_MODE 4 264 265 /* Rectangle arrow direction */ 266 267 #define NO_ARROW 0 268 #define LEFT_ARROW 1 269 #define RIGHT_ARROW 2 270 #define UP_ARROW 3 271 #define DOWN_ARROW 4 272 273 /* Symbol types */ 274 275 #define RECT_SYMBOL 1 276 #define DIAMOND_SYMBOL 2 277 #define OVAL_SYMBOL 3 278 #define LEFT_TRIANGLE_SYMBOL 4 279 #define RIGHT_TRIANGLE_SYMBOL 5 280 #define UP_TRIANGLE_SYMBOL 6 281 #define DOWN_TRIANGLE_SYMBOL 7 282 283 /* Alignment specifications, relative to point */ 284 285 #define MIDDLE_CENTER 1 286 #define UPPER_LEFT 2 287 #define LOWER_LEFT 3 288 #define UPPER_RIGHT 4 289 #define LOWER_RIGHT 5 290 #define UPPER_CENTER 6 291 #define LOWER_CENTER 7 292 #define MIDDLE_LEFT 8 293 #define MIDDLE_RIGHT 9 294 295 /* Orientation specifications, relative to point */ 296 297 #define HORIZ_LEFT 11 298 #define HORIZ_CENTER 12 299 #define HORIZ_RIGHT 13 300 #define VERT_ABOVE 14 301 #define VERT_MIDDLE 15 302 #define VERT_BELOW 16 303 304 /* Text sizes */ 305 306 #define SMALL_TEXT 1 307 #define MEDIUM_TEXT 2 308 #define LARGE_TEXT 3 309 310 /* Segment highlight style */ 311 312 #define PLAIN_SEGMENT 0 313 #define FRAME_SEGMENT 1 314 #define FILL_SEGMENT 2 315 #define FRAME_CONTENTS 3 316 #define FILL_CONTENTS 4 317 #define OUTLINE_SEGMENT 5 318 #define OUTLINE_CONTENTS 6 319 320 /* Primitive highlight style */ 321 322 #define PLAIN_PRIMITIVE 0 323 #define FRAME_PRIMITIVE 1 324 #define FILL_PRIMITIVE 2 325 #define OUTLINE_PRIMITIVE 3 326 327 typedef Nlm_Boolean (*Nlm_SegmentExploreProc) PROTO((Nlm_SegmenT seg, 328 Nlm_PrimitivE prim, Nlm_Uint2 segID, Nlm_Uint2 primID, Nlm_Uint2 primCt, 329 Nlm_VoidPtr userdata)); 330 331 /***************************************************************************** 332 * 333 * FUNCTION PROTOTYPES 334 * 335 *****************************************************************************/ 336 337 extern Nlm_SegmenT Nlm_CreatePicture PROTO((void)); 338 extern Nlm_SegmenT Nlm_DeletePicture PROTO((Nlm_SegmenT picture)); 339 340 extern Nlm_SegmenT Nlm_CreateSegment PROTO((Nlm_SegmenT parent, 341 Uint2 segID, Int4 maxScale)); 342 extern Nlm_SegmenT Nlm_ResetSegment PROTO((Nlm_SegmenT segment)); 343 extern Nlm_SegmenT Nlm_DeleteSegment PROTO((Nlm_SegmenT segment)); 344 345 extern Nlm_SegmenT Nlm_ParentSegment PROTO((Nlm_SegmenT segment)); 346 extern Nlm_Uint2 Nlm_SegmentID PROTO((Nlm_SegmenT segment)); 347 extern Nlm_Boolean Nlm_SegmentVisible PROTO((Nlm_SegmenT segment)); 348 extern Nlm_Int1 Nlm_SegmentStyle PROTO((Nlm_SegmenT segment)); 349 extern void Nlm_SegmentBox PROTO((Nlm_SegmenT segment, 350 Nlm_BoxPtr box)); 351 352 extern void Nlm_AddAttribute PROTO((Nlm_SegmenT parent, 353 Nlm_Uint1 flags, const Nlm_Uint1* color, Nlm_Int1 linestyle, Nlm_Int1 shading, 354 Nlm_Int1 penwidth, Nlm_Int1 mode)); 355 extern void Nlm_SetDefArrowSize PROTO((Nlm_Int1 arrowSize)); 356 extern Nlm_PrimitivE Nlm_AddPrimitive PROTO((Nlm_PrimDefPtr pdp, 357 Nlm_SegmenT parent, Nlm_Uint2 primID, Nlm_VoidPtr pextra, Nlm_Int2 extrasize)); 358 extern Nlm_PrimitivE Nlm_AddInvFrame PROTO((Nlm_SegmenT parent, 359 Nlm_Int4 left, Nlm_Int4 top, Nlm_Int4 right, Nlm_Int4 bottom, Nlm_Uint2 primID)); 360 extern Nlm_PrimitivE Nlm_AddRectangle PROTO((Nlm_SegmenT parent, 361 Nlm_Int4 left, Nlm_Int4 top, Nlm_Int4 right, Nlm_Int4 bottom, Nlm_Int2 arrow, 362 Nlm_Boolean fill, Nlm_Uint2 primID)); 363 364 #define ROREC_TOP 0x1 365 #define ROREC_BOTTOM 0x2 366 #define ROREC_LEFT 0x4 367 #define ROREC_RIGHT 0x8 368 extern Nlm_PrimitivE Nlm_AddRoundedRectangle PROTO((Nlm_SegmenT parent, 369 Nlm_Int4 left, Nlm_Int4 top, Nlm_Int4 right, Nlm_Int4 bottom, 370 Nlm_Int4 oval_w, Nlm_Int4 oval_h, Nlm_Boolean fill, Uint4 flags, 371 Nlm_Uint2 primID)); 372 373 extern Nlm_PrimitivE Nlm_AddSegRect PROTO((Nlm_SegmenT parent, 374 Nlm_Boolean fill, Nlm_Uint2 primID)); 375 extern Nlm_PrimitivE Nlm_AddSilentSegRect PROTO((Nlm_SegmenT parent, 376 Nlm_Boolean fill, Nlm_Uint2 primID)); 377 extern Nlm_PrimitivE Nlm_AddLine PROTO((Nlm_SegmenT parent, 378 Nlm_Int4 pnt1X, Nlm_Int4 pnt1Y, Nlm_Int4 pnt2X, Nlm_Int4 pnt2Y, 379 Nlm_Boolean arrow, Nlm_Uint2 primID)); 380 extern Nlm_PrimitivE Nlm_AddSymbol PROTO((Nlm_SegmenT parent, 381 Nlm_Int4 pntX, Nlm_Int4 pntY, Nlm_Int2 symbol, Nlm_Boolean fill, 382 Nlm_Int2 align, Nlm_Uint2 primID)); 383 extern Nlm_PrimitivE Nlm_AddBitmap PROTO((Nlm_SegmenT parent, 384 Nlm_Int4 pntX, Nlm_Int4 pntY, Nlm_Int2 width, Nlm_Int2 height, 385 Nlm_Uint1Ptr data, Nlm_Int2 align, Nlm_Uint2 primID)); 386 extern Nlm_PrimitivE Nlm_AddMarker PROTO((Nlm_SegmenT parent, 387 Nlm_Int4 pntX, Nlm_Int4 pntY, Nlm_Int2 length, Nlm_Int2 orient, 388 Nlm_Uint2 primID)); 389 extern Nlm_PrimitivE Nlm_AddLabel PROTO((Nlm_SegmenT parent, 390 Nlm_Int4 pntX, Nlm_Int4 pntY, const Nlm_Char* string, Nlm_Int2 size, 391 Nlm_Int2 offset, Nlm_Int2 align, Nlm_Uint2 primID)); 392 extern Nlm_PrimitivE Nlm_AddTextLabel PROTO((Nlm_SegmenT parent, 393 Nlm_Int4 pntX, Nlm_Int4 pntY, const Nlm_Char* string, Nlm_FonT font, 394 Nlm_Int2 offset, Nlm_Int2 align, Nlm_Uint2 primID)); 395 extern Nlm_PrimitivE Nlm_AddPolygon PROTO((Nlm_SegmenT parent, 396 Nlm_Int2 vernum, Nlm_PntPtr points, Nlm_Boolean fill, Nlm_Uint2 primID)); 397 extern Nlm_PrimitivE Nlm_AddArc PROTO((Nlm_SegmenT parent, 398 Nlm_Int4 pntX, Nlm_Int4 pntY, Nlm_Int4 radiusX, Nlm_Int4 radiusY, 399 Nlm_Int4 start, Nlm_Int4 end, Nlm_Boolean fill, Nlm_Uint2 primID)); 400 extern Nlm_PrimitivE AddOval PROTO((Nlm_SegmenT parent, 401 Nlm_Int4 pntX, Nlm_Int4 pntY, Nlm_Int4 radiusX, Nlm_Int4 radiusY, 402 Nlm_Boolean fill, Nlm_Uint2 primID)); 403 404 /* the pdc parameter in SntOnDrawProc is really Nlm_DrawInfoPtr from <mappingp.h> */ 405 406 typedef void (*Nlm_SntOnDrawProc)(BigScalar calldata, Nlm_PrimDrawContext pdc); 407 typedef void (*Nlm_SntOnCleanupProc)(BigScalar calldata); 408 extern Nlm_PrimitivE Nlm_AddSntRectangle PROTO((Nlm_SegmenT parent, 409 Nlm_Int4 left, Nlm_Int4 top, Nlm_Int4 right, Nlm_Int4 bottom, 410 Nlm_SntOnDrawProc callback, BigScalar calldata, Nlm_SntOnCleanupProc cleanup, 411 Nlm_Uint2 primID)); 412 413 414 extern void Nlm_RecalculateSegment PROTO((Nlm_SegmenT segment, 415 Nlm_Int4 scaleX, Nlm_Int4 scaleY)); 416 extern void Nlm_OffsetSegment PROTO((Nlm_SegmenT segment, 417 Nlm_Int4 deltaX, Nlm_Int4 deltaY)); 418 extern void Nlm_LinkSegment PROTO((Nlm_SegmenT parent, 419 Nlm_SegmenT child)); 420 extern void Nlm_UnlinkSegment PROTO((Nlm_SegmenT child)); 421 extern void Nlm_ExploreSegment PROTO((Nlm_SegmenT segment, 422 Nlm_VoidPtr userdata, Nlm_SegmentExploreProc callback)); 423 424 /* SetSegmentVisibleFlag does not change the display in the viewer - use ShowSegment and HideSegment */ 425 extern void Nlm_SetSegmentVisibleFlag (Nlm_SegmenT segment, Nlm_Boolean visible); 426 427 /*Working with primitive */ 428 429 extern Nlm_PrimitivE Nlm_GetPrimitive PROTO((Nlm_SegmenT segment, Nlm_Uint2 primCt)); 430 extern void Nlm_SetPrimitiveIDs PROTO((Nlm_PrimitivE prim, Nlm_Uint2 entityID, Nlm_Uint4 itemID, Nlm_Uint2 itemtype, Nlm_Uint2 primID)); 431 extern void Nlm_GetPrimitiveIDs PROTO((Nlm_PrimitivE prim, Nlm_Uint2Ptr entityIDPtr, Nlm_Uint4Ptr itemIDPtr, Nlm_Uint2Ptr itemtypePtr, Nlm_Uint2Ptr primIDPtr)); 432 extern void Nlm_GetPrimDrawAttribute PROTO((Nlm_PrimitivE prim, 433 Nlm_Uint1Ptr color, Nlm_Int1Ptr plinestyle, Nlm_Int1Ptr pshading, 434 Nlm_Int1Ptr ppenwidth, Nlm_Int1Ptr pmode, Nlm_Int1Ptr phighlight)); 435 extern void Nlm_ChangePrimAttribute PROTO((Nlm_PrimitivE prim, Nlm_Uint1 flags, Nlm_Uint1Ptr color, Nlm_Int1 linestyle, Nlm_Int1 shading, Nlm_Int1 penwidth, Nlm_Int1 mode)); 436 extern void Nlm_OffsetPrim PROTO((Nlm_PrimitivE prim, Nlm_Int4 deltaX, Nlm_Int4 deltaY)); 437 extern void Nlm_DeletePrim PROTO((Nlm_SegmenT parent, Nlm_PrimitivE prim)); 438 extern Nlm_Boolean Nlm_PrimitiveBox PROTO((Nlm_PrimitivE prim, Nlm_Int4 scaleX, Nlm_Int4 scaleY, Nlm_BoxPtr pLimits)); 439 440 /* 441 * The primitive adding order 442 */ 443 typedef enum 444 { 445 /* check actual primitive adding order */ 446 WHAT_ORDER, 447 /* add all subsequent new primitives to the end of primitive list */ 448 ADD_TO_TAIL, 449 /* .......... to the head ..... */ 450 ADD_TO_HEAD, 451 /* change the inserting order for the next added primitive only */ 452 ADD_TO_TAIL_ONCE, 453 ADD_TO_HEAD_ONCE 454 } Nlm_enumPrimAddOrder; 455 456 /* 457 * Reset the primitive adding order; return previous adding order 458 */ 459 extern Nlm_enumPrimAddOrder Nlm_ChangeAddPrimOrder 460 PROTO((Nlm_enumPrimAddOrder prim_add_order)); 461 462 463 464 #define SegmenT Nlm_SegmenT 465 #define PrimitivE Nlm_PrimitivE 466 #define BoxInfo Nlm_BoxInfo 467 #define BoxPtr Nlm_BoxPtr 468 #define PntInfo Nlm_PntInfo 469 #define PntPtr Nlm_PntPtr 470 #define PrimDrawContext Nlm_PrimDrawContext 471 #define PrimHitContext Nlm_PrimHitContext 472 #define PrimDrawProc Nlm_PrimDrawProc 473 #define PrimPntHitTest Nlm_PrimPntHitTest 474 #define PrimHitTestProc Nlm_PrimHitTestProc 475 #define PrimOffsetProc Nlm_PrimOffsetProc 476 #define PrimGetLimitsProc Nlm_PrimGetLimitsProc 477 #define PrimCleanupProc Nlm_PrimCleanupProc 478 #define PrimDef Nlm_PrimDef 479 #define PrimDefPtr Nlm_PrimDefPtr 480 #define ResetPrimDef Nlm_ResetPrimDef 481 #define SetPrimDrawProc Nlm_SetPrimDrawProc 482 #define SetPrimHitTestProc Nlm_SetPrimHitTestProc 483 #define SetPrimOffsetProc Nlm_SetPrimOffsetProc 484 #define SetPrimGetLimitsProc Nlm_SetPrimGetLimitsProc 485 #define SetPrimCleanupProc Nlm_SetPrimCleanupProc 486 #define GetWorldWindow Nlm_GetWorldWindow 487 #define GetScaleX Nlm_GetScaleX 488 #define GetScaleY Nlm_GetScaleY 489 #define GetOffsetX Nlm_GetOffsetX 490 #define GetOffsetY Nlm_GetOffsetY 491 #define isPrimInWindow Nlm_isPrimInWindow 492 #define GetPrimHligh Nlm_GetPrimHligh 493 #define GetHitWindow Nlm_GetHitWindow 494 #define SetPrimAttribute Nlm_SetPrimAttribute 495 #define RestorePrimAttribute Nlm_RestorePrimAttribute 496 #define SegmentExploreProc Nlm_SegmentExploreProc 497 #define CreatePicture Nlm_CreatePicture 498 #define DeletePicture Nlm_DeletePicture 499 #define CreateSegment Nlm_CreateSegment 500 #define ResetSegment Nlm_ResetSegment 501 #define DeleteSegment Nlm_DeleteSegment 502 #define ParentSegment Nlm_ParentSegment 503 #define SegmentID Nlm_SegmentID 504 #define SegmentVisible Nlm_SegmentVisible 505 #define SegmentStyle Nlm_SegmentStyle 506 #define SegmentBox Nlm_SegmentBox 507 #define SetSegmentVisibleFlag Nlm_SetSegmentVisibleFlag 508 #define AddAttribute Nlm_AddAttribute 509 #define AddPrimitive Nlm_AddPrimitive 510 #define AddInvFrame Nlm_AddInvFrame 511 #define AddRectangle Nlm_AddRectangle 512 #define AddRoundedRectangle Nlm_AddRoundedRectangle 513 #define AddSegRect Nlm_AddSegRect 514 #define AddSilentSegRect Nlm_AddSilentSegRect 515 #define AddLine Nlm_AddLine 516 #define AddSymbol Nlm_AddSymbol 517 #define AddBitmap Nlm_AddBitmap 518 #define AddMarker Nlm_AddMarker 519 #define AddLabel Nlm_AddLabel 520 #define AddTextLabel Nlm_AddTextLabel 521 #define AddPolygon Nlm_AddPolygon 522 #define AddArc Nlm_AddArc 523 #define SntOnDrawProc Nlm_SntOnDrawProc 524 #define SntOnCleanupProc Nlm_SntOnCleanupProc 525 #define AddSntRectangle Nlm_AddSntRectangle 526 #define RecalculateSegment Nlm_RecalculateSegment 527 #define OffsetSegment Nlm_OffsetSegment 528 #define LinkSegment Nlm_LinkSegment 529 #define UnlinkSegment Nlm_UnlinkSegment 530 #define ExploreSegment Nlm_ExploreSegment 531 #define GetPrimitive Nlm_GetPrimitive 532 #define SetPrimitiveIDs Nlm_SetPrimitiveIDs 533 #define GetPrimitiveIDs Nlm_GetPrimitiveIDs 534 #define GetPrimDrawAttribute Nlm_GetPrimDrawAttribute 535 #define ChangePrimAttribute Nlm_ChangePrimAttribute 536 #define OffsetPrim Nlm_OffsetPrim 537 #define DeletePrim Nlm_DeletePrim 538 #define PrimitiveBox Nlm_PrimitiveBox 539 #define enumPrimAddOrder Nlm_enumPrimAddOrder 540 #define ChangeAddPrimOrder Nlm_ChangeAddPrimOrder 541 542 #ifdef __cplusplus 543 } 544 #endif 545 546 #endif 547