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

#include <flex_line.h>

Public Member Functions

 flex_line (bool _reverse_main, bool _reverse_cross)
 
void init (int container_main_size, bool fit_container, bool is_row_direction, const litehtml::containing_block_context &self_size, litehtml::formatting_context *fmt_ctx)
 
bool distribute_main_auto_margins (int free_main_size)
 
int calculate_items_position (int container_main_size, flex_justify_content justify_content, bool is_row_direction, const containing_block_context &self_size, formatting_context *fmt_ctx)
 

Public Attributes

std::list< std::shared_ptr< flex_item > > items
 
int cross_start
 
int main_size
 
int cross_size
 
int base_size
 
int total_grow
 
int total_shrink
 
int num_auto_margin_main_start
 
int num_auto_margin_main_end
 
baseline first_baseline
 
baseline last_baseline
 
bool reverse_main
 
bool reverse_cross
 

Protected Member Functions

void distribute_free_space (int container_main_size)
 

Constructor & Destructor Documentation

◆ flex_line()

litehtml::flex_line::flex_line ( bool  _reverse_main,
bool  _reverse_cross 
)
inline

Member Function Documentation

◆ calculate_items_position()

int litehtml::flex_line::calculate_items_position ( int  container_main_size,
flex_justify_content  justify_content,
bool  is_row_direction,
const containing_block_context self_size,
formatting_context fmt_ctx 
)

Distribute main axis free space for auto-margins

Fix justify-content property

Distribute free main size using justify-content property

find initial main position and spaces between items

Place all items in main and cross positions

◆ distribute_free_space()

void litehtml::flex_line::distribute_free_space ( int  container_main_size)
protected

◆ distribute_main_auto_margins()

bool litehtml::flex_line::distribute_main_auto_margins ( int  free_main_size)

◆ init()

void litehtml::flex_line::init ( int  container_main_size,
bool  fit_container,
bool  is_row_direction,
const litehtml::containing_block_context self_size,
litehtml::formatting_context fmt_ctx 
)

Render items into new size Find line cross_size Find line first/last baseline

Member Data Documentation

◆ base_size

int litehtml::flex_line::base_size

◆ cross_size

int litehtml::flex_line::cross_size

◆ cross_start

int litehtml::flex_line::cross_start

◆ first_baseline

baseline litehtml::flex_line::first_baseline

◆ items

std::list<std::shared_ptr<flex_item> > litehtml::flex_line::items

◆ last_baseline

baseline litehtml::flex_line::last_baseline

◆ main_size

int litehtml::flex_line::main_size

◆ num_auto_margin_main_end

int litehtml::flex_line::num_auto_margin_main_end

◆ num_auto_margin_main_start

int litehtml::flex_line::num_auto_margin_main_start

◆ reverse_cross

bool litehtml::flex_line::reverse_cross

◆ reverse_main

bool litehtml::flex_line::reverse_main

◆ total_grow

int litehtml::flex_line::total_grow

◆ total_shrink

int litehtml::flex_line::total_shrink

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