Photon 1.0.0
Loading...
Searching...
No Matches
litehtml::line_box Class Reference

#include <line_box.h>

Classes

struct  va_context
 

Public Member Functions

 line_box (int top, int left, int right, int line_height, const font_metrics &fm, text_align align)
 
int bottom () const
 
int top () const
 
int right () const
 
int left () const
 
int height () const
 
int width () const
 
int line_right () const
 
int min_width () const
 
void add_item (std::unique_ptr< line_box_item > item)
 
bool can_hold (const std::unique_ptr< line_box_item > &item, white_space ws) const
 
bool is_empty () const
 
int baseline () const
 
int top_margin () const
 
int bottom_margin () const
 
void y_shift (int shift)
 
std::list< std::unique_ptr< line_box_item > > finish (bool last_box, const containing_block_context &containing_block_size)
 
std::list< std::unique_ptr< line_box_item > > new_width (int left, int right)
 
std::shared_ptr< render_itemget_last_text_part () const
 
std::shared_ptr< render_itemget_first_text_part () const
 
std::list< std::unique_ptr< line_box_item > > & items ()
 

Private Member Functions

bool have_last_space () const
 
bool is_break_only () const
 

Static Private Member Functions

static int calc_va_baseline (const va_context &current, vertical_align va, const font_metrics &new_font, int top, int bottom)
 

Private Attributes

int m_top
 
int m_left
 
int m_right
 
int m_height
 
int m_width
 
int m_line_height
 
int m_default_line_height
 
font_metrics m_font_metrics
 
int m_baseline
 
text_align m_text_align
 
int m_min_width
 
std::list< std::unique_ptr< line_box_item > > m_items
 

Constructor & Destructor Documentation

◆ line_box()

litehtml::line_box::line_box ( int  top,
int  left,
int  right,
int  line_height,
const font_metrics fm,
text_align  align 
)
inline

Member Function Documentation

◆ add_item()

void litehtml::line_box::add_item ( std::unique_ptr< line_box_item item)

◆ baseline()

int litehtml::line_box::baseline ( ) const

◆ bottom()

int litehtml::line_box::bottom ( ) const
inline

◆ bottom_margin()

int litehtml::line_box::bottom_margin ( ) const

◆ calc_va_baseline()

int litehtml::line_box::calc_va_baseline ( const va_context current,
vertical_align  va,
const font_metrics new_font,
int  top,
int  bottom 
)
staticprivate

◆ can_hold()

bool litehtml::line_box::can_hold ( const std::unique_ptr< line_box_item > &  item,
white_space  ws 
) const

◆ finish()

std::list< std::unique_ptr< litehtml::line_box_item > > litehtml::line_box::finish ( bool  last_box,
const containing_block_context containing_block_size 
)

◆ get_first_text_part()

std::shared_ptr< litehtml::render_item > litehtml::line_box::get_first_text_part ( ) const

◆ get_last_text_part()

std::shared_ptr< litehtml::render_item > litehtml::line_box::get_last_text_part ( ) const

◆ have_last_space()

bool litehtml::line_box::have_last_space ( ) const
private

◆ height()

int litehtml::line_box::height ( ) const
inline

◆ is_break_only()

bool litehtml::line_box::is_break_only ( ) const
private

◆ is_empty()

bool litehtml::line_box::is_empty ( ) const

◆ items()

std::list< std::unique_ptr< line_box_item > > & litehtml::line_box::items ( )
inline

◆ left()

int litehtml::line_box::left ( ) const
inline

◆ line_right()

int litehtml::line_box::line_right ( ) const
inline

◆ min_width()

int litehtml::line_box::min_width ( ) const
inline

◆ new_width()

std::list< std::unique_ptr< litehtml::line_box_item > > litehtml::line_box::new_width ( int  left,
int  right 
)

◆ right()

int litehtml::line_box::right ( ) const
inline

◆ top()

int litehtml::line_box::top ( ) const
inline

◆ top_margin()

int litehtml::line_box::top_margin ( ) const

◆ width()

int litehtml::line_box::width ( ) const
inline

◆ y_shift()

void litehtml::line_box::y_shift ( int  shift)

Member Data Documentation

◆ m_baseline

int litehtml::line_box::m_baseline
private

◆ m_default_line_height

int litehtml::line_box::m_default_line_height
private

◆ m_font_metrics

font_metrics litehtml::line_box::m_font_metrics
private

◆ m_height

int litehtml::line_box::m_height
private

◆ m_items

std::list< std::unique_ptr<line_box_item> > litehtml::line_box::m_items
private

◆ m_left

int litehtml::line_box::m_left
private

◆ m_line_height

int litehtml::line_box::m_line_height
private

◆ m_min_width

int litehtml::line_box::m_min_width
private

◆ m_right

int litehtml::line_box::m_right
private

◆ m_text_align

text_align litehtml::line_box::m_text_align
private

◆ m_top

int litehtml::line_box::m_top
private

◆ m_width

int litehtml::line_box::m_width
private

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