-
Notifications
You must be signed in to change notification settings - Fork 0
/
FontLetter.h
47 lines (45 loc) · 1.22 KB
/
FontLetter.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#ifndef FONTLETTER_H
#define FONTLETTER_H
//
// Represent the bits of a letter and
// provides right to left column iteration
// for each of left-to-right letter animation.
//
//
// Note, we need Arduino.h because it defines
// the basic types we use, like byte, for example.
//
#if (ARDUINO >= 100)
#include <Arduino.h>
#else
#include <WProgram.h>
#include <pins_arduino.h>
#endif
class FontLetter {
public:
FontLetter(char c); // instantiate the Font
uint8_t size();
byte column(byte index);
//
//
// Start right to left column iteration and
// return the first(last) column.
// This makes it relatively convenient to
// to use in this way:
//
// for (byte *each_column = letter.first_column();
// each_column != NULL;
// each_column = letter.next_column()) {
// /* do something with each_column */
// }
//
//
byte *first_column();
byte *next_column();
private:
char _letter; // what letter is this? (not really needed)
byte *_columns; // array of font columns
byte *_column_iter; // used for right to left iteration
uint8_t _size; // how many columns in the font
};
#endif