home *** CD-ROM | disk | FTP | other *** search
/ Otherware / Otherware_1_SB_Development.iso / amiga / misc / vcb.lha / vcb / vcb.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-08-15  |  2.3 KB  |  66 lines

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