NiboRoboLib 3.3 - NIBO Library
NIBO_GFX.h
gehe zur Dokumentation dieser Datei
1 /*
2  NIBO2 library for ARDUINO
3  License: BSD-License
4  (c) 2013 by Nils Springob, nicai-systems
5 */
6 
14 #ifndef __NIBO_GFX_H__
15 #define __NIBO_GFX_H__
16 
17 #ifdef ARDUINO
18 #include <Print.h>
19 #else
20 class Print {
21  virtual size_t write(uint8_t) {return 0;}
22  virtual size_t write(const uint8_t *buffer, size_t size) {return 0;}
23 };
24 #endif
25 
26 
27 enum {
28  GFX_JAM1 = 0,
29  GFX_JAM2 = 1,
30  GFX_COMP = 2,
31  GFX_JAM1_INV = 4,
32  GFX_JAM2_INV = 5,
33  GFX_COMP_INV = 6
34 };
35 
36 
37 
38 class GFX_term: public Print {
39  public:
43  virtual size_t write(uint8_t);
44 
50  virtual size_t write(const uint8_t *buffer, size_t size);
51 
55  void clear();
56 
60  void clearLine();
61 
65  void home();
66 
72  void cursor(unsigned char col, unsigned char row);
73 
79  void cursorRel(signed char col, signed char row);
80 
85  void cursorCol(unsigned char col);
86 
91  void cursorRow(unsigned char row);
92 
97  void scroll(unsigned char lines);
98 };
99 
100 class GFX_class: public Print {
101  public:
102  GFX_term term;
103 
104  GFX_class();
105 
110  void begin();
111 
115  virtual size_t write(uint8_t);
116 
122  virtual size_t write(const uint8_t *buffer, size_t size);
123 
127  unsigned char get_x();
128 
132  unsigned char get_y();
133 
139  void move(unsigned char x, unsigned char y);
140 
145  void draw_mode(unsigned char mode);
146 
151  void fill(unsigned char val);
152 
158  unsigned char char_width(char ch);
159 
165  unsigned char text_width(const char *txt);
166 
172  //unsigned char text_width_P(PGM_P txt);
173 
178  void print_char(char c);
179 
184  void print_text(const char *txt);
185 
190  //void print_text_P(PGM_P txt);
191 
198  void draw_xbm(unsigned char width, unsigned char height, unsigned char * data);
199 
206  //void draw_xbm_P(unsigned char width, unsigned char height, PGM_P data);
207 
212  void set_proportional(unsigned char prop);
213 
218  unsigned char get_proportional(void);
219 
224  void hline(unsigned char length);
225 
230  void vline(unsigned char length);
231 
237  void box(unsigned char width, unsigned char height);
238 
244  void lineTo(unsigned char x, unsigned char y);
245 
250  void pixel(unsigned char value);
251 
252 };
253 
254 
255 extern GFX_class GFX;
256 
257 
258 
259 #endif
260 
261 
void clearLine()
unsigned char text_width(const char *txt)
void cursorCol(unsigned char col)
void cursorRel(signed char col, signed char row)
void clear()
unsigned char get_y()
Definition: NIBO_GFX.h:38
void draw_mode(unsigned char mode)
void cursor(unsigned char col, unsigned char row)
void draw_xbm(unsigned char width, unsigned char height, unsigned char *data)
void print_text(const char *txt)
void print_char(char c)
Definition: NIBO_GFX.h:20
void lineTo(unsigned char x, unsigned char y)
void vline(unsigned char length)
unsigned char get_x()
virtual size_t write(uint8_t)
void box(unsigned char width, unsigned char height)
virtual size_t write(uint8_t)
void begin()
void cursorRow(unsigned char row)
void hline(unsigned char length)
void home()
void pixel(unsigned char value)
void fill(unsigned char val)
unsigned char get_proportional(void)
Definition: NIBO_GFX.h:100
void move(unsigned char x, unsigned char y)
void scroll(unsigned char lines)
unsigned char char_width(char ch)
void set_proportional(unsigned char prop)