Subversion Repositories libOLED

Rev

Rev 4 | Rev 17 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4 Rev 13
Line 8... Line 8...
8
  /// \param height - pixel character height
8
  /// \param height - pixel character height
9
  /// \param width  - pixel character width
9
  /// \param width  - pixel character width
10
  /// \param spacing - character to character spacing
10
  /// \param spacing - character to character spacing
11
  /// \param chars  - number of characters in character set
11
  /// \param chars  - number of characters in character set
12
  /// \param data - constant data
12
  /// \param data - constant data
13
  font_t (uint8_t const height, uint8_t const width,
13
  font_t(uint8_t const height, uint8_t const width,
14
          uint8_t const spacing, uint8_t const chars,
14
         uint8_t const spacing, uint8_t const chars,
15
          char const *data) :
-
 
16
      m_height (height), m_width (width), m_spacing (spacing), m_chars (chars), m_data (
15
         char const *data) : m_height(height), m_width(width), m_spacing(spacing), m_chars(chars), m_data(data)
17
          data)
-
 
18
  {
16
  {
19
  }
17
  }
20
 
18
 
21
  virtual char
19
  virtual char
22
  getPixel (char c, int x, int y) =0;
20
  getPixel(char c, int x, int y) = 0;
23
 
21
 
24
  // character width
22
  // character width
25
  uint8_t
23
  uint8_t
26
  width ()
24
  width()
27
  {
25
  {
28
    return m_width;
26
    return m_width;
29
  }
27
  }
30
 
28
 
31
  // character height
29
  // character height
32
  uint8_t
30
  uint8_t
33
  height ()
31
  height()
34
  {
32
  {
35
    return m_height;
33
    return m_height;
36
  }
34
  }
37
 
35
 
38
  uint8_t
36
  uint8_t
39
  chars ()
37
  chars()
40
  {
38
  {
41
    return m_chars;
39
    return m_chars;
42
  }
40
  }
43
 
41
 
44
  uint8_t
42
  uint8_t
45
  spacing ()
43
  spacing()
46
  {
44
  {
47
    return m_spacing;
45
    return m_spacing;
48
  }
46
  }
-
 
47
 
49
protected:
48
protected:
-
 
49
  /// @brief Pixel height
50
  uint8_t const m_height;
50
  uint8_t const m_height;
-
 
51
  /// @brief Bitmap width
51
  uint8_t const m_width;
52
  uint8_t const m_width;
-
 
53
  /// @brief Spacing between characters
52
  uint8_t const m_spacing;
54
  uint8_t const m_spacing;
-
 
55
  /// @brief Number of characters in the character set bit map
53
  uint8_t const m_chars;
56
  uint8_t const m_chars;
54
  char const *m_data;
57
  char const *m_data;
55
};
58
};
56
 
59
 
57
class font5x7_t : public font_t
60
class font5x7_t : public font_t
58
{
61
{
59
public:
62
public:
60
  font5x7_t (char const *data) :
63
  // one byte of pixels per character row.
61
      font_t (7, 5, 6, 96, data)
64
  font5x7_t(unsigned char_count, char const *data) : font_t(7, 5, 6, char_count, data){};
62
  {
-
 
63
  }
-
 
64
  ;
-
 
65
 
65
 
66
  char
66
  char
67
  getPixel (char c, int x, int y) override;
67
  getPixel(char c, int x, int y) override;
68
 
-
 
69
};
68
};
70
 
69
 
71
class font10x18_t : public font_t
70
class font10x18_t : public font_t
72
{
71
{
73
public:
72
public:
74
  font10x18_t (char const *data) :
73
  // XBM format
75
      font_t (18, 10, 10, 96, data)
74
  font10x18_t(unsigned char_count, char const *data) : font_t(18, 10, 10, char_count, data){};
76
  {
-
 
77
  }
-
 
78
  ;
-
 
79
 
75
 
80
  char
76
  char
81
  getPixel (char c, int x, int y) override;
77
  getPixel(char c, int x, int y) override;
82
};
78
};
83
 
79
 
84
// defined fonts
80
// defined fonts
85
// original 5x7
81
// original 5x7
86
extern font5x7_t small_font;
82
extern font5x7_t small_font;