Hanna
Sourcecode Batteriemanagementsystem
gfx_generic.h
gehe zur Dokumentation dieser Datei
1 
45 /*
46  * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a>
47  */
48 #ifndef GFX_GENERIC_H_INCLUDED
49 #define GFX_GENERIC_H_INCLUDED
50 
51 #ifdef __cplusplus
52 extern "C" {
53 #endif
54 
55 #define SWAP_MSB_LSB 1
56 #define NO_SWAP_MSB_LSB 0
57 
78 };
79 
83 struct gfx_bitmap {
89  uint8_t swap;
92  union {
98  gfx_color_t PROGMEM_PTR_T progmem;
100  void* custom;
101  } data;
102 };
103 
113 typedef void (*gfx_ext_draw_handler_t)(
114  struct gfx_bitmap const *bmp,
115  gfx_coord_t map_x, gfx_coord_t map_y,
116  gfx_coord_t x, gfx_coord_t y);
117 
120  gfx_coord_t x2, gfx_coord_t y2,
122 
127 
130  gfx_coord_t radius, gfx_color_t color,
131  uint8_t octant_mask);
132 
135  gfx_coord_t radius, gfx_color_t color,
136  uint8_t quadrant_mask);
137 
140  gfx_coord_t map_x, gfx_coord_t map_y,
143 
146  gfx_coord_t map_x, gfx_coord_t map_y,
149 
151 void gfx_generic_put_bitmap(const struct gfx_bitmap *bmp,
152  gfx_coord_t map_x, gfx_coord_t map_y,
155 
157 void gfx_generic_draw_bitmap_tiled(const struct gfx_bitmap *bmp, gfx_coord_t x1,
159  gfx_coord_t tile_origin_x, gfx_coord_t tile_origin_y);
160 
163 
166  gfx_coord_t x, gfx_coord_t y, gfx_coord_t length,
168 {
169  gfx_draw_filled_rect(x, y, length, 1, color);
170 }
171 
175 {
176  gfx_draw_filled_rect(x, y, 1, length, color);
177 }
178 
183 {
184  gfx_draw_horizontal_line(x, y, width, color);
185  gfx_draw_horizontal_line(x, y + height - 1, width, color);
186  gfx_draw_vertical_line(x, y, height, color);
187  gfx_draw_vertical_line(x + width - 1, y, height, color);
188 }
189 
192  const struct gfx_bitmap *bmp, gfx_coord_t x,
193  gfx_coord_t y)
194 {
195  gfx_put_bitmap(bmp, 0, 0, x, y, bmp->width, bmp->height);
196 }
197 
200  void)
201 {
202 
203 }
204 
207 #ifdef __cplusplus
208 }
209 #endif
210 
211 #endif /* GFX_GENERIC_H_INCLUDED */
Storage structure for bitmap pixel data and metadata.
Definition: gfx_generic.h:83
#define gfx_put_bitmap(bmp, map_x, map_y, x, y, width, height)
Definition: gfx_ili9341.h:216
static __always_inline void gfx_generic_sync(void)
Definition: gfx_generic.h:199
uint8_t swap
Definition: gfx_generic.h:89
void gfx_generic_put_pixmap(const gfx_color_t *pixmap, gfx_coord_t map_width, gfx_coord_t map_x, gfx_coord_t map_y, gfx_coord_t x, gfx_coord_t y, gfx_coord_t width, gfx_coord_t height)
Definition: gfx_generic.c:495
#define gfx_draw_horizontal_line(x, y, length, color)
Definition: gfx_ili9341.h:150
void gfx_generic_get_pixmap(gfx_color_t *pixmap, gfx_coord_t map_width, gfx_coord_t map_x, gfx_coord_t map_y, gfx_coord_t x, gfx_coord_t y, gfx_coord_t width, gfx_coord_t height)
Definition: gfx_generic.c:395
enum gfx_bitmap_type type
Definition: gfx_generic.h:91
gfx_color_t color
Definition: gfx_generic.h:94
static __always_inline void gfx_generic_draw_rect(gfx_coord_t x, gfx_coord_t y, gfx_coord_t width, gfx_coord_t height, gfx_color_t color)
Definition: gfx_generic.h:180
gfx_bitmap_type
Valid bitmap types.
Definition: gfx_generic.h:69
void gfx_generic_set_ext_handler(gfx_ext_draw_handler_t gfx_ext_draw)
Definition: gfx_generic.c:818
void(* gfx_ext_draw_handler_t)(struct gfx_bitmap const *bmp, gfx_coord_t map_x, gfx_coord_t map_y, gfx_coord_t x, gfx_coord_t y)
Function pointer type for external bitmap draw handlers.
Definition: gfx_generic.h:113
gfx_coord_t height
Definition: gfx_generic.h:87
void gfx_generic_draw_bitmap_tiled(const struct gfx_bitmap *bmp, gfx_coord_t x1, gfx_coord_t y1, gfx_coord_t x2, gfx_coord_t y2, gfx_coord_t tile_origin_x, gfx_coord_t tile_origin_y)
Definition: gfx_generic.c:595
void gfx_generic_draw_filled_rect(gfx_coord_t x, gfx_coord_t y, gfx_coord_t width, gfx_coord_t height, gfx_color_t color)
Definition: gfx_generic.c:97
gfx_color_t PROGMEM_PTR_T progmem
Definition: gfx_generic.h:98
ili9341_coord_t gfx_coord_t
Data type representing a coordinate on the screen.
Definition: gfx_ili9341.h:58
gfx_color_t * pixmap
Definition: gfx_generic.h:96
void gfx_generic_draw_line(gfx_coord_t x1, gfx_coord_t y1, gfx_coord_t x2, gfx_coord_t y2, gfx_color_t color)
Definition: gfx_generic.c:167
void gfx_generic_draw_filled_circle(gfx_coord_t x, gfx_coord_t y, gfx_coord_t radius, gfx_color_t color, uint8_t quadrant_mask)
Definition: gfx_generic.c:333
static __always_inline void gfx_generic_draw_bitmap(const struct gfx_bitmap *bmp, gfx_coord_t x, gfx_coord_t y)
Definition: gfx_generic.h:191
#define gfx_draw_filled_rect(x, y, width, height, color)
Definition: gfx_ili9341.h:178
gfx_coord_t width
Definition: gfx_generic.h:85
void * custom
Definition: gfx_generic.h:100
static __always_inline void gfx_generic_draw_horizontal_line(gfx_coord_t x, gfx_coord_t y, gfx_coord_t length, gfx_color_t color)
Definition: gfx_generic.h:165
static __always_inline void gfx_generic_draw_vertical_line(gfx_coord_t x, gfx_coord_t y, gfx_coord_t length, gfx_color_t color)
Definition: gfx_generic.h:173
ili9341_color_t gfx_color_t
Data type for color values native to the display.
Definition: gfx_ili9341.h:57
void gfx_generic_draw_circle(gfx_coord_t x, gfx_coord_t y, gfx_coord_t radius, gfx_color_t color, uint8_t octant_mask)
Definition: gfx_generic.c:255
#define gfx_draw_vertical_line(x, y, length, color)
Definition: gfx_ili9341.h:157
void gfx_generic_put_bitmap(const struct gfx_bitmap *bmp, gfx_coord_t map_x, gfx_coord_t map_y, gfx_coord_t x, gfx_coord_t y, gfx_coord_t width, gfx_coord_t height)
Definition: gfx_generic.c:645
#define __always_inline
The function should always be inlined.
Definition: compiler.h:127