PV_SSPR - Vector $0C
This vector sets or gets system sprites.
Call Parameters | Return Parameters | ||
---|---|---|---|
D0.L | Error return. | ||
D1.W | Sprite number | D1.L | Sprite information. |
A1.L | Pointer to sprite/0 | A1.L | Preserved/Pointer to sprite. |
A3.L | Pointer to linkage block | A3.L | Preserved. |
Errors
Code | Error |
---|---|
ERR_NF | Not found. |
ERR_BP | Bad parameter. |
Notes
- All registers not mentioned above are not used and are preserved.
- If D1.W is negative (-1 is suggested), then, on return, D1 msw contains the maximum possible number of system sprites which can be held in the sprite table and D1 lsw contains the highest current number of system sprites. In this case A1 should be 0 on entry.
- If D1.W is not negative, then:
- If A1 = 0, on return A1.L contains a pointer to the number of sprite given in D1.W. If the address returned is 0, this means that someone has fiddled illegally with the sprite table!
- If A1 is not 0 then it contains the address of a sprite which will become the sprite whose number is in D1.W. It is the responsibility of the programmer to see that this sprite is in a safe place and will not just disappear.
Sprite Table
Address | Contents |
---|---|
-2 | Maximum number of sprites possible. |
0 | Current number of sprites in the table. |
2+ | Long word pointers to the actual sprites. |
System Sprites
Currently there are 38 system sprites as shown here.
Number | Description |
---|---|
0 | Arrow |
1 | Padlock |
2 | Empty Window |
3 | Wrong Mode |
4 | Keyboard Entry |
5 | No Entry |
6 | Move (pointer) |
7 | Resize (pointer) |
8 | Move (sprite) |
9 | Resize(sprite) |
10 | Sleep |
11 | Wake |
12 | F1 |
13 | F2 |
14 | F3 |
15 | F4 |
16 | F5 |
17 | F6 |
18 | F7 |
19 | F8 |
20 | F9 |
21 | F10 |
22 | F11 |
23 | F12 |
24 | CF1 |
25 | CF2 |
26 | CF3 |
27 | CF4 |
28 | CF5 |
29 | CF6 |
30 | CF7 |
31 | CF8 |
32 | CF9 |
33 | CF10 |
34 | CF11 |
35 | CF12 |
36 | Static Cursor |
37 | Flashing Cursor |