Photon 1.0.0
Loading...
Searching...
No Matches
litehtml::flex_item Class Referenceabstract

#include <flex_item.h>

Inheritance diagram for litehtml::flex_item:
litehtml::flex_item_column_direction litehtml::flex_item_row_direction

Public Member Functions

 flex_item (std::shared_ptr< render_item > &_el)
 
virtual ~flex_item ()=default
 
bool operator< (const flex_item &b) const
 
void init (const litehtml::containing_block_context &self_size, litehtml::formatting_context *fmt_ctx, flex_align_items align_items)
 
virtual void apply_main_auto_margins ()=0
 
virtual bool apply_cross_auto_margins (int cross_size)=0
 
virtual void set_main_position (int pos)=0
 
virtual void set_cross_position (int pos)=0
 
virtual int get_el_main_size ()=0
 
virtual int get_el_cross_size ()=0
 
void place (flex_line &ln, int main_pos, const containing_block_context &self_size, formatting_context *fmt_ctx)
 
int get_last_baseline (baseline::_baseline_type type) const
 
int get_first_baseline (baseline::_baseline_type type) const
 

Public Attributes

std::shared_ptr< render_itemel
 
int base_size
 
int min_size
 
def_value< int > max_size
 
int main_size
 
int grow
 
int shrink
 
int scaled_flex_shrink_factor
 
bool frozen
 
int order
 
int src_order
 
def_value< int > auto_margin_main_start
 
def_value< int > auto_margin_main_end
 
bool auto_margin_cross_start
 
bool auto_margin_cross_end
 
flex_align_items align
 

Protected Member Functions

virtual void direction_specific_init (const litehtml::containing_block_context &self_size, litehtml::formatting_context *fmt_ctx)=0
 
virtual void align_stretch (flex_line &ln, const containing_block_context &self_size, formatting_context *fmt_ctx)=0
 
virtual void align_baseline (flex_line &ln, const containing_block_context &self_size, formatting_context *fmt_ctx)=0
 

Detailed Description

Base class for flex item

Constructor & Destructor Documentation

◆ flex_item()

litehtml::flex_item::flex_item ( std::shared_ptr< render_item > &  _el)
inlineexplicit

◆ ~flex_item()

virtual litehtml::flex_item::~flex_item ( )
virtualdefault

Member Function Documentation

◆ align_baseline()

virtual void litehtml::flex_item::align_baseline ( flex_line ln,
const containing_block_context self_size,
formatting_context fmt_ctx 
)
protectedpure virtual

◆ align_stretch()

virtual void litehtml::flex_item::align_stretch ( flex_line ln,
const containing_block_context self_size,
formatting_context fmt_ctx 
)
protectedpure virtual

◆ apply_cross_auto_margins()

virtual bool litehtml::flex_item::apply_cross_auto_margins ( int  cross_size)
pure virtual

◆ apply_main_auto_margins()

virtual void litehtml::flex_item::apply_main_auto_margins ( )
pure virtual

◆ direction_specific_init()

virtual void litehtml::flex_item::direction_specific_init ( const litehtml::containing_block_context self_size,
litehtml::formatting_context fmt_ctx 
)
protectedpure virtual

◆ get_el_cross_size()

virtual int litehtml::flex_item::get_el_cross_size ( )
pure virtual

◆ get_el_main_size()

virtual int litehtml::flex_item::get_el_main_size ( )
pure virtual

◆ get_first_baseline()

int litehtml::flex_item::get_first_baseline ( baseline::_baseline_type  type) const

◆ get_last_baseline()

int litehtml::flex_item::get_last_baseline ( baseline::_baseline_type  type) const

◆ init()

void litehtml::flex_item::init ( const litehtml::containing_block_context self_size,
litehtml::formatting_context fmt_ctx,
flex_align_items  align_items 
)

◆ operator<()

bool litehtml::flex_item::operator< ( const flex_item b) const
inline

◆ place()

void litehtml::flex_item::place ( flex_line ln,
int  main_pos,
const containing_block_context self_size,
formatting_context fmt_ctx 
)

If cross axis is reversed position item from start

If cross axis is reversed position item from end

◆ set_cross_position()

virtual void litehtml::flex_item::set_cross_position ( int  pos)
pure virtual

◆ set_main_position()

virtual void litehtml::flex_item::set_main_position ( int  pos)
pure virtual

Member Data Documentation

◆ align

flex_align_items litehtml::flex_item::align

◆ auto_margin_cross_end

bool litehtml::flex_item::auto_margin_cross_end

◆ auto_margin_cross_start

bool litehtml::flex_item::auto_margin_cross_start

◆ auto_margin_main_end

def_value<int> litehtml::flex_item::auto_margin_main_end

◆ auto_margin_main_start

def_value<int> litehtml::flex_item::auto_margin_main_start

◆ base_size

int litehtml::flex_item::base_size

◆ el

std::shared_ptr<render_item> litehtml::flex_item::el

◆ frozen

bool litehtml::flex_item::frozen

◆ grow

int litehtml::flex_item::grow

◆ main_size

int litehtml::flex_item::main_size

◆ max_size

def_value<int> litehtml::flex_item::max_size

◆ min_size

int litehtml::flex_item::min_size

◆ order

int litehtml::flex_item::order

◆ scaled_flex_shrink_factor

int litehtml::flex_item::scaled_flex_shrink_factor

◆ shrink

int litehtml::flex_item::shrink

◆ src_order

int litehtml::flex_item::src_order

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