-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathFrameBuffer.hh
89 lines (70 loc) · 2.39 KB
/
FrameBuffer.hh
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
/******************************
** Beagle Bone GPIO Library **
** **
** Francois Sugny **
** 01/07/12 **
** **
** v1.0 **
******************************/
//=======================================================
//=======================================================
#ifndef frame_buffer_hh
#define frame_buffer_hh
//=======================================================
//=======================================================
#include "Beagle_GPIO.hh"
//=======================================================
//=======================================================
class FrameBuffer
{
public:
// Regular pins
FrameBuffer( int _width, int _height );
~FrameBuffer();
// Clear Screen
void clear();
// Write a string to screen
void print( unsigned char _x,
unsigned char _y,
const char * _string,
unsigned char _r,
unsigned char _g,
unsigned char _b );
// Write a single pixel
void setPixel( unsigned char _x, unsigned char _y, unsigned char _r, unsigned char _g, unsigned char _b );
// Fill a box on screen
void fillBox( unsigned char _x1, unsigned char _y1, unsigned char _x2, unsigned char _y2, unsigned char _c, unsigned char _g, unsigned char _b );
// Draw line
void drawLine( unsigned char _x0, unsigned char _y0, unsigned char _x1, unsigned char _y1, unsigned char _r, unsigned char _g, unsigned char _b );
// Draw Polygon
void drawPolygon( unsigned char _x0, unsigned char _y0,
unsigned char _x1, unsigned char _y1,
unsigned char _x2, unsigned char _y2,
unsigned char _x3, unsigned char _y3,
unsigned char _r, unsigned char _g, unsigned char _b );
// Raster a line
void rasterLine( int x0, int y0, int x1, int y1, int *rl );
// Return the address of buffer
unsigned char *getBuffer()
{
return m_buffer;
}
private:
// Write a single character
void printChar( unsigned char _x,
unsigned char _y,
char _c,
unsigned char _r,
unsigned char _g,
unsigned char _b );
private:
unsigned char * m_buffer;
int m_width;
int m_height;
static const unsigned char font_5x8[];
};
//=======================================================
//=======================================================
#endif
//=======================================================
//=======================================================