Added custom fonts. Added triangle drawing function

Dependents:   sc100016x4lcd REVO_Updated_Steering Driving_game Arkanoid_v1 ... more

Committer:
DimiterK
Date:
Tue Jan 04 18:35:28 2011 +0000
Revision:
0:135b9a0a816e
Child:
1:a368f2688222
First release.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
DimiterK 0:135b9a0a816e 1 /*
DimiterK 0:135b9a0a816e 2 *
DimiterK 0:135b9a0a816e 3 * System5x7
DimiterK 0:135b9a0a816e 4 *
DimiterK 0:135b9a0a816e 5 *
DimiterK 0:135b9a0a816e 6 * File Name : System5x7.h
DimiterK 0:135b9a0a816e 7 * Date : 28 Oct 2008
DimiterK 0:135b9a0a816e 8 * Font size in bytes : 470
DimiterK 0:135b9a0a816e 9 * Font width : 5
DimiterK 0:135b9a0a816e 10 * Font height : 7
DimiterK 0:135b9a0a816e 11 * Font first char : 32
DimiterK 0:135b9a0a816e 12 * Font last char : 127
DimiterK 0:135b9a0a816e 13 * Font used chars : 94
DimiterK 0:135b9a0a816e 14 *
DimiterK 0:135b9a0a816e 15 * The font data are defined as
DimiterK 0:135b9a0a816e 16 *
DimiterK 0:135b9a0a816e 17 * struct _FONT_ {
DimiterK 0:135b9a0a816e 18 * uint16_t font_Size_in_Bytes_over_all_included_Size_it_self;
DimiterK 0:135b9a0a816e 19 * uint8_t font_Width_in_Pixel_for_fixed_drawing;
DimiterK 0:135b9a0a816e 20 * uint8_t font_Height_in_Pixel_for_all_characters;
DimiterK 0:135b9a0a816e 21 * unit8_t font_First_Char;
DimiterK 0:135b9a0a816e 22 * uint8_t font_Char_Count;
DimiterK 0:135b9a0a816e 23 *
DimiterK 0:135b9a0a816e 24 * uint8_t font_Char_Widths[font_Last_Char - font_First_Char +1];
DimiterK 0:135b9a0a816e 25 * // for each character the separate width in pixels,
DimiterK 0:135b9a0a816e 26 * // characters < 128 have an implicit virtual right empty row
DimiterK 0:135b9a0a816e 27 *
DimiterK 0:135b9a0a816e 28 * uint8_t font_data[];
DimiterK 0:135b9a0a816e 29 * // bit field of all characters
DimiterK 0:135b9a0a816e 30 */
DimiterK 0:135b9a0a816e 31
DimiterK 0:135b9a0a816e 32 #ifndef SYSTEM5x7_H
DimiterK 0:135b9a0a816e 33 #define SYSTEM5x7_H
DimiterK 0:135b9a0a816e 34
DimiterK 0:135b9a0a816e 35 #define SYSTEM5x7_WIDTH 5
DimiterK 0:135b9a0a816e 36 #define SYSTEM5x7_HEIGHT 7
DimiterK 0:135b9a0a816e 37
DimiterK 0:135b9a0a816e 38 static unsigned int System5x7[] = {
DimiterK 0:135b9a0a816e 39 0x0, 0x0, // size of zero indicates fixed width font, actual length is width * height
DimiterK 0:135b9a0a816e 40 0x05, // width
DimiterK 0:135b9a0a816e 41 0x07, // height
DimiterK 0:135b9a0a816e 42 0x20, // first char
DimiterK 0:135b9a0a816e 43 0x7f, // char count
DimiterK 0:135b9a0a816e 44
DimiterK 0:135b9a0a816e 45 // Fixed width; char width table not used !!!!
DimiterK 0:135b9a0a816e 46
DimiterK 0:135b9a0a816e 47 // font data
DimiterK 0:135b9a0a816e 48 0x00, 0x00, 0x00, 0x00, 0x00,// (space)
DimiterK 0:135b9a0a816e 49 0x00, 0x00, 0x5F, 0x00, 0x00,// !
DimiterK 0:135b9a0a816e 50 0x00, 0x07, 0x00, 0x07, 0x00,// "
DimiterK 0:135b9a0a816e 51 0x14, 0x7F, 0x14, 0x7F, 0x14,// #
DimiterK 0:135b9a0a816e 52 0x24, 0x2A, 0x7F, 0x2A, 0x12,// $
DimiterK 0:135b9a0a816e 53 0x23, 0x13, 0x08, 0x64, 0x62,// %
DimiterK 0:135b9a0a816e 54 0x36, 0x49, 0x55, 0x22, 0x50,// &
DimiterK 0:135b9a0a816e 55 0x00, 0x05, 0x03, 0x00, 0x00,// '
DimiterK 0:135b9a0a816e 56 0x00, 0x1C, 0x22, 0x41, 0x00,// (
DimiterK 0:135b9a0a816e 57 0x00, 0x41, 0x22, 0x1C, 0x00,// )
DimiterK 0:135b9a0a816e 58 0x08, 0x2A, 0x1C, 0x2A, 0x08,// *
DimiterK 0:135b9a0a816e 59 0x08, 0x08, 0x3E, 0x08, 0x08,// +
DimiterK 0:135b9a0a816e 60 0x00, 0x50, 0x30, 0x00, 0x00,// ,
DimiterK 0:135b9a0a816e 61 0x08, 0x08, 0x08, 0x08, 0x08,// -
DimiterK 0:135b9a0a816e 62 0x00, 0x60, 0x60, 0x00, 0x00,// .
DimiterK 0:135b9a0a816e 63 0x20, 0x10, 0x08, 0x04, 0x02,// /
DimiterK 0:135b9a0a816e 64 0x3E, 0x51, 0x49, 0x45, 0x3E,// 0
DimiterK 0:135b9a0a816e 65 0x00, 0x42, 0x7F, 0x40, 0x00,// 1
DimiterK 0:135b9a0a816e 66 0x42, 0x61, 0x51, 0x49, 0x46,// 2
DimiterK 0:135b9a0a816e 67 0x21, 0x41, 0x45, 0x4B, 0x31,// 3
DimiterK 0:135b9a0a816e 68 0x18, 0x14, 0x12, 0x7F, 0x10,// 4
DimiterK 0:135b9a0a816e 69 0x27, 0x45, 0x45, 0x45, 0x39,// 5
DimiterK 0:135b9a0a816e 70 0x3C, 0x4A, 0x49, 0x49, 0x30,// 6
DimiterK 0:135b9a0a816e 71 0x01, 0x71, 0x09, 0x05, 0x03,// 7
DimiterK 0:135b9a0a816e 72 0x36, 0x49, 0x49, 0x49, 0x36,// 8
DimiterK 0:135b9a0a816e 73 0x06, 0x49, 0x49, 0x29, 0x1E,// 9
DimiterK 0:135b9a0a816e 74 0x00, 0x36, 0x36, 0x00, 0x00,// :
DimiterK 0:135b9a0a816e 75 0x00, 0x56, 0x36, 0x00, 0x00,// ;
DimiterK 0:135b9a0a816e 76 0x00, 0x08, 0x14, 0x22, 0x41,// <
DimiterK 0:135b9a0a816e 77 0x14, 0x14, 0x14, 0x14, 0x14,// =
DimiterK 0:135b9a0a816e 78 0x41, 0x22, 0x14, 0x08, 0x00,// >
DimiterK 0:135b9a0a816e 79 0x02, 0x01, 0x51, 0x09, 0x06,// ?
DimiterK 0:135b9a0a816e 80 0x32, 0x49, 0x79, 0x41, 0x3E,// @
DimiterK 0:135b9a0a816e 81 0x7E, 0x11, 0x11, 0x11, 0x7E,// A
DimiterK 0:135b9a0a816e 82 0x7F, 0x49, 0x49, 0x49, 0x36,// B
DimiterK 0:135b9a0a816e 83 0x3E, 0x41, 0x41, 0x41, 0x22,// C
DimiterK 0:135b9a0a816e 84 0x7F, 0x41, 0x41, 0x22, 0x1C,// D
DimiterK 0:135b9a0a816e 85 0x7F, 0x49, 0x49, 0x49, 0x41,// E
DimiterK 0:135b9a0a816e 86 0x7F, 0x09, 0x09, 0x01, 0x01,// F
DimiterK 0:135b9a0a816e 87 0x3E, 0x41, 0x41, 0x51, 0x32,// G
DimiterK 0:135b9a0a816e 88 0x7F, 0x08, 0x08, 0x08, 0x7F,// H
DimiterK 0:135b9a0a816e 89 0x00, 0x41, 0x7F, 0x41, 0x00,// I
DimiterK 0:135b9a0a816e 90 0x20, 0x40, 0x41, 0x3F, 0x01,// J
DimiterK 0:135b9a0a816e 91 0x7F, 0x08, 0x14, 0x22, 0x41,// K
DimiterK 0:135b9a0a816e 92 0x7F, 0x40, 0x40, 0x40, 0x40,// L
DimiterK 0:135b9a0a816e 93 0x7F, 0x02, 0x04, 0x02, 0x7F,// M
DimiterK 0:135b9a0a816e 94 0x7F, 0x04, 0x08, 0x10, 0x7F,// N
DimiterK 0:135b9a0a816e 95 0x3E, 0x41, 0x41, 0x41, 0x3E,// O
DimiterK 0:135b9a0a816e 96 0x7F, 0x09, 0x09, 0x09, 0x06,// P
DimiterK 0:135b9a0a816e 97 0x3E, 0x41, 0x51, 0x21, 0x5E,// Q
DimiterK 0:135b9a0a816e 98 0x7F, 0x09, 0x19, 0x29, 0x46,// R
DimiterK 0:135b9a0a816e 99 0x46, 0x49, 0x49, 0x49, 0x31,// S
DimiterK 0:135b9a0a816e 100 0x01, 0x01, 0x7F, 0x01, 0x01,// T
DimiterK 0:135b9a0a816e 101 0x3F, 0x40, 0x40, 0x40, 0x3F,// U
DimiterK 0:135b9a0a816e 102 0x1F, 0x20, 0x40, 0x20, 0x1F,// V
DimiterK 0:135b9a0a816e 103 0x7F, 0x20, 0x18, 0x20, 0x7F,// W
DimiterK 0:135b9a0a816e 104 0x63, 0x14, 0x08, 0x14, 0x63,// X
DimiterK 0:135b9a0a816e 105 0x03, 0x04, 0x78, 0x04, 0x03,// Y
DimiterK 0:135b9a0a816e 106 0x61, 0x51, 0x49, 0x45, 0x43,// Z
DimiterK 0:135b9a0a816e 107 0x00, 0x00, 0x7F, 0x41, 0x41,// [
DimiterK 0:135b9a0a816e 108 0x02, 0x04, 0x08, 0x10, 0x20,// "\"
DimiterK 0:135b9a0a816e 109 0x41, 0x41, 0x7F, 0x00, 0x00,// ]
DimiterK 0:135b9a0a816e 110 0x04, 0x02, 0x01, 0x02, 0x04,// ^
DimiterK 0:135b9a0a816e 111 0x40, 0x40, 0x40, 0x40, 0x40,// _
DimiterK 0:135b9a0a816e 112 0x00, 0x01, 0x02, 0x04, 0x00,// `
DimiterK 0:135b9a0a816e 113 0x20, 0x54, 0x54, 0x54, 0x78,// a
DimiterK 0:135b9a0a816e 114 0x7F, 0x48, 0x44, 0x44, 0x38,// b
DimiterK 0:135b9a0a816e 115 0x38, 0x44, 0x44, 0x44, 0x20,// c
DimiterK 0:135b9a0a816e 116 0x38, 0x44, 0x44, 0x48, 0x7F,// d
DimiterK 0:135b9a0a816e 117 0x38, 0x54, 0x54, 0x54, 0x18,// e
DimiterK 0:135b9a0a816e 118 0x08, 0x7E, 0x09, 0x01, 0x02,// f
DimiterK 0:135b9a0a816e 119 0x08, 0x14, 0x54, 0x54, 0x3C,// g
DimiterK 0:135b9a0a816e 120 0x7F, 0x08, 0x04, 0x04, 0x78,// h
DimiterK 0:135b9a0a816e 121 0x00, 0x44, 0x7D, 0x40, 0x00,// i
DimiterK 0:135b9a0a816e 122 0x20, 0x40, 0x44, 0x3D, 0x00,// j
DimiterK 0:135b9a0a816e 123 0x00, 0x7F, 0x10, 0x28, 0x44,// k
DimiterK 0:135b9a0a816e 124 0x00, 0x41, 0x7F, 0x40, 0x00,// l
DimiterK 0:135b9a0a816e 125 0x7C, 0x04, 0x18, 0x04, 0x78,// m
DimiterK 0:135b9a0a816e 126 0x7C, 0x08, 0x04, 0x04, 0x78,// n
DimiterK 0:135b9a0a816e 127 0x38, 0x44, 0x44, 0x44, 0x38,// o
DimiterK 0:135b9a0a816e 128 0x7C, 0x14, 0x14, 0x14, 0x08,// p
DimiterK 0:135b9a0a816e 129 0x08, 0x14, 0x14, 0x18, 0x7C,// q
DimiterK 0:135b9a0a816e 130 0x7C, 0x08, 0x04, 0x04, 0x08,// r
DimiterK 0:135b9a0a816e 131 0x48, 0x54, 0x54, 0x54, 0x20,// s
DimiterK 0:135b9a0a816e 132 0x04, 0x3F, 0x44, 0x40, 0x20,// t
DimiterK 0:135b9a0a816e 133 0x3C, 0x40, 0x40, 0x20, 0x7C,// u
DimiterK 0:135b9a0a816e 134 0x1C, 0x20, 0x40, 0x20, 0x1C,// v
DimiterK 0:135b9a0a816e 135 0x3C, 0x40, 0x30, 0x40, 0x3C,// w
DimiterK 0:135b9a0a816e 136 0x44, 0x28, 0x10, 0x28, 0x44,// x
DimiterK 0:135b9a0a816e 137 0x0C, 0x50, 0x50, 0x50, 0x3C,// y
DimiterK 0:135b9a0a816e 138 0x44, 0x64, 0x54, 0x4C, 0x44,// z
DimiterK 0:135b9a0a816e 139 0x00, 0x08, 0x36, 0x41, 0x00,// {
DimiterK 0:135b9a0a816e 140 0x00, 0x00, 0x7F, 0x00, 0x00,// |
DimiterK 0:135b9a0a816e 141 0x00, 0x41, 0x36, 0x08, 0x00,// }
DimiterK 0:135b9a0a816e 142 0x08, 0x08, 0x2A, 0x1C, 0x08,// ->
DimiterK 0:135b9a0a816e 143 0x08, 0x1C, 0x2A, 0x08, 0x08 // <-
DimiterK 0:135b9a0a816e 144
DimiterK 0:135b9a0a816e 145 };
DimiterK 0:135b9a0a816e 146
DimiterK 0:135b9a0a816e 147 #endif