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

  1.  
  2. ; Intuition-Interface
  3.  
  4.     INCLUDE    "lvo/intuition.i"
  5.  
  6.     XREF    _IntuitionBase
  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    _IntuitionBase,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. ; OpenIntuition()()
  63.     CREATE    OpenIntuition,a6,1
  64.  
  65. ; Intuition(ievent)(A0)
  66.     CREATE    Intuition,a6,1,a0,1
  67.  
  68. ; AddGadget(AddPtr,Gadget,Position)(A0/A1,D0)
  69.     CREATE    AddGadget,a6,1,a0-a1,2,d0,1
  70.  
  71. ; ClearDMRequest(Window)(A0)
  72.     CREATE    ClearDMRequest,a6,1,a0,1
  73.  
  74. ; ClearMenuStrip(Window)(A0)
  75.     CREATE    ClearMenuStrip,a6,1,a0,1
  76.  
  77. ; ClearPointer(Window)(A0)
  78.     CREATE    ClearPointer,a6,1,a0,1
  79.  
  80. ; CloseScreen(Screen)(A0)
  81.     CREATE    CloseScreen,a6,1,a0,1
  82.  
  83. ; CloseWindow(Window)(A0)
  84.     CREATE    CloseWindow,a6,1,a0,1
  85.  
  86. ; CloseWorkBench()()
  87.     CREATE    CloseWorkBench,a6,1
  88.  
  89. ; CurrentTime(Seconds,Micros)(A0/A1)
  90.     CREATE    CurrentTime,a6,1,a0-a1,2
  91.  
  92. ; DisplayAlert(AlertNumber,String,Height)(D0/A0,D1)
  93.     CREATE    DisplayAlert,a6,1,d0/a0,2,d1,1
  94.  
  95. ; DisplayBeep(Screen)(A0)
  96.     CREATE    DisplayBeep,a6,1,a0,1
  97.  
  98. ; DoubleClick(sseconds,smicros,cseconds,cmicros)(D0/D1/D2/D3)
  99.     CREATE    DoubleClick,d2-d3/a6,3,d0-d3,4
  100.  
  101. ; DrawBorder(RPort,Border,LeftOffset,TopOffset)(A0/A1,D0/D1)
  102.     CREATE    DrawBorder,a6,1,a0-a1,2,d0-d1,2
  103.  
  104. ; DrawImage(RPort,Image,LeftOffset,TopOffset)(A0/A1,D0/D1)
  105.     CREATE    DrawImage,a6,1,a0-a1,2,d0-d1,2
  106.  
  107. ; EndRequest(requester,window)(A0/A1)
  108.     CREATE    EndRequest,a6,1,a0-a1,2
  109.  
  110. ; GetDefPrefs(preferences,size)(A0,D0)
  111.     CREATE    GetDefPrefs,a6,1,a0,1,d0,1
  112.  
  113. ; GetPrefs(preferences,size)(A0,D0)
  114.     CREATE    GetPrefs,a6,1,a0,1,d0,1
  115.  
  116. ; InitRequester(req)(A0)
  117.     CREATE    InitRequester,a6,1,a0,1
  118.  
  119. ; ItemAddress(MenuStrip,MenuNumber)(A0,D0)
  120.     CREATE    ItemAddress,a6,1,a0,1,d0,1
  121.  
  122. ; ModifyIDCMP(Window,Flags)(A0,D0)
  123.     CREATE    ModifyIDCMP,a6,1,a0,1,d0,1
  124.  
  125. ; ModifyProp(Gadget,Ptr,Req,Flags,HPos,VPos,HBody,VBody)(A0/A1/A2,D0/D1/D2/D3/D4)
  126.     CREATE    ModifyProp,d2-d4/a2/a6,5,a0-a2,3,d0-d4,5
  127.  
  128. ; MoveScreen(Screen,dx,dy)(A0,D0/D1)
  129.     CREATE    MoveScreen,a6,1,a0,1,d0-d1,2
  130.  
  131. ; MoveWindow(window,dx,dy)(A0,D0/D1)
  132.     CREATE    MoveWindow,a6,1,a0,1,d0-d1,2
  133.  
  134. ; OffGadget(Gadget,Ptr,Req)(A0/A1/A2)
  135.     CREATE    OffGadget,a2/a6,2,a0-a2,3
  136.  
  137. ; OffMenu(Window,MenuNumber)(A0,D0)
  138.     CREATE    OffMenu,a6,1,a0,1,d0,1
  139.  
  140. ; OnGadget(Gadget,Ptr,Req)(A0/A1/A2)
  141.     CREATE    OnGadget,a2/a6,2,a0-a2,3
  142.  
  143. ; OnMenu(Window,MenuNumber)(A0,D0)
  144.     CREATE    OnMenu,a6,1,a0,1,d0,1
  145.  
  146. ; OpenScreen(OSargs)(A0)
  147.     CREATE    OpenScreen,a6,1,a0,1
  148.  
  149. ; OpenWindow(OWargs)(A0)
  150.     CREATE    OpenWindow,a6,1,a0,1
  151.  
  152. ; OpenWorkBench()()
  153.     CREATE    OpenWorkBench,a6,1
  154.  
  155. ; PrintIText(rp,itext,left,top)(A0/A1,D0/D1)
  156.     CREATE    PrintIText,a6,1,a0-a1,2,d0-d1,2
  157.  
  158. ; RefreshGadgets(Gadgets,Ptr,Req)(A0/A1/A2)
  159.     CREATE    RefreshGadgets,a2/a6,2,a0-a2,3
  160.  
  161. ; RemoveGadget(RemPtr,Gadget)(A0/A1)
  162.     CREATE    RemoveGadget,a6,1,a0-a1,2
  163.  
  164. ; ReportMouse(Boolean,Window)(D0/A0)
  165.     CREATE    ReportMouse,a6,1,d0/a0,2
  166.  
  167. ; Request(Requester,Window)(A0/A1)
  168.     CREATE    Request,a6,1,a0-a1,2
  169.  
  170. ; ScreenToBack(Screen)(A0)
  171.     CREATE    ScreenToBack,a6,1,a0,1
  172.  
  173. ; ScreenToFront(Screen)(A0)
  174.     CREATE    ScreenToFront,a6,1,a0,1
  175.  
  176. ; SetDMRequest(Window,req)(A0/A1)
  177.     CREATE    SetDMRequest,a6,1,a0-a1,2
  178.  
  179. ; SetMenuStrip(Window,Menu)(A0/A1)
  180.     CREATE    SetMenuStrip,a6,1,a0-a1,2
  181.  
  182. ; SetPointer(Window,Pointer,Height,Width,Xoffset,Yoffset)(A0/A1,D0/D1/D2/D3)
  183.     CREATE    SetPointer,d2-d3/a6,3,a0-a1,2,d0-d3,4
  184.  
  185. ; SetWindowTitles(window,windowtitle,screentitle)(A0/A1/A2)
  186.     CREATE    SetWindowTitles,a2/a6,2,a0-a2,3
  187.  
  188. ; ShowTitle(Screen,ShowIt)(A0,D0)
  189.     CREATE    ShowTitle,a6,1,a0,1,d0,1
  190.  
  191. ; SizeWindow(window,dx,dy)(A0,D0/D1)
  192.     CREATE    SizeWindow,a6,1,a0,1,d0-d1,2
  193.  
  194. ; ViewAddress()()
  195.     CREATE    ViewAddress,a6,1
  196.  
  197. ; ViewPortAddress(window)(A0)
  198.     CREATE    ViewPortAddress,a6,1,a0,1
  199.  
  200. ; WindowToBack(window)(A0)
  201.     CREATE    WindowToBack,a6,1,a0,1
  202.  
  203. ; WindowToFront(window)(A0)
  204.     CREATE    WindowToFront,a6,1,a0,1
  205.  
  206. ; WindowLimits(window,minwidth,minheight,maxwidth,maxheight)(A0,D0/D1/D2/D3)
  207.     CREATE    WindowLimits,d2-d3/a6,3,a0,1,d0-d3,4
  208.  
  209. ; SetPrefs(preferences,size,flag)(A0,D0/D1)
  210.     CREATE    SetPrefs,a6,1,a0,1,d0-d1,2
  211.  
  212. ; IntuiTextLength(itext)(A0)
  213.     CREATE    IntuiTextLength,a6,1,a0,1
  214.  
  215. ; WBenchToBack()()
  216.     CREATE    WBenchToBack,a6,1
  217.  
  218. ; WBenchToFront()()
  219.     CREATE    WBenchToFront,a6,1
  220.  
  221. ; AutoRequest(Window,Body,PText,NText,PFlag,NFlag,W,H)(A0,A1,A2,A3,D0,D1,D2,D3)
  222.     CREATE    AutoRequest,d2-d3/a2-a3/a6,5,a0-a3,4,d0-d3,4
  223.  
  224. ; BeginRefresh(Window)(A0)
  225.     CREATE    BeginRefresh,a6,1,a0,1
  226.  
  227. ; BuildSysRequest(Window,Body,PosText,NegText,Flags,W,H)(A0,A1,A2,A3,D0,D1,D2)
  228.     CREATE    BuildSysRequest,d2/a2-a3/a6,4,a0-a3,4,d0-d2,3
  229.  
  230. ; EndRefresh(Window,Complete)(A0,D0)
  231.     CREATE    EndRefresh,a6,1,a0,1,d0,1
  232.  
  233. ; FreeSysRequest(Window)(A0)
  234.     CREATE    FreeSysRequest,a6,1,a0,1
  235.  
  236. ; MakeScreen(Screen)(A0)
  237.     CREATE    MakeScreen,a6,1,a0,1
  238.  
  239. ; RemakeDisplay()()
  240.     CREATE    RemakeDisplay,a6,1
  241.  
  242. ; RethinkDisplay()()
  243.     CREATE    RethinkDisplay,a6,1
  244.  
  245. ; AllocRemember(RememberKey,Size,Flags)(A0,D0,D1)
  246.     CREATE    AllocRemember,a6,1,a0,1,d0-d1,2
  247.  
  248. ; AlohaWorkbench(wbport)(A0)
  249.     CREATE    AlohaWorkbench,a6,1,a0,1
  250.  
  251. ; FreeRemember(RememberKey,ReallyForget)(A0,D0)
  252.     CREATE    FreeRemember,a6,1,a0,1,d0,1
  253.  
  254. ; LockIBase(dontknow)(D0)
  255.     CREATE    LockIBase,a6,1,d0,1
  256.  
  257. ; UnlockIBase(IBLock)(A0)
  258.     CREATE    UnlockIBase,a6,1,a0,1
  259.  
  260. ; GetScreenData(buffer,size,type,screen)(A0,D0,D1,A1)
  261.     CREATE    GetScreenData,a6,1,a0,1,d0-d1/a1,3
  262.  
  263. ; RefreshGList(Gadgets,Ptr,Req,NumGad)(A0/A1/A2,D0)
  264.     CREATE    RefreshGList,a2/a6,2,a0-a2,3,d0,1
  265.  
  266. ; AddGList(AddPtr,Gadget,Position,NumGad,Requester)(A0/A1,D0/D1/A2)
  267.     CREATE    AddGList,a2/a6,2,a0-a1,2,d0-d1/a2,3
  268.  
  269. ; RemoveGList(RemPtr,Gadget,NumGad)(A0/A1,D0)
  270.     CREATE    RemoveGList,a6,1,a0-a1,2,d0,1
  271.  
  272. ; ActivateWindow(Window)(A0)
  273.     CREATE    ActivateWindow,a6,1,a0,1
  274.  
  275. ; RefreshWindowFrame(Window)(A0)
  276.     CREATE    RefreshWindowFrame,a6,1,a0,1
  277.  
  278. ; ActivateGadget(Gadgets,Window,Req)(A0/A1/A2)
  279.     CREATE    ActivateGadget,a2/a6,2,a0-a2,3
  280.  
  281. ; NewModifyProp(Gadget,Ptr,Req,Flags,HPos,VPos,HBody,VBody,NumGad)(A0/A1/A2,D0/D1/D2/D3/D4/D5)
  282.     CREATE    NewModifyProp,d2-d5/a2/a6,6,a0-a2,3,d0-d5,6
  283.  
  284.  
  285.  
  286.  
  287.  
  288. ; Offsets
  289.  
  290.     IFD    OFFSETS
  291.  
  292.     XDEF    _LVOOpenIntuition
  293.     XDEF    _LVOIntuition
  294.     XDEF    _LVOAddGadget
  295.     XDEF    _LVOClearDMRequest
  296.     XDEF    _LVOClearMenuStrip
  297.     XDEF    _LVOClearPointer
  298.     XDEF    _LVOCloseScreen
  299.     XDEF    _LVOCloseWindow
  300.     XDEF    _LVOCloseWorkBench
  301.     XDEF    _LVOCurrentTime
  302.     XDEF    _LVODisplayAlert
  303.     XDEF    _LVODisplayBeep
  304.     XDEF    _LVODoubleClick
  305.     XDEF    _LVODrawBorder
  306.     XDEF    _LVODrawImage
  307.     XDEF    _LVOEndRequest
  308.     XDEF    _LVOGetDefPrefs
  309.     XDEF    _LVOGetPrefs
  310.     XDEF    _LVOInitRequester
  311.     XDEF    _LVOItemAddress
  312.     XDEF    _LVOModifyIDCMP
  313.     XDEF    _LVOModifyProp
  314.     XDEF    _LVOMoveScreen
  315.     XDEF    _LVOMoveWindow
  316.     XDEF    _LVOOffGadget
  317.     XDEF    _LVOOffMenu
  318.     XDEF    _LVOOnGadget
  319.     XDEF    _LVOOnMenu
  320.     XDEF    _LVOOpenScreen
  321.     XDEF    _LVOOpenWindow
  322.     XDEF    _LVOOpenWorkBench
  323.     XDEF    _LVOPrintIText
  324.     XDEF    _LVORefreshGadgets
  325.     XDEF    _LVORemoveGadget
  326.     XDEF    _LVOReportMouse
  327.     XDEF    _LVORequest
  328.     XDEF    _LVOScreenToBack
  329.     XDEF    _LVOScreenToFront
  330.     XDEF    _LVOSetDMRequest
  331.     XDEF    _LVOSetMenuStrip
  332.     XDEF    _LVOSetPointer
  333.     XDEF    _LVOSetWindowTitles
  334.     XDEF    _LVOShowTitle
  335.     XDEF    _LVOSizeWindow
  336.     XDEF    _LVOViewAddress
  337.     XDEF    _LVOViewPortAddress
  338.     XDEF    _LVOWindowToBack
  339.     XDEF    _LVOWindowToFront
  340.     XDEF    _LVOWindowLimits
  341.     XDEF    _LVOSetPrefs
  342.     XDEF    _LVOIntuiTextLength
  343.     XDEF    _LVOWBenchToBack
  344.     XDEF    _LVOWBenchToFront
  345.     XDEF    _LVOAutoRequest
  346.     XDEF    _LVOBeginRefresh
  347.     XDEF    _LVOBuildSysRequest
  348.     XDEF    _LVOEndRefresh
  349.     XDEF    _LVOFreeSysRequest
  350.     XDEF    _LVOMakeScreen
  351.     XDEF    _LVORemakeDisplay
  352.     XDEF    _LVORethinkDisplay
  353.     XDEF    _LVOAllocRemember
  354.     XDEF    _LVOAlohaWorkbench
  355.     XDEF    _LVOFreeRemember
  356.     XDEF    _LVOLockIBase
  357.     XDEF    _LVOUnlockIBase
  358.     XDEF    _LVOGetScreenData
  359.     XDEF    _LVORefreshGList
  360.     XDEF    _LVOAddGList
  361.     XDEF    _LVORemoveGList
  362.     XDEF    _LVOActivateWindow
  363.     XDEF    _LVORefreshWindowFrame
  364.     XDEF    _LVOActivateGadget
  365.     XDEF    _LVONewModifyProp
  366.  
  367.     ENDC
  368.  
  369.  
  370.  
  371.  
  372.  
  373.     END
  374.  
  375.