|
number OnControl(number
map, point xy or rect aRect )
Checks to see which controls are at the
specified coords or in the rect. It checks the specified map and returns
a 16 bit colour map.
The map can be one of the following:
| ocVISUAL |
The visual screen |
| ocPRIORITY |
The priority
screen |
| ocSPECIAL |
The special
screen (contains the control information) |
There are 16 colours available, and it
returns a 16 bit colour map. If a colour is in the region, it's bit
is set. So, when checking for a control which is, for example, purple,
you wouldn't check for it to be 5, you'd check for it to be 00100000b
($20). For those unfarmilliar with binary, I'll give you a map...
| Colour |
Actual Number |
OnControl Number |
Binary |
| Black |
0 |
$0001 |
0000
0000 0000 0001 |
| Navy |
1 |
$0002 |
0000
0000 0000 0010 |
| Green |
2 |
$0004 |
0000
0000 0000 0100 |
| Teal |
3 |
$0008 |
0000
0000 0000 1000 |
| Maroon |
4 |
$0010 |
0000
0000 0001 0000 |
| Purple |
5 |
$0020 |
0000
0000 0010 0000 |
| Brown |
6 |
$0040 |
0000
0000 0100 0000 |
| Silver |
7 |
$0080 |
0000
0000 1000 0000 |
| Grey |
8 |
$0100 |
0000
0001 0000 0000 |
| Blue |
9 |
$0200 |
0000
0010 0000 0000 |
| Lime |
10 |
$0400 |
0000
0100 0000 0000 |
| Cyan |
11 |
$0800 |
0000
1000 0000 0000 |
| Red |
12 |
$1000 |
0001
0000 0000 0000 |
| Fuchsia |
13 |
$2000 |
0010
0000 0000 0000 |
| Yellow |
14 |
$4000 |
0100
0000 0000 0000 |
| White |
15 |
$8000 |
1000
0000 0000 0000 |
| Example |
|
//Using a point
(if(== $1000 OnControl(ocSPECIAL
120 90)
Print("It is on a red control line!")
)
//Using a rect
(if(== $0200 OnControl(ocSPECIAL
50 20 100 40)
Print("It is on a blue control line!")
)
|
|