ProtoTracer  1.0
Real-time 3D rendering and animation engine
Loading...
Searching...
No Matches
TextEngine< lineCount, characterWidth > Class Template Reference

#include <TextEngine.h>

Inheritance diagram for TextEngine< lineCount, characterWidth >:
Collaboration diagram for TextEngine< lineCount, characterWidth >:

Public Member Functions

 TextEngine (bool isEfficient=false)
 
 TextEngine (Vector2D size, Vector2D position, uint16_t blinkTime, bool isEfficient=false)
 
void SetMaterial (Material *material)
 
void SetSize (Vector2D size)
 
void SetPositionOffset (Vector2D positionOffset)
 
void SetRotationOffset (Vector2D rotationOffset)
 
void SetRotationAngle (float rotationAngle)
 
void SetBlinkTime (uint16_t blinkTime)
 
void SetText (uint8_t line, String value, bool centerText=false)
 
void ClearText ()
 
RGBColor GetRGB (const Vector3D &position, const Vector3D &normal, const Vector3D &uvw) override
 Pure virtual function to calculate color based on surface parameters.
 
- Public Member Functions inherited from Material
virtual ~Material ()=default
 Virtual destructor for proper cleanup in derived classes.
 

Private Attributes

SimpleMaterial baseMaterial = SimpleMaterial(RGBColor(255, 255, 255))
 
Materialmaterial = &baseMaterial
 
RGBColor white = RGBColor(255, 255, 255)
 
RGBColor black = RGBColor(0, 0, 0)
 
Vector2D size
 
Vector2D positionOffset
 
Vector2D rotationOffset
 
float rotationAngle = 0.0f
 
char lines [lineCount][characterWidth]
 
uint16_t blinkTime
 
bool isEfficient = false
 

Additional Inherited Members

- Public Types inherited from Material
enum  Method {
  Base , Add , Subtract , Multiply ,
  Divide , Darken , Lighten , Screen ,
  Overlay , SoftLight , Replace , EfficientMask ,
  Bypass
}
 Defines blending methods for combining colors. More...
 

Detailed Description

template<uint8_t lineCount, uint8_t characterWidth>
class TextEngine< lineCount, characterWidth >

Definition at line 13 of file TextEngine.h.

Constructor & Destructor Documentation

◆ TextEngine() [1/2]

template<uint8_t lineCount, uint8_t characterWidth>
TextEngine ( bool  isEfficient = false)

◆ TextEngine() [2/2]

template<uint8_t lineCount, uint8_t characterWidth>
TextEngine ( Vector2D  size,
Vector2D  position,
uint16_t  blinkTime,
bool  isEfficient = false 
)

Member Function Documentation

◆ ClearText()

template<uint8_t lineCount, uint8_t characterWidth>
void ClearText ( )

◆ GetRGB()

template<uint8_t lineCount, uint8_t characterWidth>
RGBColor GetRGB ( const Vector3D position,
const Vector3D normal,
const Vector3D uvw 
)
overridevirtual

Pure virtual function to calculate color based on surface parameters.

Parameters
positionThe position in 3D space.
normalThe normal vector at the position.
uvwThe UVW texture coordinates.
Returns
The computed color as RGBColor.

Implements Material.

Referenced by Clock::GetRGB().

◆ SetBlinkTime()

template<uint8_t lineCount, uint8_t characterWidth>
void SetBlinkTime ( uint16_t  blinkTime)

◆ SetMaterial()

template<uint8_t lineCount, uint8_t characterWidth>
void SetMaterial ( Material material)

◆ SetPositionOffset()

template<uint8_t lineCount, uint8_t characterWidth>
void SetPositionOffset ( Vector2D  positionOffset)

◆ SetRotationAngle()

template<uint8_t lineCount, uint8_t characterWidth>
void SetRotationAngle ( float  rotationAngle)

◆ SetRotationOffset()

template<uint8_t lineCount, uint8_t characterWidth>
void SetRotationOffset ( Vector2D  rotationOffset)

Referenced by Menu::SetRotationOffset().

◆ SetSize()

template<uint8_t lineCount, uint8_t characterWidth>
void SetSize ( Vector2D  size)

Referenced by Menu::SetSize(), and Clock::SetSize().

◆ SetText()

template<uint8_t lineCount, uint8_t characterWidth>
void SetText ( uint8_t  line,
String  value,
bool  centerText = false 
)

Member Data Documentation

◆ baseMaterial

template<uint8_t lineCount, uint8_t characterWidth>
SimpleMaterial baseMaterial = SimpleMaterial(RGBColor(255, 255, 255))
private

Definition at line 15 of file TextEngine.h.

◆ black

template<uint8_t lineCount, uint8_t characterWidth>
RGBColor black = RGBColor(0, 0, 0)
private

Definition at line 18 of file TextEngine.h.

◆ blinkTime

template<uint8_t lineCount, uint8_t characterWidth>
uint16_t blinkTime
private

Definition at line 24 of file TextEngine.h.

◆ isEfficient

template<uint8_t lineCount, uint8_t characterWidth>
bool isEfficient = false
private

Definition at line 25 of file TextEngine.h.

◆ lines

template<uint8_t lineCount, uint8_t characterWidth>
char lines[lineCount][characterWidth]
private

Definition at line 23 of file TextEngine.h.

◆ material

template<uint8_t lineCount, uint8_t characterWidth>
Material* material = &baseMaterial
private

Definition at line 16 of file TextEngine.h.

◆ positionOffset

template<uint8_t lineCount, uint8_t characterWidth>
Vector2D positionOffset
private

Definition at line 20 of file TextEngine.h.

◆ rotationAngle

template<uint8_t lineCount, uint8_t characterWidth>
float rotationAngle = 0.0f
private

Definition at line 22 of file TextEngine.h.

◆ rotationOffset

template<uint8_t lineCount, uint8_t characterWidth>
Vector2D rotationOffset
private

Definition at line 21 of file TextEngine.h.

◆ size

template<uint8_t lineCount, uint8_t characterWidth>
Vector2D size
private

Definition at line 19 of file TextEngine.h.

◆ white

template<uint8_t lineCount, uint8_t characterWidth>
RGBColor white = RGBColor(255, 255, 255)
private

Definition at line 17 of file TextEngine.h.


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