english
version "1.0"
identify "xyz"
module bitmap
#: This module provides an interface to some stepper motors.
define bitmap #: A bitmap
record
columns_size unsigned #: Number of columns
rows vector[vector[unsigned]] #: The rows of the bitmap
rows_size unsigned #: Number of rows
generate allocate, erase, print
procedure create@bitmap
takes
columns_size unsigned
rows_size unsigned
returns bitmap
#: This procedure will create and return a new {bitmap
} object
#, that contains {rows_size
} rows and {columns_size
} columns.
procedure fetch2@bitmap
takes
bitmap bitmap
x unsigned
y unsigned
returns logical
#: This procedure will return the bit at location ({x
}, {y
}) in {bitmap
}.
procedure find@bitmap
takes
bitmap bitmap
x_start unsigned
y_start unsigned
search_value logical
returns unsigned, unsigned
#: This procedure will search {bitmap
} for {search_value
} starting at
#, ({x_start
}, {y_start
}) in ever expanding squares. The matching
#, (x, y) coordinate is returned. If no value is found, {x_start
},
#, {y_start
} is returned.
procedure store2@bitmap
takes
bitmap bitmap
x unsigned
y unsigned
value logical
returns_nothing
#: This procedure will set the bit at location ({x
}, {y
}) in {bitmap
}
#, to {value
}.