openMSX
Public Member Functions | List of all members
openmsx::ConsoleLine Class Reference

This class represents a single text line in the console. More...

#include <CommandConsole.hh>

Public Member Functions

 ConsoleLine ()=default
 Construct empty line. More...
 
 ConsoleLine (std::string line, uint32_t rgb=0xffffff)
 Construct line with a single color (by default white). More...
 
void addChunk (std::string_view text, uint32_t rgb)
 Append a chunk with a (different) color. More...
 
size_t numChars () const
 Get the number of UTF8 characters in this line. More...
 
const std::string & str () const
 Get the total string, ignoring color differences. More...
 
size_t numChunks () const
 Get the number of different chunks. More...
 
uint32_t chunkColor (size_t i) const
 Get the color for the i-th chunk. More...
 
std::string_view chunkText (size_t i) const
 Get the text for the i-th chunk. More...
 
const auto & getChunks () const
 

Detailed Description

This class represents a single text line in the console.

The line can have several chunks with different colors.

Definition at line 22 of file CommandConsole.hh.

Constructor & Destructor Documentation

◆ ConsoleLine() [1/2]

openmsx::ConsoleLine::ConsoleLine ( )
default

Construct empty line.

◆ ConsoleLine() [2/2]

openmsx::ConsoleLine::ConsoleLine ( std::string  line,
uint32_t  rgb = 0xffffff 
)
explicit

Construct line with a single color (by default white).

Definition at line 36 of file CommandConsole.cc.

Member Function Documentation

◆ addChunk()

void openmsx::ConsoleLine::addChunk ( std::string_view  text,
uint32_t  rgb 
)

Append a chunk with a (different) color.

This is currently the only way to construct a multi-colored line/

Definition at line 42 of file CommandConsole.cc.

◆ chunkColor()

uint32_t openmsx::ConsoleLine::chunkColor ( size_t  i) const

Get the color for the i-th chunk.

Definition at line 53 of file CommandConsole.cc.

◆ chunkText()

string_view openmsx::ConsoleLine::chunkText ( size_t  i) const

Get the text for the i-th chunk.

Definition at line 59 of file CommandConsole.cc.

◆ getChunks()

const auto& openmsx::ConsoleLine::getChunks ( ) const
inline

Definition at line 49 of file CommandConsole.hh.

◆ numChars()

size_t openmsx::ConsoleLine::numChars ( ) const

Get the number of UTF8 characters in this line.

So multi-byte characters are counted as a single character.

Definition at line 48 of file CommandConsole.cc.

References utf8::unchecked::size().

◆ numChunks()

size_t openmsx::ConsoleLine::numChunks ( ) const
inline

Get the number of different chunks.

Each chunk is a a part of the line that has the same color.

Definition at line 43 of file CommandConsole.hh.

◆ str()

const std::string& openmsx::ConsoleLine::str ( ) const
inline

Get the total string, ignoring color differences.

Definition at line 39 of file CommandConsole.hh.


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