home *** CD-ROM | disk | FTP | other *** search
- #ifndef dragasprite_H
- #define dragasprite_H
-
- /* C header file for DragASprite
- * written by DefMod (Sep 7 1994) on Wed Sep 7 21:24:42 1994
- * Copyright © Acorn Computers Ltd, 1994
- */
-
- /*************************************************************************
- * This source file was written by Acorn Computers Limited. It is part *
- * of the OSLib library for writing applications for RISC OS. It may be *
- * used freely in the creation of programs for RISC OS. *
- *************************************************************************/
-
- #ifndef types_H
- #include "types.h"
- #endif
-
- #ifndef os_H
- #include "os.h"
- #endif
-
- #ifndef osspriteop_H
- #include "osspriteop.h"
- #endif
-
- /**********************************
- * SWI names and SWI reason codes *
- **********************************/
- #undef DragASprite_Start
- #define DragASprite_Start 0x42400
- #undef XDragASprite_Start
- #define XDragASprite_Start 0x62400
- #undef DragASprite_Stop
- #define DragASprite_Stop 0x42401
- #undef XDragASprite_Stop
- #define XDragASprite_Stop 0x62401
-
- /************************
- * Constant definitions *
- ************************/
- #define dragasprite_HPOS_LEFT 0x0u
- #define dragasprite_HPOS_CENTRE 0x1u
- #define dragasprite_HPOS_RIGHT 0x2u
- #define dragasprite_VPOS_BOTTOM 0x0u
- #define dragasprite_VPOS_CENTRE 0x4u
- #define dragasprite_VPOS_TOP 0x8u
- #define dragasprite_NO_BOUND 0x0u
- #define dragasprite_BOUND_TO_WINDOW 0x10u
- #define dragasprite_GIVEN_BBOX 0x20u
- #define dragasprite_BOUND_SPRITE 0x0u
- #define dragasprite_BOUND_POINTER 0x40u
- #define dragasprite_DROP_SHADOW 0x80u
- #define dragasprite_NO_DITHER 0x100u
-
- /*************************
- * Function declarations *
- *************************/
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- /*************************************************************
- * NOTE: The following functions provide direct access to *
- * the SWI's noted in the function description. *
- * Please read the relevant PRM section for more *
- * information on their input/output parameters. *
- *************************************************************/
-
- /* ------------------------------------------------------------------------
- * Function: dragasprite_start()
- *
- * Description: Takes a copy of a sprite and starts a Wimp drag
- *
- * Input: flags - value of R0 on entry
- * area - value of R1 on entry
- * sprite_name - value of R2 on entry
- * box - value of R3 on entry
- * bbox - value of R4 on entry
- *
- * Other notes: Calls SWI 0x42400.
- */
-
- extern os_error *xdragasprite_start (bits flags,
- osspriteop_area *area,
- char *sprite_name,
- os_box *box,
- os_box *bbox);
- extern void dragasprite_start (bits flags,
- osspriteop_area *area,
- char *sprite_name,
- os_box *box,
- os_box *bbox);
-
- /* ------------------------------------------------------------------------
- * Function: dragasprite_stop()
- *
- * Description: Terminates any current drag operation, and releases
- * workspace
- *
- * Other notes: Calls SWI 0x42401.
- */
-
- extern os_error *xdragasprite_stop (void);
- extern void dragasprite_stop (void);
-
- #ifdef __cplusplus
- }
- #endif
-
- #endif
-