home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / at-inc-bin.lha / os-include / intuition / imageclass.i < prev    next >
Text File  |  1993-10-15  |  7KB  |  211 lines

  1.     IFND INTUITION_IMAGECLASS_I
  2. INTUITION_IMAGECLASS_I SET 1
  3. **
  4. **  $VER: imageclass.i 38.5 (26.3.92)
  5. **  Includes Release 40.15
  6. **
  7. **  Definitions for the image classes
  8. **
  9. **  (C) Copyright 1989-1993 Commodore-Amiga, Inc.
  10. **        All Rights Reserved
  11. **
  12.  
  13.     IFND UTILITY_TAGITEM_I
  14.     INCLUDE "utility/tagitem.i"
  15.     ENDC
  16.  
  17. *
  18. * NOTE:  intuition/iobsolete.i is included at the END of this file!
  19. *
  20.  
  21. CUSTOMIMAGEDEPTH    EQU (-1)
  22. * if image.Depth is this, it's a new Image class object
  23.  
  24. ******************************************************
  25. IMAGE_ATTRIBUTES    EQU (TAG_USER+$20000)
  26.  
  27. IA_Left        EQU (IMAGE_ATTRIBUTES+$0001)
  28. IA_Top        EQU (IMAGE_ATTRIBUTES+$0002)
  29. IA_Width    EQU (IMAGE_ATTRIBUTES+$0003)
  30. IA_Height    EQU (IMAGE_ATTRIBUTES+$0004)
  31. IA_FGPen    EQU (IMAGE_ATTRIBUTES+$0005)
  32.             ; IA_FGPen also means "PlanePick"
  33. IA_BGPen    EQU (IMAGE_ATTRIBUTES+$0006)
  34.             ; IA_BGPen also means "PlaneOnOff"
  35. IA_Data        EQU (IMAGE_ATTRIBUTES+$0007)
  36.             ; bitplanes, for classic image,
  37.             ; other image classes may use it for other things
  38. IA_LineWidth    EQU (IMAGE_ATTRIBUTES+$0008)
  39. IA_Pens        EQU (IMAGE_ATTRIBUTES+$000E)
  40.             ; pointer to UWORD pens[],
  41.             ; ala DrawInfo.Pens, MUST be
  42.             ; terminated by ~0.  Some classes can
  43.             ; choose to have this, or SYSIA_DrawInfo,
  44.             ; or both.
  45. IA_Resolution    EQU (IMAGE_ATTRIBUTES+$000F)
  46.             ; packed uwords for x/y resolution into a longword
  47.             ; ala DrawInfo.Resolution
  48.  
  49. * see class documentation to learn which 
  50. * classes recognize these
  51. IA_APattern    EQU (IMAGE_ATTRIBUTES+$0010)
  52. IA_APatSize    EQU (IMAGE_ATTRIBUTES+$0011)
  53. IA_Mode        EQU (IMAGE_ATTRIBUTES+$0012)
  54. IA_Font        EQU (IMAGE_ATTRIBUTES+$0013)
  55. IA_Outline    EQU (IMAGE_ATTRIBUTES+$0014)
  56. IA_Recessed    EQU (IMAGE_ATTRIBUTES+$0015)
  57. IA_DoubleEmboss    EQU (IMAGE_ATTRIBUTES+$0016)
  58. IA_EdgesOnly    EQU (IMAGE_ATTRIBUTES+$0017)
  59.  
  60. * "sysiclass" attributes
  61. SYSIA_Size    EQU (IMAGE_ATTRIBUTES+$000B)
  62.             ; EQU's below
  63. SYSIA_Depth    EQU (IMAGE_ATTRIBUTES+$000C)
  64.             ; this is unused by Intuition.  SYSIA_DrawInfo
  65.             ; is used instead for V36
  66. SYSIA_Which    EQU (IMAGE_ATTRIBUTES+$000D)
  67.             ; see EQU's below
  68. SYSIA_DrawInfo    EQU (IMAGE_ATTRIBUTES+$0018)
  69.             ; pass to sysiclass, please
  70.  
  71. *  obsolete: don't use these, use IA_Pens
  72. SYSIA_Pens    EQU IA_Pens
  73. IA_ShadowPen    EQU (IMAGE_ATTRIBUTES+$0009)
  74. IA_HighlightPen    EQU (IMAGE_ATTRIBUTES+$000A)
  75.  
  76. * New for V39:
  77. SYSIA_ReferenceFont    EQU (IMAGE_ATTRIBUTES+$0019)
  78.  
  79. IA_SupportsDisable    EQU (IMAGE_ATTRIBUTES+$001a)
  80.             ; By default, Intuition ghosts gadgets itself,
  81.             ; instead of relying on IDS_DISABLED or
  82.             ; IDS_SELECTEDDISABLED.  An imageclass that
  83.             ; supports these states should return this attribute
  84.             ; as TRUE.    You cannot set or clear this attribute,
  85.             ; however.
  86.  
  87. IA_FrameType    EQU (IMAGE_ATTRIBUTES+$001b)
  88.             ; Starting with V39, FrameIClass recognizes
  89.             ; several standard types of frame.    Use one
  90.             ; of the FRAME_ specifiers below.  Defaults
  91.             ; to FRAME_DEFAULT.
  92.  
  93.  
  94. * next attribute: (IMAGE_ATTRIBUTES+$001c)
  95. ******************************************************
  96.  
  97. * data values for SYSIA_Size
  98. SYSISIZE_MEDRES    EQU (0)
  99. SYSISIZE_LOWRES    EQU (1)
  100. SYSISIZE_HIRES    EQU (2)
  101.  
  102. *
  103. * SYSIA_Which tag data values:
  104. * Specifies which system gadget you want an image for.
  105. * Some numbers correspond to internal Intuition #defines
  106. DEPTHIMAGE    EQU ($00)    ; Window depth gadget image
  107. ZOOMIMAGE    EQU ($01)    ; Window zoom gadget image
  108. SIZEIMAGE    EQU ($02)    ; Window sizing gadget image
  109. CLOSEIMAGE    EQU ($03)    ; Window close gadget image
  110. SDEPTHIMAGE    EQU ($05)    ; Screen depth gadget image
  111. LEFTIMAGE    EQU ($0A)    ; Left-arrow gadget image
  112. UPIMAGE        EQU ($0B)    ; Up-arrow gadget image
  113. RIGHTIMAGE    EQU ($0C)    ; Right-arrow gadget image
  114. DOWNIMAGE    EQU ($0D)    ; Down-arrow gadget image
  115. CHECKIMAGE    EQU ($0E)    ; GadTools checkbox image
  116. MXIMAGE        EQU ($0F)    ; GadTools mutual exclude "button" image
  117. * New for V39:
  118. MENUCHECK    EQU ($10)
  119. AMIGAKEY    EQU ($11)
  120.  
  121. * Data values for IA_FrameType (recognized by FrameIClass)
  122. *
  123. * FRAME_DEFAULT:  The standard V37-type frame, which has
  124. *    thin edges.
  125. * FRAME_BUTTON:  Standard button gadget frames, having thicker
  126. *    sides and nicely edged corners.
  127. * FRAME_RIDGE:    A ridge such as used by standard string gadgets.
  128. *    You can recess the ridge to get a groove image.
  129. * FRAME_ICONDROPBOX: A broad ridge which is the standard imagery
  130. *    for areas in AppWindows where icons may be dropped.
  131.  
  132. FRAME_DEFAULT        EQU    0
  133. FRAME_BUTTON        EQU    1
  134. FRAME_RIDGE        EQU    2
  135. FRAME_ICONDROPBOX    EQU    3
  136.  
  137. * image message id's
  138. IM_DRAW        EQU ($0202)    ; draw yourself, with "state"
  139. IM_HITTEST    EQU ($0203)    ; return TRUE if click hits image
  140. IM_ERASE    EQU ($0204)    ; erase yourself
  141. IM_MOVE        EQU ($0205)    ; draw new and erase old, smoothly
  142.  
  143. IM_DRAWFRAME    EQU ($0206)    ; draw with specified dimensions
  144. IM_FRAMEBOX    EQU ($0207)    ; get recommended frame around some box
  145. IM_HITFRAME    EQU ($0208)    ; hittest with dimensions
  146. IM_ERASEFRAME    EQU ($0209)    ; hittest with dimensions
  147.  
  148. * image draw states or styles, for IM_DRAW
  149. * Note that they have no bitwise meanings (unfortunately)
  150. IDS_NORMAL        EQU (0)
  151. IDS_SELECTED        EQU (1)    ; for selected gadgets
  152. IDS_DISABLED        EQU (2)    ; for disabled gadgets
  153. IDS_BUSY        EQU (3)    ; for future functionality
  154. IDS_INDETERMINATE    EQU (4)    ; for future functionality
  155. IDS_INACTIVENORMAL    EQU (5)    ; normal, in inactive window border
  156. IDS_INACTIVESELECTED    EQU (6)    ; selected, in inactive border
  157. IDS_INACTIVEDISABLED    EQU (7)    ; disabled, in inactive border
  158.  
  159. * oops, please forgive spelling error by jimm
  160. IDS_INDETERMINANT EQU IDS_INDETERMINATE
  161.  
  162. * IM_FRAMEBOX
  163.  STRUCTURE impFrameBox,4        ; starts with ULONG MethodID
  164.     APTR    impf_ContentsBox    ; input: relative box of contents
  165.     APTR    impf_FrameBox    ; output: rel. box of encl frame
  166.     APTR    impf_DrInfo    ; NB: May be NULL
  167.     LONG    impf_FrameFlags
  168.  
  169. ; Make do with the dimensions of FrameBox provided.
  170. FRAMEB_SPECIFY    EQU (0)
  171. FRAMEF_SPECIFY    EQU (1)
  172.  
  173.  
  174. * IM_DRAW, IM_DRAWFRAME
  175.  STRUCTURE impDraw,4        ; starts with ULONG MethodID
  176.     APTR    impd_RPort
  177.     WORD    impd_OffsetX
  178.     WORD    impd_OffsetY
  179.     ULONG    impd_State
  180.     APTR    impd_DrInfo    ; NB: May be NULL
  181.     ; these parameters only valid for IM_DRAWFRAME
  182.     WORD    impd_DimensionsWidth
  183.     WORD    impd_DimensionsHeight
  184.  
  185. * IM_ERASE, IM_ERASEFRAME
  186. * NOTE: This is a subset of impDraw
  187.  STRUCTURE impErase,4        ; starts with ULONG MethodID
  188.     APTR    impe_RPort
  189.     WORD    impe_OffsetX
  190.     WORD    impe_OffsetY
  191.     ; these parameters only valid for IM_ERASEFRAME
  192.     WORD    impe_DimensionsWidth
  193.     WORD    impe_DimensionsHeight
  194.  
  195. * IM_HITTEST, IM_HITFRAME
  196.  STRUCTURE impHitTest,4        ; starts with ULONG MethodID
  197.     ; these parameters only valid for IM_ERASEFRAME
  198.     WORD    imph_PointX
  199.     WORD    imph_PointY
  200.     ; these parameters only valid for IM_HITFRAME
  201.     WORD    imph_DimensionsWidth
  202.     WORD    imph_DimensionsHeight
  203.  
  204.  
  205. * Include obsolete identifiers:
  206.     IFND    INTUITION_IOBSOLETE_I
  207.     INCLUDE "intuition/iobsolete.i"
  208.     ENDC
  209.  
  210.     ENDC
  211.