blob: 99f921b525e16434bf6cb4dcf8c952b6a508f8d4 (
plain)
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
|
#ifndef __lcd_h
#define __lcd_h
#include <asm/types.h>
#include <lib/gdi/esize.h>
#include <lib/gdi/erect.h>
#define LCD_CONTRAST_MIN 0
#define LCD_CONTRAST_MAX 63
#define LCD_BRIGHTNESS_MIN 0
#define LCD_BRIGHTNESS_MAX 255
class eLCD
{
#ifdef SWIG
eLCD(eSize size);
~eLCD();
#else
protected:
eSize res;
unsigned char *_buffer;
int lcdfd;
int _stride;
int locked;
#endif
public:
int lock();
void unlock();
int islocked() { return locked; }
bool detected() { return lcdfd >= 0; }
#ifndef SWIG
eLCD(eSize size);
virtual ~eLCD();
__u8 *buffer() { return (__u8*)_buffer; }
int stride() { return _stride; }
eSize size() { return res; }
virtual void update()=0;
#endif
};
class eDBoxLCD: public eLCD
{
static eDBoxLCD *instance;
unsigned char inverted;
int is_oled;
#ifdef SWIG
eDBoxLCD();
~eDBoxLCD();
#endif
public:
#ifndef SWIG
eDBoxLCD();
~eDBoxLCD();
#endif
static eDBoxLCD *getInstance();
int setLCDContrast(int contrast);
int setLCDBrightness(int brightness);
void setInverted( unsigned char );
bool isOled() const { return !!is_oled; }
void update();
};
#endif
|