Canvas graphics library  0.1.0
This library is developed to perform canvas graphics in memory buffers
Classes | Macros | Typedefs | Enumerations
canvas_types.h File Reference
#include "canvas/UserSettings.h"
#include <stdint.h>
#include <stddef.h>

Go to the source code of this file.

Classes

struct  SFontHeaderRecord
 
struct  SFixedFontInfo
 
struct  SCharInfo
 
struct  SAppMenu
 

Macros

#define SSD1306_MORE_CHARS_REQUIRED   0xffff
 
#define RGB_COLOR8(r, g, b)   ( (r & 0xE0) | ((g >> 3)&0x1C) | (b>>6) )
 
#define GRAY_COLOR4(gray)   ( ((gray >> 4) & 0x0F) | (gray & 0xF0) )
 
#define RGB_COLOR4(r, g, b)   ( (r >> 2) + (g >> 1) + (b >> 2) )
 
#define RGB8_TO_GRAY4(rgb)   ( (rgb >> 6) + ((rgb >> 2) & 0x07) + (rgb & 0x03) )
 
#define RGB_COLOR16(r, g, b)   ( ((r<<8) & 0xF800) | ((g << 3)&0x07E0) | (b>>3) )
 
#define RGB8_TO_RGB16(c)
 
#define RGB16_TO_RGB8(c)
 

Typedefs

typedef int8_t lcdint_t
 
typedef uint8_t lcduint_t
 

Enumerations

enum  EFontStyle { STYLE_NORMAL, STYLE_BOLD, STYLE_ITALIC }
 
enum  { CANVAS_MODE_BASIC = 0x00, CANVAS_TEXT_WRAP = 0x01, CANVAS_MODE_TRANSPARENT = 0x02, CANVAS_TEXT_WRAP_LOCAL = 0x04 }
 
enum  EFontSize { FONT_SIZE_NORMAL = 0, FONT_SIZE_2X = 1, FONT_SIZE_4X = 2, FONT_SIZE_8X = 3 }
 

Detailed Description

Basic structures of canvas gfx library

Definition in file canvas_types.h.

Macro Definition Documentation

◆ GRAY_COLOR4

#define GRAY_COLOR4 (   gray)    ( ((gray >> 4) & 0x0F) | (gray & 0xF0) )

Macro to generate 4-bit monochrome color from gray component

Definition at line 55 of file canvas_types.h.

◆ RGB16_TO_RGB8

#define RGB16_TO_RGB8 (   c)
Value:
( ((uint16_t)(c >> 8) & 0b11100000) | \
((uint16_t)(c >> 6) & 0b00011100) | \
((uint16_t)(c >> 3) & 0b00000011) )

Macro to convert 5-6-5 color to 3-3-2 color

Definition at line 72 of file canvas_types.h.

◆ RGB8_TO_GRAY4

#define RGB8_TO_GRAY4 (   rgb)    ( (rgb >> 6) + ((rgb >> 2) & 0x07) + (rgb & 0x03) )

Macro to convert 8-bit RGB to 4-bit monochrome format

Definition at line 61 of file canvas_types.h.

◆ RGB8_TO_RGB16

#define RGB8_TO_RGB16 (   c)
Value:
( (((uint16_t)c & 0b11100000) << 8) | \
(((uint16_t)c & 0b00011100) << 6) | \
(((uint16_t)c & 0b00000011) << 3) )

Macro to convert 3-3-2 color to 5-6-5 color

Definition at line 67 of file canvas_types.h.

◆ RGB_COLOR16

#define RGB_COLOR16 (   r,
  g,
 
)    ( ((r<<8) & 0xF800) | ((g << 3)&0x07E0) | (b>>3) )

Macro to generate 16-bit RGB color

Definition at line 64 of file canvas_types.h.

◆ RGB_COLOR4

#define RGB_COLOR4 (   r,
  g,
 
)    ( (r >> 2) + (g >> 1) + (b >> 2) )

Macro to generate 4-bit monochrome color from RGB

Definition at line 58 of file canvas_types.h.

◆ RGB_COLOR8

#define RGB_COLOR8 (   r,
  g,
 
)    ( (r & 0xE0) | ((g >> 3)&0x1C) | (b>>6) )

Macro to generate 8-bit color

Definition at line 52 of file canvas_types.h.

◆ SSD1306_MORE_CHARS_REQUIRED

#define SSD1306_MORE_CHARS_REQUIRED   0xffff

Flag means that more chars are required to decode utf-8

Definition at line 43 of file canvas_types.h.

Typedef Documentation

◆ lcdint_t

typedef int8_t lcdint_t

internal int type, used by the library. Important for uC with low SRAM

Definition at line 79 of file canvas_types.h.

◆ lcduint_t

typedef uint8_t lcduint_t

internal int type, used by the library. Important for uC with low SRAM

Definition at line 81 of file canvas_types.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
CANVAS_TEXT_WRAP 

If the flag is specified, text cursor is moved to new line when end of screen is reached

CANVAS_MODE_TRANSPARENT 

This flag make bitmaps transparent (Black color)

CANVAS_TEXT_WRAP_LOCAL 

If the flag is specified, text cursor is moved to new line when end of canvas is reached

Definition at line 97 of file canvas_types.h.

◆ EFontSize

enum EFontSize

Supported scale font values

Definition at line 109 of file canvas_types.h.

◆ EFontStyle

enum EFontStyle

Supported font styles

Definition at line 90 of file canvas_types.h.