ESPHome 2025.9.0-dev
Loading...
Searching...
No Matches
esphome::font::Font Class Reference

#include <font.h>

Inheritance diagram for esphome::font::Font:
esphome::display::BaseFont

Public Member Functions

 Font (const GlyphData *data, int data_nr, int baseline, int height, int descender, int xheight, int capheight, uint8_t bpp=1)
 Construct the font with the given glyphs.
 
int match_next_glyph (const uint8_t *str, int *match_length)
 
void print (int x_start, int y_start, display::Display *display, Color color, const char *text, Color background) override
 
void measure (const char *str, int *width, int *x_offset, int *baseline, int *height) override
 
int get_baseline ()
 
int get_height ()
 
int get_ascender ()
 
int get_descender ()
 
int get_linegap ()
 
int get_xheight ()
 
int get_capheight ()
 
int get_bpp ()
 
const std::vector< Glyph, RAMAllocator< Glyph > > & get_glyphs () const
 
- Public Member Functions inherited from esphome::display::BaseFont

Protected Attributes

std::vector< Glyph, RAMAllocator< Glyph > > glyphs_
 
int baseline_
 
int height_
 
int descender_
 
int linegap_
 
int xheight_
 
int capheight_
 
uint8_t bpp_
 

Detailed Description

Definition at line 45 of file font.h.

Constructor & Destructor Documentation

◆ Font()

esphome::font::Font::Font ( const GlyphData * data,
int data_nr,
int baseline,
int height,
int descender,
int xheight,
int capheight,
uint8_t bpp = 1 )

Construct the font with the given glyphs.

Parameters
dataA vector of glyphs, must be sorted lexicographically.
data_nrThe number of glyphs in data.
baselineThe y-offset from the top of the text to the baseline.
heightThe y-offset from the top of the text to the bottom.
descenderThe y-offset from the baseline to the lowest stroke in the font (e.g. from letters like g or p).
xheightThe height of lowercase letters, usually measured at the "x" glyph.
capheightThe height of capital letters, usually measured at the "X" glyph.
bppThe bits per pixel used for this font. Used to read data out of the glyph bitmaps.

Definition at line 48 of file font.cpp.

Member Function Documentation

◆ get_ascender()

int esphome::font::Font::get_ascender ( )
inline

Definition at line 74 of file font.h.

◆ get_baseline()

int esphome::font::Font::get_baseline ( )
inline

Definition at line 72 of file font.h.

◆ get_bpp()

int esphome::font::Font::get_bpp ( )
inline

Definition at line 79 of file font.h.

◆ get_capheight()

int esphome::font::Font::get_capheight ( )
inline

Definition at line 78 of file font.h.

◆ get_descender()

int esphome::font::Font::get_descender ( )
inline

Definition at line 75 of file font.h.

◆ get_glyphs()

const std::vector< Glyph, RAMAllocator< Glyph > > & esphome::font::Font::get_glyphs ( ) const
inline

Definition at line 81 of file font.h.

◆ get_height()

int esphome::font::Font::get_height ( )
inline

Definition at line 73 of file font.h.

◆ get_linegap()

int esphome::font::Font::get_linegap ( )
inline

Definition at line 76 of file font.h.

◆ get_xheight()

int esphome::font::Font::get_xheight ( )
inline

Definition at line 77 of file font.h.

◆ match_next_glyph()

int esphome::font::Font::match_next_glyph ( const uint8_t * str,
int * match_length )

Definition at line 61 of file font.cpp.

◆ measure()

void esphome::font::Font::measure ( const char * str,
int * width,
int * x_offset,
int * baseline,
int * height )
overridevirtual

Implements esphome::display::BaseFont.

Definition at line 78 of file font.cpp.

◆ print()

void esphome::font::Font::print ( int x_start,
int y_start,
display::Display * display,
Color color,
const char * text,
Color background )
overridevirtual

Implements esphome::display::BaseFont.

Definition at line 110 of file font.cpp.

Field Documentation

◆ baseline_

int esphome::font::Font::baseline_
protected

Definition at line 85 of file font.h.

◆ bpp_

uint8_t esphome::font::Font::bpp_
protected

Definition at line 91 of file font.h.

◆ capheight_

int esphome::font::Font::capheight_
protected

Definition at line 90 of file font.h.

◆ descender_

int esphome::font::Font::descender_
protected

Definition at line 87 of file font.h.

◆ glyphs_

std::vector<Glyph, RAMAllocator<Glyph> > esphome::font::Font::glyphs_
protected

Definition at line 84 of file font.h.

◆ height_

int esphome::font::Font::height_
protected

Definition at line 86 of file font.h.

◆ linegap_

int esphome::font::Font::linegap_
protected

Definition at line 88 of file font.h.

◆ xheight_

int esphome::font::Font::xheight_
protected

Definition at line 89 of file font.h.


The documentation for this class was generated from the following files: