1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/shapes.h Sun Jan 10 22:58:17 2016 +0100
1.3 @@ -0,0 +1,64 @@
1.4 +#ifndef __SHAPES_H__
1.5 +#define __SHAPES_H__
1.6 +
1.7 +#define ROW0 0x0001
1.8 +#define ROW1 0x0002
1.9 +#define ROW2 0x0004
1.10 +#define ROW3 0x0008
1.11 +#define ROW4 0x0010
1.12 +#define ROW5 0x0020
1.13 +#define ROW6 0x0040
1.14 +#define ROW7 0x0080
1.15 +#define ROW8 0x0100
1.16 +#define ROW9 0x0200
1.17 +#define ROW10 0x0400
1.18 +#define ROW11 0x0800
1.19 +#define ROW12 0x1000
1.20 +#define ROW13 0x2000
1.21 +#define ROW14 0x4000
1.22 +#define ROW15 0x8000
1.23 +
1.24 +#define TOP_HORIZONTAL ROW0
1.25 +#define UPPER_RIGHT_VERTICAL ROW1
1.26 +#define LOWER_RIGHT_VERTICAL ROW2
1.27 +#define BOTTOM_HORIZONTAL ROW3
1.28 +#define LOWER_LEFT_VERTICAL ROW4
1.29 +#define UPPER_LEFT_VERTICAL ROW5
1.30 +#define LEFT_MIDDLE_HORIZONTAL ROW6
1.31 +#define RIGHT_MIDDLE_HORIZONTAL ROW7
1.32 +#define UPPER_LEFT_DIAGONAL ROW8
1.33 +#define UPPER_CENTRE_VERTICAL ROW9
1.34 +#define UPPER_RIGHT_DIAGONAL ROW10
1.35 +#define LOWER_RIGHT_DIAGONAL ROW11
1.36 +#define LOWER_CENTRE_VERTICAL ROW12
1.37 +#define LOWER_LEFT_DIAGONAL ROW13
1.38 +#define DECIMAL_POINT ROW14
1.39 +
1.40 +#define TOP_EDGE TOP_HORIZONTAL
1.41 +#define UPPER_ELEMENTS (UPPER_LEFT_VERTICAL | UPPER_RIGHT_VERTICAL | UPPER_LEFT_DIAGONAL | UPPER_RIGHT_DIAGONAL | UPPER_CENTRE_VERTICAL)
1.42 +#define MIDDLE_ELEMENTS (LEFT_MIDDLE_HORIZONTAL | RIGHT_MIDDLE_HORIZONTAL)
1.43 +#define LOWER_ELEMENTS (LOWER_LEFT_VERTICAL | LOWER_RIGHT_VERTICAL | LOWER_LEFT_DIAGONAL | LOWER_RIGHT_DIAGONAL | LOWER_CENTRE_VERTICAL)
1.44 +#define BOTTOM_EDGE BOTTOM_HORIZONTAL
1.45 +
1.46 +#define LEFT_EDGE (LOWER_LEFT_VERTICAL | UPPER_LEFT_VERTICAL)
1.47 +#define LEFT_ELEMENTS (LEFT_MIDDLE_HORIZONTAL | UPPER_LEFT_DIAGONAL | LOWER_LEFT_DIAGONAL)
1.48 +#define CENTRE_ELEMENTS (UPPER_CENTRE_VERTICAL | LOWER_CENTRE_VERTICAL)
1.49 +#define RIGHT_ELEMENTS (RIGHT_MIDDLE_HORIZONTAL | UPPER_RIGHT_DIAGONAL | LOWER_RIGHT_DIAGONAL)
1.50 +#define RIGHT_EDGE (LOWER_RIGHT_VERTICAL | UPPER_RIGHT_VERTICAL)
1.51 +
1.52 +#define OUTER_FRAME (TOP_HORIZONTAL | RIGHT_EDGE | BOTTOM_HORIZONTAL | LEFT_EDGE)
1.53 +#define PLUS (LEFT_MIDDLE_HORIZONTAL | RIGHT_MIDDLE_HORIZONTAL | UPPER_CENTRE_VERTICAL | LOWER_CENTRE_VERTICAL)
1.54 +#define DIAGONALS (UPPER_LEFT_DIAGONAL | UPPER_RIGHT_DIAGONAL | LOWER_RIGHT_DIAGONAL | LOWER_LEFT_DIAGONAL)
1.55 +#define INNER_ELEMENTS (PLUS | DIAGONALS)
1.56 +#define HORIZONTALS (TOP_HORIZONTAL | BOTTOM_HORIZONTAL | LEFT_MIDDLE_HORIZONTAL | RIGHT_MIDDLE_HORIZONTAL)
1.57 +
1.58 +#define UPPER_TRIANGLE (TOP_HORIZONTAL | UPPER_LEFT_DIAGONAL | UPPER_RIGHT_DIAGONAL)
1.59 +#define LOWER_TRIANGLE (BOTTOM_HORIZONTAL | LOWER_LEFT_DIAGONAL | LOWER_RIGHT_DIAGONAL)
1.60 +#define LEFT_TRIANGLE (UPPER_LEFT_VERTICAL | LOWER_LEFT_VERTICAL | UPPER_LEFT_DIAGONAL | LOWER_LEFT_DIAGONAL)
1.61 +#define UPPER_LEFT_TRIANGLE (UPPER_LEFT_VERTICAL | UPPER_LEFT_DIAGONAL | LEFT_MIDDLE_HORIZONTAL)
1.62 +#define LOWER_LEFT_TRIANGLE (LOWER_LEFT_VERTICAL | LOWER_LEFT_DIAGONAL | LEFT_MIDDLE_HORIZONTAL)
1.63 +#define RIGHT_TRIANGLE (UPPER_RIGHT_VERTICAL | LOWER_RIGHT_VERTICAL | UPPER_RIGHT_DIAGONAL | LOWER_RIGHT_DIAGONAL)
1.64 +#define UPPER_RIGHT_TRIANGLE (UPPER_RIGHT_VERTICAL | UPPER_RIGHT_DIAGONAL | RIGHT_MIDDLE_HORIZONTAL)
1.65 +#define LOWER_RIGHT_TRIANGLE (LOWER_RIGHT_VERTICAL | LOWER_RIGHT_DIAGONAL | RIGHT_MIDDLE_HORIZONTAL)
1.66 +
1.67 +#endif /* __SHAPES_H__ */