home *** CD-ROM | disk | FTP | other *** search
/ Otherware / Otherware_1_SB_Development.iso / amiga / misc / vcb10a.lha / vcb.h < prev    next >
C/C++ Source or Header  |  1992-10-28  |  3KB  |  74 lines

  1. #ifndef VCB_H
  2. #define VCB_H
  3.  
  4. /*
  5.  *    COPYRIGHT
  6.  *        The material published in this distribution is Freeware.
  7.  *        Copyright ⌐ 1992 remains at the author, Stefan Reisner.
  8.  *        
  9.  *        It may only be passed on unmodified and in its present
  10.  *        composition. In particular, this copyright notice must be
  11.  *        included and must be intact.
  12.  */
  13.  
  14. #include <intuition/classes.h>
  15. #include <utility/tagitem.h>
  16.  
  17. /* VCB-specific tag values */
  18. /*
  19.  *    The tag base may be redefined externally if this one happens
  20.  *    to conflict with another one.
  21.  *    Of course you will have to re-compile the class implementation
  22.  *    module then.
  23.  */
  24. #ifndef VCBGA_TagBase
  25.     #define VCBGA_TagBase        (TAG_USER + 0x1000)
  26. #endif
  27. /********************* Attributes ****************************/
  28. /**** settable and gettable ****/
  29. #define VCBGA_ExposureHook    (VCBGA_TagBase + 0x01)
  30. #define VCBGA_HTotal        (VCBGA_TagBase + 0x02)
  31. #define VCBGA_HOffset        (VCBGA_TagBase + 0x03)
  32. #define VCBGA_HUnit            (VCBGA_TagBase + 0x04)
  33. #define VCBGA_VTotal        (VCBGA_TagBase + 0x05)
  34. #define VCBGA_VOffset        (VCBGA_TagBase + 0x06)
  35. #define VCBGA_VUnit            (VCBGA_TagBase + 0x07)
  36. #define VCBGA_Flags            (VCBGA_TagBase + 0x08)    /* only settable with OM_NEW */
  37. #define VCBGA_Interim        (VCBGA_TagBase + 0x09)
  38. #define VCBGA_HScroller        (VCBGA_TagBase + 0x0a)    /* only settable with OM_NEW */
  39. #define VCBGA_VScroller        (VCBGA_TagBase + 0x0b)    /* only settable with OM_NEW */
  40. #define VCBGA_HBorder        (VCBGA_TagBase + 0x0c)    /* only settable with OM_NEW */
  41. #define VCBGA_VBorder        (VCBGA_TagBase + 0x0d)    /* only settable with OM_NEW */
  42. /**** only gettable ****/
  43. #define VCBGA_HSize            (VCBGA_TagBase + 0x0e)
  44. #define VCBGA_VSize            (VCBGA_TagBase + 0x0f)
  45. #define VCBGA_XOrigin        (VCBGA_TagBase + 0x10)
  46. #define VCBGA_YOrigin        (VCBGA_TagBase + 0x11)
  47. #define VCBGA_Semaphore        (VCBGA_TagBase + 0x12)
  48.  
  49. /* VCB flags */
  50. #define VCBB_INTERIM        0                /* consider redisplay even on interim updates */
  51. #define VCBF_INTERIM        (1<<(VCBB_INTERIM))
  52. #define VCBB_HSCROLLER        1                /* want a horizontal scroller */
  53. #define VCBF_HSCROLLER        (1<<(VCBB_HSCROLLER))
  54. #define VCBB_VSCROLLER        2                /* want a vertical scroller */
  55. #define VCBF_VSCROLLER        (1<<(VCBB_VSCROLLER))
  56. #define VCBB_HBORDER        3                /* put horizontal scroller into bottom border */
  57. #define VCBF_HBORDER        (1<<(VCBB_HBORDER))
  58. #define VCBB_VBORDER        4                /* put vertical scroller into right border */
  59. #define VCBF_VBORDER        (1<<(VCBB_VBORDER))
  60.  
  61. struct ExposureMsg
  62. {
  63.     ULONG command;
  64. /* command ID for exposure callback */
  65. #define VCBCMD_RENDER        0
  66.     struct RastPort *rp;
  67.     int left, top, width, height;
  68. };
  69.  
  70. extern Class *initVCBClass( void );
  71. extern int freeVCBClass( Class * );
  72.  
  73. #endif
  74.