home *** CD-ROM | disk | FTP | other *** search
- * ============================================================================ *
- * ExpandIBox.asm: expands or contracts an IBox on all sides
- *
- * struct IBox *ExpandIBox(struct IBox *b, int dx, int dy)
- * a1 d0 d1
- *
- * This function moves the left and right edges of an IBox outward by the
- * amount specified in dx, and the top and bottom edges by dy.
- * ============================================================================ *
-
- include "exec/types.i"
- include "intuition/intuition.i"
- include "macros.i"
-
- SECTION expandibox.asm,CODE
-
- xdef _ExpandIBox,ExpandIBox
-
- _ExpandIBox:
- ; changed to use register calling parameters
- ; move.l 4(sp),a1 ; IBox
- ; move.l 8(sp),d0 ; dx
- ; move.l 12(sp),d1 ; dy
- ExpandIBox:
- sub.w d0,ibox_Left(a1)
- add.w d0,ibox_Width(a1)
- add.w d0,ibox_Width(a1)
- sub.w d1,ibox_Top(a1)
- add.w d1,ibox_Height(a1)
- add.w d1,ibox_Height(a1)
- move.l a1,d0 ; return address of box
- rts
-
- end
-
-