packages feed

spade-0.1.0.9: docs/character-graphics.md

### Text User interface toolkit

Spade includes a basic text UI toolkit with which you can assemble some basic
user interface. The toolkit includes input boxes, select dropdowns
etc.

### Layouts

Layouts are used to arrage various widgets on the screen.
Layouts can be either Horizontal or Vertical. A UI can be built by nested
combination of horizontal and vertical layouts.

### Character graphics

Spade includes the ability to write text to arbitrary screen locations
and do screen updates without flicker. This is done by painting only the
changes portions of the screen. Try running 'char-animation.spd' program
from the samples folder to see this.

To start using this feature, you should first initialize the buffers
using #link: csinit# function. The you can start writing stuff to arbitrary
locations on screen by going to the required location using #link: csgoto#
and writing stuff using #link: csprint# function. Then at the end, you have
to call the #link: csdraw# function to actually display the screen. You might
also want to call #link: csclear# function to clear the buffers before starting
to draw the next frame.

Here is a small program that prints "Hello world!" at 10 columns right and 10 rows
down.

```
csinit()
csgoto(10, 10)
csprint("Hello world!")
csdraw()
waitforkey()
```