home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Assembler / DVD!OMA2.DMS / in.adf / Examples / Library / Layers / Layers.asm next >
Encoding:
Assembly Source File  |  1994-10-13  |  3.0 KB  |  179 lines

  1.  
  2. ; Layers-Interface
  3.  
  4.     INCLUDE    "lvo/layers.i"
  5.  
  6.     XREF    _LayersBase
  7.  
  8.  
  9.  
  10.  
  11.  
  12. CREATE MACRO Name,Registermaske,Registeranzahl,Satz1,Anzahl1,Satz2,Anzahl2...
  13.  
  14.     IFD    \1
  15.     XDEF    _\1
  16.  
  17. _\1
  18.     IFEQ     \3-1
  19.     move.l    \2,-(SP)
  20.     ELSE
  21.     movem.l    \2,-(SP)
  22.     ENDC
  23.  
  24. TIEFE    SET    4+4*\3
  25.     IFNC     '\4',''
  26.     SATZ    \4,\5,\6,\7,\8,\9,\a,\b,\c,\d,\e,\f,\g,\h,\i,\j
  27.     ENDC
  28.  
  29.     move.l    _LayersBase,a6
  30.     jsr        _LVO\1(a6)
  31.     IFEQ     \3-1
  32.     move.l    (SP)+,\2
  33.     ELSE
  34.     movem.l    (SP)+,\2
  35.     ENDC
  36.     rts
  37.  
  38.     ENDC
  39.  
  40.     ENDM
  41.  
  42.  
  43.  
  44.  
  45.  
  46. SATZ    MACRO    Satz1,Anzahl1,Satz2,Anzahl2...
  47.     IFEQ     \2-1
  48.     move.l    TIEFE(SP),\1
  49.     ELSE
  50.     movem.l    TIEFE(SP),\1
  51.     ENDC
  52. TIEFE    SET    TIEFE+4*\2
  53.     IFNC     '\3',''
  54.     SATZ    \3,\4,\5,\6,\7,\8,\9,\a,\b,\c,\d,\e,\f,\g,\h,\i
  55.     ENDC
  56.     ENDM
  57.  
  58.  
  59.  
  60.  
  61.  
  62. ; InitLayers(li)(A0)
  63.     CREATE    InitLayers,a6,1,a0,1
  64.  
  65. ; CreateUpfrontLayer(li,bm,x0,y0,x1,y1,flags,bm2)(A0/A1,D0/D1/D2/D3/D4,A2)
  66.     CREATE    CreateUpfrontLayer,d2-d4/a2/a6,5,a0-a1,2,d0-d4/a2,6
  67.  
  68. ; CreateBehindLayer(li,bm,x0,y0,x1,y1,flags,bm2)(A0/A1,D0/D1/D2/D3/D4,A2)
  69.     CREATE    CreateBehindLayer,d2-d4/a2/a6,5,a0-a1,2,d0-d4/a2,6
  70.  
  71. ; UpfrontLayer(li,layer)(A0/A1)
  72.     CREATE    UpfrontLayer,a6,1,a0-a1,2
  73.  
  74. ; BehindLayer(li,layer)(A0/A1)
  75.     CREATE    BehindLayer,a6,1,a0-a1,2
  76.  
  77. ; MoveLayer(li,layer,dx,dy)(A0/A1,D0/D1)
  78.     CREATE    MoveLayer,a6,1,a0-a1,2,d0-d1,2
  79.  
  80. ; SizeLayer(li,layer,dx,dy)(A0/A1,D0/D1)
  81.     CREATE    SizeLayer,a6,1,a0-a1,2,d0-d1,2
  82.  
  83. ; ScrollLayer(li,layer,dx,dy)(A0/A1,D0/D1)
  84.     CREATE    ScrollLayer,a6,1,a0-a1,2,d0-d1,2
  85.  
  86. ; BeginUpdate(layer)(A0)
  87.     CREATE    BeginUpdate,a6,1,a0,1
  88.  
  89. ; EndUpdate(layer,flag)(A0,d0)
  90.     CREATE    EndUpdate,a6,1,a0,1,d0,1
  91.  
  92. ; DeleteLayer(li,layer)(A0/A1)
  93.     CREATE    DeleteLayer,a6,1,a0-a1,2
  94.  
  95. ; LockLayer(li,layer)(A0/A1)
  96.     CREATE    LockLayer,a6,1,a0-a1,2
  97.  
  98. ; UnlockLayer(layer)(A0)
  99.     CREATE    UnlockLayer,a6,1,a0,1
  100.  
  101. ; LockLayers(li)(A0)
  102.     CREATE    LockLayers,a6,1,a0,1
  103.  
  104. ; UnlockLayers(li)(A0)
  105.     CREATE    UnlockLayers,a6,1,a0,1
  106.  
  107. ; LockLayerInfo(li)(A0)
  108.     CREATE    LockLayerInfo,a6,1,a0,1
  109.  
  110. ; SwapBitsRastPortClipRect(rp,cr)(A0/A1)
  111.     CREATE    SwapBitsRastPortClipRect,a6,1,a0-a1,2
  112.  
  113. ; WhichLayer(li,x,y)(a0,d0/d1)
  114.     CREATE    WhichLayer,a6,1,a0,1,d0-d1,2
  115.  
  116. ; UnlockLayerInfo(li)(A0)
  117.     CREATE    UnlockLayerInfo,a6,1,a0,1
  118.  
  119. ; NewLayerInfo()()
  120.     CREATE    NewLayerInfo,a6,1
  121.  
  122. ; DisposeLayerInfo(li)(a0)
  123.     CREATE    DisposeLayerInfo,a6,1,a0,1
  124.  
  125. ; FattenLayerInfo(li)(a0)
  126.     CREATE    FattenLayerInfo,a6,1,a0,1
  127.  
  128. ; ThinLayerInfo(li)(a0)
  129.     CREATE    ThinLayerInfo,a6,1,a0,1
  130.  
  131. ; MoveLayerInFrontOf(layer_to_move,layer_to_be_infront_of)(a0/a1)
  132.     CREATE    MoveLayerInFrontOf,a6,1,a0-a1,2
  133.  
  134. ; InstallClipRegion(layer,region)(a0/a1)
  135.     CREATE    InstallClipRegion,a6,1,a0-a1,2
  136.  
  137.  
  138.  
  139.  
  140.  
  141. ; Offsets
  142.  
  143.     IFD    OFFSETS
  144.  
  145.     XDEF    _LVOInitLayers
  146.     XDEF    _LVOCreateUpfrontLayer
  147.     XDEF    _LVOCreateBehindLayer
  148.     XDEF    _LVOUpfrontLayer
  149.     XDEF    _LVOBehindLayer
  150.     XDEF    _LVOMoveLayer
  151.     XDEF    _LVOSizeLayer
  152.     XDEF    _LVOScrollLayer
  153.     XDEF    _LVOBeginUpdate
  154.     XDEF    _LVOEndUpdate
  155.     XDEF    _LVODeleteLayer
  156.     XDEF    _LVOLockLayer
  157.     XDEF    _LVOUnlockLayer
  158.     XDEF    _LVOLockLayers
  159.     XDEF    _LVOUnlockLayers
  160.     XDEF    _LVOLockLayerInfo
  161.     XDEF    _LVOSwapBitsRastPortClipRect
  162.     XDEF    _LVOWhichLayer
  163.     XDEF    _LVOUnlockLayerInfo
  164.     XDEF    _LVONewLayerInfo
  165.     XDEF    _LVODisposeLayerInfo
  166.     XDEF    _LVOFattenLayerInfo
  167.     XDEF    _LVOThinLayerInfo
  168.     XDEF    _LVOMoveLayerInFrontOf
  169.     XDEF    _LVOInstallClipRegion
  170.  
  171.     ENDC
  172.  
  173.  
  174.  
  175.  
  176.  
  177.     END
  178.  
  179.