#ifndef _OSWALD_GRAPHICS_H #define _OSWALD_GRAPHICS_H #include "oswald.h" #include "oswald_strings.h" #include "oswald_fonts.h" #include "oswald_graphics.h" #define COLOR_WHITE 0 #define COLOR_BLACK 1 #define COLOR_XOR 2 #define COLOR_INV 3 #define oswald_draw_pixel(xstart, ystart, color) \ hal_lcd_set_pixel(xstart, ystart, color) void oswald_draw_bitmap_opts(const unsigned int xstart, const unsigned int ystart, const unsigned int xoff, const unsigned int yoff, const unsigned int width, const unsigned int height, const boolean fg, const unsigned int bmp_width, const unsigned int bmp_height, const void *bmp); #define oswald_draw_bitmap(x,y,w,h,fg, d) \ oswald_draw_bitmap_opts(x,y,0,0,w,h,fg,w,h,d) #define oswald_draw_bitmap_size(x, y, w, h, bw, bh, fg, d) \ oswald_draw_bitmap_opts(x,y,0,0,w,h,fg,bw,bh,d) void oswald_draw_line(const uint8_t xstart, const uint8_t ystart, const uint8_t xend, const uint8_t yend, const uint8_t fg); void oswald_draw_line_ww(const uint8_t xstart, const uint8_t ystart, const uint8_t xend, const uint8_t yend, const uint8_t fg, const uint8_t thickness); uint8_t oswald_write_character(const uint8_t x, const uint8_t y, const oswald_font_face face, const boolean invert, const uint8_t Character); void oswald_write_string(const uint8_t x, const uint8_t y, const oswald_font_face face, const boolean invert, char *str); uint8_t oswald_write_string_length(const uint8_t x, const uint8_t y, const uint8_t len, const oswald_font_face face, const boolean invert, char *str); void oswald_write_number(const uint8_t x, const uint8_t y, const oswald_font_face face, const boolean invert, const int16_t number); void oswald_draw_rect(const unsigned int x1, const unsigned int y1, const unsigned int x2, const unsigned int y2, const uint8_t color); void oswald_draw_font58(const unsigned int x1, unsigned int y1, const uint8_t character, int *width, const uint8_t fg, const uint8_t bg); void oswald_writestr_font58(const unsigned int x1, unsigned int y1, const char *str, int *width, const uint8_t fg, const uint8_t bg); int oswald_getwidth_font58(char *str); void oswald_draw_font58_scaled(const unsigned int x1, unsigned int y1, const uint8_t character, int *width, const uint8_t fg, const uint8_t bg,const unsigned int scalex,const unsigned int scaley); void oswald_writestr_font58_scaled(const unsigned int x1, unsigned int y1, const char *str, int *width, const uint8_t fg, const uint8_t bg,const unsigned int scalex,const unsigned int scaley); int oswald_getwidth_font58_scaled(char *str, int scalex, int scaley); void oswald_draw_microdigit(const unsigned int x1, unsigned int y1, const uint8_t character, int *width, const uint8_t fg, const uint8_t bg); void oswald_draw_tinydigit(const unsigned int x1, unsigned int y1, const uint8_t character, int *width, const uint8_t fg, const uint8_t bg); void oswald_draw_bigdigit(const unsigned int x1, unsigned int y1, const uint8_t character, int *width, const uint8_t fg, const uint8_t bg); void oswald_draw_grid(const unsigned int x1, const unsigned int y1, const unsigned int x2, const unsigned int y2, const unsigned int ix, const unsigned int iy); #endif