home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1998 #6 / amigamamagazinepolishissue1998.iso / opus / v5 / opussdk / amigaguide / dopus / drag.h < prev    next >
C/C++ Source or Header  |  1977-12-31  |  3KB  |  85 lines

  1. @DATABASE "dopus/drag.h"
  2. @MASTER   "opussdk:include/dopus/drag.h"
  3. @REMARK   (c) Dr Greg Perry and Jonathan Potter, GPSoftware 1996
  4. @REMARK   This file was initially created by ADtoHT 2.1 on 07-Sep-96 18:20:14
  5. @REMARK   ADtoHT is © 1993-1995 Christian Stieber
  6.  
  7. @NODE MAIN "dopus/drag.h"
  8. @TOC "DopusSDK/MAIN"
  9.  
  10. @{"dopus/drag.h" LINK File}
  11.  
  12.  
  13. @{b}Structures@{ub}
  14.  
  15. @{"_DragInfo" LINK "dopus/drag.h/File" 14}
  16.  
  17.  
  18. @{b}Typedefs@{ub}
  19.  
  20. @{"DragInfo" LINK "dopus/drag.h/File" 14}  @{"DragInfoExtra" LINK "dopus/drag.h/File" 33}
  21.  
  22.  
  23. @{b}#defines@{ub}
  24.  
  25. @{"DRAGF_DONE_GELS" LINK "dopus/drag.h/File" 42}    @{"DRAGF_NO_LOCK" LINK "dopus/drag.h/File" 43}  @{"DRAGF_OPAQUE" LINK "dopus/drag.h/File" 41}
  26. @{"DRAGF_TRANSPARENT" LINK "dopus/drag.h/File" 44}  @{"DRAGF_VALID" LINK "dopus/drag.h/File" 40}    
  27.  
  28. @ENDNODE
  29. @NODE File "dopus/drag.h"
  30. #ifndef _DOPUS_DRAG
  31. #define _DOPUS_DRAG
  32.  
  33. /*****************************************************************************
  34.  
  35.  Drag routines
  36.  
  37.  *****************************************************************************/
  38.  
  39. #ifndef GRAPHICS_GELS_H
  40. #include <graphics/gels.h>
  41. #endif
  42.  
  43. typedef struct _DragInfo
  44. {
  45.         struct RastPort *rastport;      // Stores RastPort this bob belongs to
  46.         struct ViewPort *viewport;      // Stores ViewPort
  47.  
  48.         WORD            width;          // Bob width
  49.         WORD            height;         // Bob height
  50.  
  51.         struct VSprite  sprite;         // VSprite structure
  52.         struct Bob      bob;            // BOB structure
  53.  
  54.         unsigned long   flags;          // Flags
  55.  
  56.         struct RastPort drag_rp;        // RastPort we can draw into
  57.         struct BitMap   drag_bm;        // BitMap we can draw into
  58.  
  59.         struct Window   *window;        // Window pointer
  60. } DragInfo;
  61.  
  62. typedef struct
  63.         struct VSprite  head;           // GEL list head sprite
  64.         struct VSprite  tail;           // GEL list tail sprite
  65.         struct GelsInfo info;           // GEL info
  66. } DragInfoExtra;
  67.  
  68. #define DRAGF_VALID             (1<<0)  // Bob is valid
  69. #define DRAGF_OPAQUE            (1<<1)  // Bob should be opaque
  70. #define DRAGF_DONE_GELS         (1<<2)  // Installed GelsInfo
  71. #define DRAGF_NO_LOCK           (1<<3)  // Don't lock layers
  72. #define DRAGF_TRANSPARENT       (1<<4)  // Bob should be transparent (use with opaque)
  73.  
  74. void FreeDragInfo(@{"DragInfo" LINK File 14} *);
  75. void GetDragImage(@{"DragInfo" LINK File 14} *,long,long);
  76. @{"DragInfo" LINK File 14} *GetDragInfo(struct Window *,struct RastPort *,long,long,long);
  77. void GetDragMask(@{"DragInfo" LINK File 14} *);
  78. void HideDragImage(@{"DragInfo" LINK File 14} *);
  79. void ShowDragImage(@{"DragInfo" LINK File 14} *,long,long);
  80. void StampDragImage(@{"DragInfo" LINK File 14} *,long,long);
  81.  
  82.  
  83. #endif
  84. @ENDNODE
  85.