AcornSearch - Acorn and RISC OS information searching
RISC OS Search
containing
"Nutty quip goes here!"
Home  |  About  |  Filebase Archive  |  StrongHelp Manuals  |  Newsgroups  |  Module Database
Bits     Meaning

0-1     Horizontal location of sprite in box:
      00     Left
      01     Centre
      10     Right
      11     undefined
2-3     Vertical location of sprite in box:
      00     Bottom
      01     Centre
      10     Top
      11     undefined
4-5     Drag bounding box is:
      00     Whole screen
      01     Display area of window that the pointer is over
      10     User specified
      11     undefined
6     Bounding box applies to:
      0     The box
      1     The pointer
7     Use drop shadow
8     Don't dither sprite (RISC OS 3.50)
9     Centre sprite around pointer (RISC OS 4.00)
10-15     Reserved for future use, should be set to 0.
16     Rendering is done by:
      0     a SWI
      1     a C/assembler function
17     If the renderer is a function, it is called in:
      0     User mode
      1     SVC mode
18     Actually use user mode
19-31     Reserved for future use, should be set to 0.
Note about DragAnObject User mode
Prior to version 0.09 (Castle), DragAnObject would call client functions in
SVC mode even when asked to call them in user mode. On 32 bit systems, this
leads to an incorrect stack limit which leads to aborts.

Rather than fix the module, which may cause further faults in existing
clients, a new bit (b18) indicates that the function should actually be
called in user mode. If bit 18 is set, bit 17 should be clear.

The calling environment should be set up sufficiently to allow access to user
and C library statics, provided that DragAnObject_Start was called via a
veneer that preserves R10 and R11 (sl and fp). OSLib and _kernel_swi veneers
are fine, and _swi is fine except on an unpatched RISC OS 3.70/3.71.

[sh-index] Back to list of manuals