LCDGFX LCD display driver  1.2.0
Lightweight graphics library for SSD1306, SSD1325, SSD1327, SSD1331, SSD1351, SH1106, SH1107, IL9163, ST7735, ST7789, ILI9341, PCD8544 displays over I2C/SPI
NanoDisplayBase< I > Class Template Reference

Class implements basic display operations for the library: It stores reference to communication interafce, display size, etc. More...

#include <display_base.h>

Inheritance diagram for NanoDisplayBase< I >:
Collaboration diagram for NanoDisplayBase< I >:

Public Member Functions

 NanoDisplayBase (I &intf)
 Creates new empty base display object. More...
 
const NanoPoint offsetEnd () const
 Returns right-bottom point of the canvas in offset terms. More...
 
const NanoRect rect () const
 Returns rectangle area, covered by canvas in offset terms. More...
 
lcduint_t width ()
 Returns width of the display in pixels.
 
lcduint_t height ()
 Returns height of the display in pixels.
 
void swapDimensions ()
 Swaps width and height dimensions.
 
void setColor (uint16_t color)
 Sets color. More...
 
uint16_t getColor ()
 Returns currently set color.
 
void setBackground (uint16_t color)
 Sets background color. More...
 
void invertColors ()
 Changes foreground and background colors.
 
I & getInterface ()
 Returns reference to interface communicator. More...
 
void setFont (NanoFont &font)
 Sets new font to use with print functions. More...
 
void setFontSpacing (uint8_t spacing)
 Sets spacing for currently active font. More...
 
NanoFontgetFont ()
 Returns reference to NanoFont object, currently used by Display.
 
void setFixedFont (const uint8_t *progmemFont)
 Sets new font to use with print functions. More...
 
void setFixedFont (const uint8_t *progmemFont, const uint8_t *secondaryFont)
 Sets new font to use with print functions. More...
 
void setFreeFont (const uint8_t *progmemFont, const uint8_t *secondaryFont=nullptr)
 Sets new font to use with print functions. More...
 
void setTextCursor (lcdint_t x, lcdint_t y)
 Function sets text cursor position for write() functions. More...
 

Protected Attributes

lcduint_t m_w = 0
 width of NanoCanvas area in pixels
 
lcduint_t m_h = 0
 height of NanoCanvas area in pixels
 
lcduint_t m_p = 0
 number of bits, used by width value: 3 equals to 8 pixels width
 
lcdint_t m_cursorX = 0
 current X cursor position for text output
 
lcdint_t m_cursorY = 0
 current Y cursor position for text output
 
uint8_t m_textMode = 0
 Flags for current NanoCanvas mode.
 
EFontStyle m_fontStyle = STYLE_NORMAL
 currently active font style
 
uint16_t m_color = 0xFFFF
 current foreground color
 
uint16_t m_bgColor = 0x0000
 current background color
 
NanoFontm_font = nullptr
 currently set font
 
I & m_intf
 communication interface with the display
 

Detailed Description

template<class I>
class NanoDisplayBase< I >

Class implements basic display operations for the library: It stores reference to communication interafce, display size, etc.

Definition at line 55 of file display_base.h.

Constructor & Destructor Documentation

◆ NanoDisplayBase()

template<class I>
NanoDisplayBase< I >::NanoDisplayBase ( I &  intf)
inlineexplicit

Creates new empty base display object.

If you this constructor is used, you must call begin() method before working with canvas.

Definition at line 63 of file display_base.h.

Member Function Documentation

◆ getInterface()

template<class I>
I& NanoDisplayBase< I >::getInterface ( )
inline

Returns reference to interface communicator.

This interface can be used to use display hardware related features.

Definition at line 162 of file display_base.h.

◆ offsetEnd()

template<class I>
const NanoPoint NanoDisplayBase< I >::offsetEnd ( ) const
inline

Returns right-bottom point of the canvas in offset terms.

If offset is (0,0), then offsetEnd() will return (width-1,height-1).

Definition at line 81 of file display_base.h.

◆ rect()

template<class I>
const NanoRect NanoDisplayBase< I >::rect ( ) const
inline

Returns rectangle area, covered by canvas in offset terms.

If offset is (0,0), then rect() will return ((0,0),(width-1,height-1))

Definition at line 90 of file display_base.h.

◆ setBackground()

template<class I>
void NanoDisplayBase< I >::setBackground ( uint16_t  color)
inline

Sets background color.

Parameters
colorcolor to set (refer to RGB_COLOR8, RGB_COLOR16 definition)

Definition at line 142 of file display_base.h.

◆ setColor()

template<class I>
void NanoDisplayBase< I >::setColor ( uint16_t  color)
inline

Sets color.

Parameters
color- color to set (refer to RGB_COLOR8, RGB_COLOR16 definition)

Definition at line 125 of file display_base.h.

◆ setFixedFont() [1/2]

template<class I>
void NanoDisplayBase< I >::setFixedFont ( const uint8_t *  progmemFont)
inline

Sets new font to use with print functions.

If multiple oled displays are used in single application, this method can cause conflicts.

Warning
use this method only if single display is used in project
Parameters
progmemFontpointer to font data in flash (refer to NanoFont::loadFixedFont)

Definition at line 209 of file display_base.h.

◆ setFixedFont() [2/2]

template<class I>
void NanoDisplayBase< I >::setFixedFont ( const uint8_t *  progmemFont,
const uint8_t *  secondaryFont 
)
inline

Sets new font to use with print functions.

If multiple oled displays are used in single application, this method can cause conflicts.

Warning
use this method only if single display is used in project
Parameters
progmemFontpointer to font data in flash (refer to NanoFont::loadFixedFont)
secondaryFontpointer to font data in flash (refer to NanoFont::loadSecondaryFont)

Definition at line 233 of file display_base.h.

◆ setFont()

template<class I>
void NanoDisplayBase< I >::setFont ( NanoFont font)
inline

Sets new font to use with print functions.

If multiple oled displays are used in single application, this method allows to use different fonts for different displays.

Parameters
fontreference to font object (NanoFont)

Definition at line 175 of file display_base.h.

◆ setFontSpacing()

template<class I>
void NanoDisplayBase< I >::setFontSpacing ( uint8_t  spacing)
inline

Sets spacing for currently active font.

The same can be done via getFont().setSpacing(), but this method is more safe since it checks if font is set.

Parameters
spacingspacing in pixels

Definition at line 186 of file display_base.h.

◆ setFreeFont()

template<class I>
void NanoDisplayBase< I >::setFreeFont ( const uint8_t *  progmemFont,
const uint8_t *  secondaryFont = nullptr 
)
inline

Sets new font to use with print functions.

If multiple oled displays are used in single application, this method can cause conflicts.

Warning
use this method only if single display is used in project
Parameters
progmemFontpointer to font data in flash (refer to NanoFont::loadFreeFont)
secondaryFontpointer to font data in flash (refer to NanoFont::loadSecondaryFont)

Definition at line 253 of file display_base.h.

◆ setTextCursor()

template<class I>
void NanoDisplayBase< I >::setTextCursor ( lcdint_t  x,
lcdint_t  y 
)
inline

Function sets text cursor position for write() functions.

Parameters
xhorizontal position in pixels
yvertical position in pixels

Definition at line 269 of file display_base.h.


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