home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 21 / AACD 21.iso / AACD / Programming / Scalos / Developer / C / Include / libraries / mcpgfx.h
Encoding:
C/C++ Source or Header  |  2000-11-29  |  2.4 KB  |  77 lines

  1. #ifndef LIBRARIES_MCPGFX_H
  2. #define LIBRARIES_MCPGFX_H
  3.  
  4. #ifndef EXEC_TYPES_H
  5. #include <exec/types.h>
  6. #endif
  7.  
  8. #ifndef UTILITY_TAGITEM_H
  9. #include <utility/tagitem.h>
  10. #endif
  11.  
  12.  
  13. /* Types of frames available */
  14. #define MF_FRAME_NONE        0    /* No frame */
  15. #define MF_FRAME_BUTTON        1    /* Standard 3D frame used for buttons */
  16. #define MF_FRAME_BORDER        2    /* Standard 2D frame used for */
  17. #define MF_FRAME_STRING        3    /* String */
  18. #define MF_FRAME_DROPBOX    4    /* Dropbox [String (with space)?] */
  19. #define MF_FRAME_XEN        5    /* Standard XEN button */
  20. #define MF_FRAME_MWB        6    /* Standard MWB */
  21. #define MF_FRAME_THICK        7    /* Standard Thick */
  22. #define MF_FRAME_XWIN        8    /* Standard XWIN */
  23. #define MF_FRAME_MAXIMUM    9    /* Maximum number of frame types */
  24.  
  25.  
  26. /* Sizes of frame egdes. Always in the order x1,y1,x2,y2,(recessed)x1,y1,x2,y2. */
  27. struct FrameSize
  28. {
  29.     WORD    fs_Sizes[8];
  30. };
  31.  
  32.  
  33. /* Some constants for acessing the values from the FrameSize structure */
  34. #define FRAMESIZE_LEFT        0    /* Normal left edge width */
  35. #define FRAMESIZE_TOP        1    /* Normal top edge width */
  36. #define FRAMESIZE_RIGHT        2    /* Normal right edge width */
  37. #define FRAMESIZE_BOTTOM    3    /* Normal bottom edge width */
  38. #define FRAMESIZE_RELEFT    4    /* Recessed left edge width */
  39. #define FRAMESIZE_RETOP        5    /* Recessed top edge width */
  40. #define FRAMESIZE_RERIGHT    6    /* Recessed right edge width */
  41. #define FRAMESIZE_REBOTTOM    7    /* Recessed bottom edge width */
  42.  
  43.  
  44. /* Tags for the various function in mcpgfx.library */
  45. #define MCP_TagBase            TAG_USER + 0x20000
  46.  
  47. #define IA_Left                MCP_TagBase + 0x01
  48. #define IA_Top                MCP_TagBase + 0x02
  49. #define IA_Width            MCP_TagBase + 0x03
  50. #define IA_Height            MCP_TagBase + 0x04
  51. #define IA_FGPen            MCP_TagBase + 0x05
  52. #define IA_BGPen            MCP_TagBase + 0x06
  53. #define IA_Data                MCP_TagBase + 0x07
  54. #define IA_ShadowPen        MCP_TagBase + 0x09
  55. #define IA_ShinePen            MCP_TagBase + 0x0a
  56. #define IA_APattern            MCP_TagBase + 0x10
  57. #define IA_APatSize            MCP_TagBase + 0x11
  58. #define IA_Mode                MCP_TagBase + 0x12
  59. #define IA_Recessed            MCP_TagBase + 0x15
  60. #define IA_DrawInfo            MCP_TagBase + 0x18
  61. #define IA_FrameType        MCP_TagBase + 0x1b
  62. #define IA_HalfShadowPen    MCP_TagBase + 0x1c
  63. #define IA_HalfShinePen        MCP_TagBase + 0x1d
  64.  
  65.  
  66. /* A little something */
  67. struct ExtDrawInfo
  68. {
  69.     struct DrawInfo    edi_DrawInfo;    /* Original screen DrawInfo (copy of) */
  70.     WORD            *edi_Pens;        /* Pointer to an array of pens to use for MWB colours */
  71.     ULONG            edi_dunno[2];    /* like I say */
  72. };
  73.  
  74.  
  75. #endif /* LIBRARIES_MCPGFX_H */
  76.  
  77.