MAGE  v0.171.0
Matthias Advanced Game Engine
mage::rendering::loader::SpriteFontReader Class Reference

#include <font_reader.hpp>

Inheritance diagram for mage::rendering::loader::SpriteFontReader:
mage::BigEndianBinaryReader

Public Member Functions

 SpriteFontReader (ID3D11Device &device, SpriteFontOutput &output, const SpriteFontDescriptor &desc)
 
 SpriteFontReader (const SpriteFontReader &reader)=delete
 
 SpriteFontReader (SpriteFontReader &&reader) noexcept
 
 ~SpriteFontReader ()
 
SpriteFontReaderoperator= (const SpriteFontReader &reader)=delete
 
SpriteFontReaderoperator= (SpriteFontReader &&reader)=delete
 
void ReadFromFile (std::filesystem::path path)
 
void ReadFromMemory (gsl::span< const U8 > input)
 

Private Member Functions

virtual void ReadData () override
 
bool IsHeaderValid ()
 
void ReadTexture ()
 
- Private Member Functions inherited from mage::BigEndianBinaryReader
BigEndianBinaryReaderoperator= (const BigEndianBinaryReader &reader)=delete
 
BigEndianBinaryReaderoperator= (BigEndianBinaryReader &&reader) noexcept
 
void ReadFromFile (std::filesystem::path path)
 
void ReadFromMemory (gsl::span< const U8 > input)
 
 BigEndianBinaryReader ()
 
 BigEndianBinaryReader (const BigEndianBinaryReader &reader)=delete
 
 BigEndianBinaryReader (BigEndianBinaryReader &&reader) noexcept
 
 ~BigEndianBinaryReader ()
 
const std::filesystem::path & GetPath () const noexcept
 
bool ContainsChars () const noexcept
 
template<typename T >
const T Read ()
 
template<typename T >
const T * ReadArray (std::size_t count)
 

Private Attributes

ID3D11Device & m_device
 
SpriteFontOutputm_output
 
const SpriteFontDescriptorm_desc
 

Detailed Description

A class of readers for reading FONT files.

Constructor & Destructor Documentation

◆ SpriteFontReader() [1/3]

mage::rendering::loader::SpriteFontReader::SpriteFontReader ( ID3D11Device &  device,
SpriteFontOutput output,
const SpriteFontDescriptor desc 
)
explicit

Constructs a FONT reader.

Parameters
[in,out]deviceA reference to the device.
[in,out]outputA reference to the sprite font output.
[in]descA reference to the sprite font descriptor.

◆ SpriteFontReader() [2/3]

mage::rendering::loader::SpriteFontReader::SpriteFontReader ( const SpriteFontReader reader)
delete

Constructs a FONT reader from the given FONT reader.

Parameters
[in]readerA reference to the FONT reader to copy.

◆ SpriteFontReader() [3/3]

mage::rendering::loader::SpriteFontReader::SpriteFontReader ( SpriteFontReader &&  reader)
defaultnoexcept

Constructs a FONT reader by moving the given FONT reader.

Parameters
[in]readerA reference to the FONT reader to move.

◆ ~SpriteFontReader()

mage::rendering::loader::SpriteFontReader::~SpriteFontReader ( )
default

Destructs this FONT reader.

Member Function Documentation

◆ IsHeaderValid()

bool mage::rendering::loader::SpriteFontReader::IsHeaderValid ( )
private

Checks whether the header of the file is valid.

Returns
true if the header of the file is valid. false otherwise.
Exceptions
ExceptionFailed to read to the given file.

◆ operator=() [1/2]

SpriteFontReader& mage::rendering::loader::SpriteFontReader::operator= ( const SpriteFontReader reader)
delete

Copies the given FONT reader to this FONT reader.

Parameters
[in]readerA reference to a FONT reader to copy.
Returns
A reference to the copy of the given FONT reader (i.e. this FONT reader).

◆ operator=() [2/2]

SpriteFontReader& mage::rendering::loader::SpriteFontReader::operator= ( SpriteFontReader &&  reader)
delete

Moves the given FONT reader to this FONT reader.

Parameters
[in]readerA reference to a FONT reader to move.
Returns
A reference to the moved FONT reader (i.e. this FONT reader).

◆ ReadData()

void mage::rendering::loader::SpriteFontReader::ReadData ( )
overrideprivatevirtual

Starts reading.

Exceptions
ExceptionFailed to read from the given file.

Implements mage::BigEndianBinaryReader.

◆ ReadFromFile()

void mage::BigEndianBinaryReader::ReadFromFile

Reads from the file associated with the given path.

Parameters
[in]pathThe path.
Exceptions
ExceptionFailed to read from the file.

◆ ReadFromMemory()

void mage::BigEndianBinaryReader::ReadFromMemory

Reads the input string.

Parameters
[in]inputThe input byte string.
Exceptions
ExceptionFailed to read from the given input string.

◆ ReadTexture()

void mage::rendering::loader::SpriteFontReader::ReadTexture ( )
private

Reads a texture.

Exceptions
ExceptionFailed to read a texture.
ExceptionFailed to read to the given file.

Member Data Documentation

◆ m_desc

const SpriteFontDescriptor& mage::rendering::loader::SpriteFontReader::m_desc
private

A reference to the sprite font descriptor of this FONT reader.

◆ m_device

ID3D11Device& mage::rendering::loader::SpriteFontReader::m_device
private

A reference to the rendering device of this FONT reader.

◆ m_output

SpriteFontOutput& mage::rendering::loader::SpriteFontReader::m_output
private

A reference to the sprite font output of this FONT reader.