neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
neogfx::basic_glyph_text_content< Container, ConstIterator, Iterator > Class Template Reference

#include <glyph_text.hpp>

Inheritance diagram for neogfx::basic_glyph_text_content< Container, ConstIterator, Iterator >:
neolib::reference_counted< Base, DeallocateOnRelease >

Public Types

typedef i_basic_glyph_text< typename Container::value_type, ConstIterator, Iterator > abstract_type
 
typedef GlyphT value_type
 
typedef value_type const * const_pointer
 
typedef value_typepointer
 
typedef value_type const & const_reference
 
typedef value_typereference
 
typedef ConstIterator const_iterator
 
typedef Iterator iterator
 
typedef std::size_t size_type
 
typedef std::ptrdiff_t difference_type
 

Public Member Functions

 basic_glyph_text_content ()
 
 basic_glyph_text_content (font const &aFont)
 
template<typename Iter >
 basic_glyph_text_content (Iter aBegin, Iter aEnd)
 
 basic_glyph_text_content (const self_type &aOther)
 
 basic_glyph_text_content (self_type &&aOther)
 
self_typeoperator= (const self_type &aOther)
 
self_typeoperator= (self_type &&aOther)
 
container_type const & container () const
 
container_type & container ()
 
void clone (i_ref_ptr< abstract_type > &aClone) const override
 
bool empty () const override
 
size_type size () const override
 
void clear () override
 
template<class... Args>
reference emplace_back (Args &&... args)
 
void push_back (const_reference aGlyphChar) override
 
reference back ()
 
const_iterator cbegin () const override
 
const_iterator cend () const override
 
iterator begin () override
 
iterator end () override
 
bool operator== (const self_type &aOther) const
 
neogfx::size extents () const override
 
neogfx::size extents (const_reference aGlyphChar) const override
 
neogfx::size extents (const_iterator aBegin, const_iterator aEnd) const override
 
void set_extents (const neogfx::size &aExtents) override
 
self_typealign_baselines () override
 
align_baselines_result align_baselines (iterator aBegin, iterator aEnd, bool aJustCalculate=false) override
 
std::pair< const_iterator, const_iteratorword_break (const_iterator aBegin, const_iterator aFrom) const override
 
std::pair< iterator, iteratorword_break (const_iterator aBegin, const_iterator aFrom) override
 
vector< size_type > const & line_breaks () const override
 
vector< size_type > & line_breaks () override
 
const font & glyph_font () const override
 
const font & glyph_font (const_reference aGlyphChar) const override
 
void cache_glyph_font (font_id aFontId) const override
 
void cache_glyph_font (const font &aFont) const override
 
const i_glyphglyph (const_reference aGlyphChar) const override
 
const font & major_font () const override
 
void set_major_font (const font &aFont) override
 
scalar baseline () const override
 
void set_baseline (scalar aBaseline) override
 
const_iterator begin () const
 
virtual iterator begin ()=0
 
const_iterator end () const
 
virtual iterator end ()=0
 
- Public Member Functions inherited from neolib::reference_counted< Base, DeallocateOnRelease >
 reference_counted () noexcept
 
 reference_counted (const reference_counted &aOther) noexcept
 
 ~reference_counted ()
 
reference_countedoperator= (const reference_counted &)
 
void add_ref () const noexcept override
 
void release () const override
 
int32_t use_count () const noexcept override
 
const base_type * release_and_take_ownership () const override
 
base_type * release_and_take_ownership () override
 
void pin () const noexcept override
 
void unpin () const override
 
i_ref_control_blockcontrol_block () override
 

Detailed Description

template<typename Container, typename ConstIterator = typename Container::const_iterator, typename Iterator = typename Container::iterator>
class neogfx::basic_glyph_text_content< Container, ConstIterator, Iterator >

Definition at line 311 of file glyph_text.hpp.

Member Typedef Documentation

◆ abstract_type

template<typename Container , typename ConstIterator = typename Container::const_iterator, typename Iterator = typename Container::iterator>
typedef i_basic_glyph_text<typename Container::value_type, ConstIterator, Iterator> neogfx::basic_glyph_text_content< Container, ConstIterator, Iterator >::abstract_type

Definition at line 316 of file glyph_text.hpp.

◆ const_iterator

template<typename Container , typename ConstIterator = typename Container::const_iterator, typename Iterator = typename Container::iterator>
typedef ConstIterator neogfx::i_basic_glyph_text< GlyphT, ConstIterator, Iterator >::const_iterator

Definition at line 245 of file glyph_text.hpp.

◆ const_pointer

template<typename Container , typename ConstIterator = typename Container::const_iterator, typename Iterator = typename Container::iterator>
typedef value_type const* neogfx::i_basic_glyph_text< GlyphT, ConstIterator, Iterator >::const_pointer

Definition at line 241 of file glyph_text.hpp.

◆ const_reference

template<typename Container , typename ConstIterator = typename Container::const_iterator, typename Iterator = typename Container::iterator>
typedef value_type const& neogfx::i_basic_glyph_text< GlyphT, ConstIterator, Iterator >::const_reference

Definition at line 243 of file glyph_text.hpp.

◆ difference_type

template<typename Container , typename ConstIterator = typename Container::const_iterator, typename Iterator = typename Container::iterator>
typedef std::ptrdiff_t neogfx::i_basic_glyph_text< GlyphT, ConstIterator, Iterator >::difference_type

Definition at line 248 of file glyph_text.hpp.

◆ iterator

template<typename Container , typename ConstIterator = typename Container::const_iterator, typename Iterator = typename Container::iterator>
typedef Iterator neogfx::i_basic_glyph_text< GlyphT, ConstIterator, Iterator >::iterator

Definition at line 246 of file glyph_text.hpp.

◆ pointer

template<typename Container , typename ConstIterator = typename Container::const_iterator, typename Iterator = typename Container::iterator>
typedef value_type* neogfx::i_basic_glyph_text< GlyphT, ConstIterator, Iterator >::pointer

Definition at line 242 of file glyph_text.hpp.

◆ reference

template<typename Container , typename ConstIterator = typename Container::const_iterator, typename Iterator = typename Container::iterator>
typedef value_type& neogfx::i_basic_glyph_text< GlyphT, ConstIterator, Iterator >::reference

Definition at line 244 of file glyph_text.hpp.

◆ size_type

template<typename Container , typename ConstIterator = typename Container::const_iterator, typename Iterator = typename Container::iterator>
typedef std::size_t neogfx::i_basic_glyph_text< GlyphT, ConstIterator, Iterator >::size_type

Definition at line 247 of file glyph_text.hpp.

◆ value_type

template<typename Container , typename ConstIterator = typename Container::const_iterator, typename Iterator = typename Container::iterator>
typedef GlyphT neogfx::i_basic_glyph_text< GlyphT, ConstIterator, Iterator >::value_type

Definition at line 240 of file glyph_text.hpp.

Constructor & Destructor Documentation

◆ basic_glyph_text_content() [1/5]

template<typename Container , typename ConstIterator , typename Iterator >
neogfx::basic_glyph_text_content< Container, ConstIterator, Iterator >::basic_glyph_text_content ( )
inline

Definition at line 79 of file glyph_text.ipp.

◆ basic_glyph_text_content() [2/5]

template<typename Container , typename ConstIterator , typename Iterator >
neogfx::basic_glyph_text_content< Container, ConstIterator, Iterator >::basic_glyph_text_content ( font const &  aFont)
inline

Definition at line 87 of file glyph_text.ipp.

◆ basic_glyph_text_content() [3/5]

template<typename Container , typename ConstIterator = typename Container::const_iterator, typename Iterator = typename Container::iterator>
template<typename Iter >
neogfx::basic_glyph_text_content< Container, ConstIterator, Iterator >::basic_glyph_text_content ( Iter  aBegin,
Iter  aEnd 
)
inline

Definition at line 353 of file glyph_text.hpp.

◆ basic_glyph_text_content() [4/5]

template<typename Container , typename ConstIterator , typename Iterator >
neogfx::basic_glyph_text_content< Container, ConstIterator, Iterator >::basic_glyph_text_content ( const self_type aOther)
inline

Definition at line 96 of file glyph_text.ipp.

◆ basic_glyph_text_content() [5/5]

template<typename Container , typename ConstIterator , typename Iterator >
neogfx::basic_glyph_text_content< Container, ConstIterator, Iterator >::basic_glyph_text_content ( self_type &&  aOther)
inline

Definition at line 106 of file glyph_text.ipp.

Member Function Documentation

◆ align_baselines() [1/2]

template<typename Container , typename ConstIterator , typename Iterator >
basic_glyph_text_content< Container, ConstIterator, Iterator >::self_type & neogfx::basic_glyph_text_content< Container, ConstIterator, Iterator >::align_baselines ( )
inlineoverride

Definition at line 294 of file glyph_text.ipp.

◆ align_baselines() [2/2]

template<typename Container , typename ConstIterator , typename Iterator >
basic_glyph_text_content< Container, ConstIterator, Iterator >::align_baselines_result neogfx::basic_glyph_text_content< Container, ConstIterator, Iterator >::align_baselines ( iterator  aBegin,
iterator  aEnd,
bool  aJustCalculate = false 
)
inlineoverride

Definition at line 303 of file glyph_text.ipp.

◆ back()

template<typename Container , typename ConstIterator , typename Iterator >
basic_glyph_text_content< Container, ConstIterator, Iterator >::reference neogfx::basic_glyph_text_content< Container, ConstIterator, Iterator >::back ( )
inline

Definition at line 218 of file glyph_text.ipp.

◆ baseline()

template<typename Container , typename ConstIterator , typename Iterator >
scalar neogfx::basic_glyph_text_content< Container, ConstIterator, Iterator >::baseline ( ) const
inlineoverride

Definition at line 456 of file glyph_text.ipp.

◆ begin() [1/3]

template<typename Container , typename ConstIterator = typename Container::const_iterator, typename Iterator = typename Container::iterator>
const_iterator neogfx::i_basic_glyph_text< GlyphT, ConstIterator, Iterator >::begin ( ) const
inline

Definition at line 296 of file glyph_text.hpp.

◆ begin() [2/3]

template<typename Container , typename ConstIterator , typename Iterator >
basic_glyph_text_content< Container, ConstIterator, Iterator >::iterator neogfx::basic_glyph_text_content< Container, ConstIterator, Iterator >::begin ( )
inlineoverride

Definition at line 188 of file glyph_text.ipp.

◆ begin() [3/3]

template<typename Container , typename ConstIterator = typename Container::const_iterator, typename Iterator = typename Container::iterator>
virtual iterator neogfx::i_basic_glyph_text< GlyphT, ConstIterator, Iterator >::begin ( )

◆ cache_glyph_font() [1/2]

template<typename Container , typename ConstIterator , typename Iterator >
void neogfx::basic_glyph_text_content< Container, ConstIterator, Iterator >::cache_glyph_font ( const font &  aFont) const
inlineoverride

Definition at line 432 of file glyph_text.ipp.

◆ cache_glyph_font() [2/2]

template<typename Container , typename ConstIterator , typename Iterator >
void neogfx::basic_glyph_text_content< Container, ConstIterator, Iterator >::cache_glyph_font ( font_id  aFontId) const
inlineoverride

Definition at line 426 of file glyph_text.ipp.

◆ cbegin()

template<typename Container , typename ConstIterator , typename Iterator >
basic_glyph_text_content< Container, ConstIterator, Iterator >::const_iterator neogfx::basic_glyph_text_content< Container, ConstIterator, Iterator >::cbegin ( ) const
inlineoverride

Definition at line 160 of file glyph_text.ipp.

◆ cend()

template<typename Container , typename ConstIterator , typename Iterator >
basic_glyph_text_content< Container, ConstIterator, Iterator >::const_iterator neogfx::basic_glyph_text_content< Container, ConstIterator, Iterator >::cend ( ) const
inlineoverride

Definition at line 174 of file glyph_text.ipp.

◆ clear()

template<typename Container , typename ConstIterator , typename Iterator >
void neogfx::basic_glyph_text_content< Container, ConstIterator, Iterator >::clear ( )
inlineoverride

Definition at line 232 of file glyph_text.ipp.

◆ clone()

template<typename Container , typename ConstIterator , typename Iterator >
void neogfx::basic_glyph_text_content< Container, ConstIterator, Iterator >::clone ( i_ref_ptr< abstract_type > &  aClone) const
inlineoverride

Definition at line 142 of file glyph_text.ipp.

◆ container() [1/2]

template<typename Container , typename ConstIterator , typename Iterator >
Container & neogfx::basic_glyph_text_content< Container, ConstIterator, Iterator >::container ( )
inline

Definition at line 252 of file glyph_text.ipp.

◆ container() [2/2]

template<typename Container , typename ConstIterator , typename Iterator >
Container const & neogfx::basic_glyph_text_content< Container, ConstIterator, Iterator >::container ( ) const
inline

Definition at line 246 of file glyph_text.ipp.

◆ emplace_back()

template<typename Container , typename ConstIterator = typename Container::const_iterator, typename Iterator = typename Container::iterator>
template<class... Args>
reference neogfx::basic_glyph_text_content< Container, ConstIterator, Iterator >::emplace_back ( Args &&...  args)
inline

Definition at line 375 of file glyph_text.hpp.

◆ empty()

template<typename Container , typename ConstIterator , typename Iterator >
bool neogfx::basic_glyph_text_content< Container, ConstIterator, Iterator >::empty ( ) const
inlineoverride

Definition at line 148 of file glyph_text.ipp.

◆ end() [1/3]

template<typename Container , typename ConstIterator = typename Container::const_iterator, typename Iterator = typename Container::iterator>
const_iterator neogfx::i_basic_glyph_text< GlyphT, ConstIterator, Iterator >::end ( ) const
inline

Definition at line 300 of file glyph_text.hpp.

◆ end() [2/3]

template<typename Container , typename ConstIterator , typename Iterator >
basic_glyph_text_content< Container, ConstIterator, Iterator >::iterator neogfx::basic_glyph_text_content< Container, ConstIterator, Iterator >::end ( )
inlineoverride

Definition at line 203 of file glyph_text.ipp.

◆ end() [3/3]

template<typename Container , typename ConstIterator = typename Container::const_iterator, typename Iterator = typename Container::iterator>
virtual iterator neogfx::i_basic_glyph_text< GlyphT, ConstIterator, Iterator >::end ( )

◆ extents() [1/3]

template<typename Container , typename ConstIterator , typename Iterator >
size neogfx::basic_glyph_text_content< Container, ConstIterator, Iterator >::extents ( ) const
inlineoverride

Definition at line 258 of file glyph_text.ipp.

◆ extents() [2/3]

template<typename Container , typename ConstIterator , typename Iterator >
size neogfx::basic_glyph_text_content< Container, ConstIterator, Iterator >::extents ( const_iterator  aBegin,
const_iterator  aEnd 
) const
inlineoverride

Definition at line 272 of file glyph_text.ipp.

◆ extents() [3/3]

template<typename Container , typename ConstIterator , typename Iterator >
size neogfx::basic_glyph_text_content< Container, ConstIterator, Iterator >::extents ( const_reference  aGlyphChar) const
inlineoverride

Definition at line 266 of file glyph_text.ipp.

◆ glyph()

template<typename Container , typename ConstIterator , typename Iterator >
const i_glyph & neogfx::basic_glyph_text_content< Container, ConstIterator, Iterator >::glyph ( const_reference  aGlyphChar) const
inlineoverride

Definition at line 438 of file glyph_text.ipp.

◆ glyph_font() [1/2]

template<typename Container , typename ConstIterator , typename Iterator >
const font & neogfx::basic_glyph_text_content< Container, ConstIterator, Iterator >::glyph_font ( ) const
inlineoverride

Definition at line 414 of file glyph_text.ipp.

◆ glyph_font() [2/2]

template<typename Container , typename ConstIterator , typename Iterator >
const font & neogfx::basic_glyph_text_content< Container, ConstIterator, Iterator >::glyph_font ( const_reference  aGlyphChar) const
inlineoverride

Definition at line 420 of file glyph_text.ipp.

◆ line_breaks() [1/2]

template<typename Container , typename ConstIterator , typename Iterator >
vector< typename basic_glyph_text_content< Container, ConstIterator, Iterator >::size_type > const & neogfx::basic_glyph_text_content< Container, ConstIterator, Iterator >::line_breaks ( ) const
inlineoverride

Definition at line 402 of file glyph_text.ipp.

◆ line_breaks() [2/2]

template<typename Container , typename ConstIterator , typename Iterator >
vector< typename basic_glyph_text_content< Container, ConstIterator, Iterator >::size_type > & neogfx::basic_glyph_text_content< Container, ConstIterator, Iterator >::line_breaks ( )
inlineoverride

Definition at line 408 of file glyph_text.ipp.

◆ major_font()

template<typename Container , typename ConstIterator , typename Iterator >
const font & neogfx::basic_glyph_text_content< Container, ConstIterator, Iterator >::major_font ( ) const
inlineoverride

Definition at line 450 of file glyph_text.ipp.

◆ operator=() [1/2]

template<typename Container , typename ConstIterator , typename Iterator >
basic_glyph_text_content< Container, ConstIterator, Iterator > & neogfx::basic_glyph_text_content< Container, ConstIterator, Iterator >::operator= ( const self_type aOther)
inline

Definition at line 116 of file glyph_text.ipp.

◆ operator=() [2/2]

template<typename Container , typename ConstIterator , typename Iterator >
basic_glyph_text_content< Container, ConstIterator, Iterator > & neogfx::basic_glyph_text_content< Container, ConstIterator, Iterator >::operator= ( self_type &&  aOther)
inline

Definition at line 129 of file glyph_text.ipp.

◆ operator==()

template<typename Container , typename ConstIterator , typename Iterator >
bool neogfx::basic_glyph_text_content< Container, ConstIterator, Iterator >::operator== ( const self_type aOther) const
inline

Definition at line 240 of file glyph_text.ipp.

◆ push_back()

template<typename Container , typename ConstIterator , typename Iterator >
void neogfx::basic_glyph_text_content< Container, ConstIterator, Iterator >::push_back ( const_reference  aGlyphChar)
inlineoverride

Definition at line 225 of file glyph_text.ipp.

◆ set_baseline()

template<typename Container , typename ConstIterator , typename Iterator >
void neogfx::basic_glyph_text_content< Container, ConstIterator, Iterator >::set_baseline ( scalar  aBaseline)
inlineoverride

Definition at line 462 of file glyph_text.ipp.

◆ set_extents()

template<typename Container , typename ConstIterator , typename Iterator >
void neogfx::basic_glyph_text_content< Container, ConstIterator, Iterator >::set_extents ( const neogfx::size aExtents)
inlineoverride

Definition at line 288 of file glyph_text.ipp.

◆ set_major_font()

template<typename Container , typename ConstIterator , typename Iterator >
void neogfx::basic_glyph_text_content< Container, ConstIterator, Iterator >::set_major_font ( const font &  aFont)
inlineoverride

Definition at line 444 of file glyph_text.ipp.

◆ size()

template<typename Container , typename ConstIterator , typename Iterator >
basic_glyph_text_content< Container, ConstIterator, Iterator >::size_type neogfx::basic_glyph_text_content< Container, ConstIterator, Iterator >::size ( ) const
inlineoverride

Definition at line 154 of file glyph_text.ipp.

◆ word_break() [1/2]

template<typename Container , typename ConstIterator , typename Iterator >
std::pair< typename basic_glyph_text_content< Container, ConstIterator, Iterator >::const_iterator, typename basic_glyph_text_content< Container, ConstIterator, Iterator >::const_iterator > neogfx::basic_glyph_text_content< Container, ConstIterator, Iterator >::word_break ( const_iterator  aBegin,
const_iterator  aFrom 
) const
inlineoverride

Definition at line 370 of file glyph_text.ipp.

◆ word_break() [2/2]

template<typename Container , typename ConstIterator , typename Iterator >
std::pair< typename basic_glyph_text_content< Container, ConstIterator, Iterator >::iterator, typename basic_glyph_text_content< Container, ConstIterator, Iterator >::iterator > neogfx::basic_glyph_text_content< Container, ConstIterator, Iterator >::word_break ( const_iterator  aBegin,
const_iterator  aFrom 
)
inlineoverride

Definition at line 395 of file glyph_text.ipp.


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