neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
glyph_text.hpp File Reference

Go to the source code of this file.

Classes

class  neogfx::character_type
 
struct  neogfx::glyph_char
 
class  neogfx::i_basic_glyph_text< GlyphT, ConstIterator, Iterator >
 
struct  neogfx::i_basic_glyph_text< GlyphT, ConstIterator, Iterator >::align_baselines_result
 
class  neogfx::basic_glyph_text_content< Container, ConstIterator, Iterator >
 
struct  neogfx::basic_glyph_text_content< Container, ConstIterator, Iterator >::font_cache::cached_font_not_found
 
class  neogfx::glyph_text
 
struct  neogfx::multiline_glyph_text
 
struct  neogfx::multiline_glyph_text::line
 
class  neogfx::i_font_selector
 
class  neogfx::font_selector
 
class  neogfx::i_glyph_text_factory
 

Namespaces

namespace  neogfx
 

Typedefs

typedef std::basic_string< char, neolib::ci_char_traits< std::char_traits< char > > > neogfx::ci_string
 
using neogfx::i_glyph_text = i_basic_glyph_text< glyph_char >
 
using neogfx::glyph_text_content = basic_glyph_text_content< neolib::vecarray< glyph_char, SMALL_OPTIMIZATION_GLYPH_TEXT_GLYPH_COUNT, -1 >, glyph_char const *, glyph_char * >
 
typedef std::optional< glyph_textneogfx::optional_glyph_text
 

Enumerations

enum class  neogfx::text_category : uint8_t {
  neogfx::Unknown = 0x00 , neogfx::None = 0x01 , neogfx::Whitespace = 0x02 , neogfx::Digit = 0x03 ,
  neogfx::LTR = 0x04 , neogfx::RTL = 0x05 , neogfx::Mark = 0x06 , neogfx::Mnemonic = 0x07 ,
  neogfx::Emoji = 0x08 , neogfx::FontEmoji = 0x09 , neogfx::Control = 0x0A
}
 
enum class  neogfx::text_direction : uint8_t { neogfx::Invalid = 0x00 , neogfx::LTR = 0x01 , neogfx::RTL = 0x02 }
 

Functions

bool neogfx::operator== (const glyph_char &lhs, const glyph_char &rhs)
 
bool neogfx::has_font (glyph_char const &g)
 
text_category neogfx::category (glyph_char const &g)
 
void neogfx::set_category (glyph_char &g, text_category c)
 
text_direction neogfx::direction (glyph_char const &g)
 
bool neogfx::is_whitespace (glyph_char const &g)
 
bool neogfx::is_line_breaking_whitespace (glyph_char const &g)
 
bool neogfx::is_non_line_breaking_whitespace (glyph_char const &g)
 
bool neogfx::is_digit (glyph_char const &g)
 
bool neogfx::is_emoji (glyph_char const &g)
 
bool neogfx::has_font_glyph (glyph_char const &g)
 
bool neogfx::left_to_right (glyph_char const &g)
 
bool neogfx::right_to_left (glyph_char const &g)
 
bool neogfx::category_has_no_direction (glyph_char const &g)
 
bool neogfx::underline (glyph_char const &g)
 
void neogfx::set_underline (glyph_char &g, bool aUnderline)
 
bool neogfx::superscript (glyph_char const &g)
 
bool neogfx::below_ascender_line (glyph_char const &g)
 
void neogfx::set_superscript (glyph_char &g, bool aSuperscript, bool aBelowAscenderLine=false)
 
bool neogfx::subscript (glyph_char const &g)
 
bool neogfx::above_baseline (glyph_char const &g)
 
void neogfx::set_subscript (glyph_char &g, bool aSubscript, bool aAboveBaseline=false)
 
bool neogfx::subpixel (glyph_char const &g)
 
void neogfx::set_subpixel (glyph_char &g, bool aSubpixel)
 
bool neogfx::mnemonic (glyph_char const &g)
 
void neogfx::set_mnemonic (glyph_char &g, bool aMnemonic)
 
template<typename Iter >
text_direction neogfx::glyph_text_direction (Iter aBegin, Iter aEnd)
 

Variables

constexpr std::size_t neogfx::SMALL_OPTIMIZATION_GLYPH_TEXT_GLYPH_COUNT = 16