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

#include <document.h>

Inheritance diagram for litehtml::document:

Public Types

typedef std::shared_ptr< documentptr
 
typedef std::weak_ptr< documentweak_ptr
 

Public Member Functions

 document (document_container *objContainer)
 
virtual ~document ()
 
document_containercontainer ()
 
document_mode mode () const
 
uint_ptr get_font (const char *name, int size, const char *weight, const char *style, const char *decoration, font_metrics *fm)
 
int render (int max_width, render_type rt=render_all)
 
void draw (uint_ptr hdc, int x, int y, const position *clip)
 
web_color get_def_color ()
 
void cvt_units (css_length &val, const font_metrics &metrics, int size) const
 
int to_pixels (const css_length &val, const font_metrics &metrics, int size) const
 
int width () const
 
int height () const
 
int content_width () const
 
int content_height () const
 
void add_stylesheet (const char *str, const char *baseurl, const char *media)
 
bool on_mouse_over (int x, int y, int client_x, int client_y, position::vector &redraw_boxes)
 
bool on_lbutton_down (int x, int y, int client_x, int client_y, position::vector &redraw_boxes)
 
bool on_lbutton_up (int x, int y, int client_x, int client_y, position::vector &redraw_boxes)
 
bool on_mouse_leave (position::vector &redraw_boxes)
 
element::ptr create_element (const char *tag_name, const string_map &attributes)
 
element::ptr root ()
 
std::shared_ptr< render_itemroot_render ()
 
void get_fixed_boxes (position::vector &fixed_boxes)
 
void add_fixed_box (const position &pos)
 
void add_media_list (media_query_list_list::ptr list)
 
bool media_changed ()
 
bool lang_changed ()
 
bool match_lang (const string &lang)
 
void add_tabular (const std::shared_ptr< render_item > &el)
 
element::const_ptr get_over_element () const
 
void append_children_from_string (element &parent, const char *str)
 
void dump (dumper &cout)
 

Static Public Member Functions

static document::ptr createFromString (const estring &str, document_container *container, const string &master_styles=litehtml::master_css, const string &user_styles="")
 

Private Member Functions

uint_ptr add_font (const char *name, int size, const char *weight, const char *style, const char *decoration, font_metrics *fm)
 
GumboOutputparse_html (estring str)
 
void create_node (void *gnode, elements_list &elements, bool parseTextNode)
 
bool update_media_lists (const media_features &features)
 
void fix_tables_layout ()
 
void fix_table_children (const std::shared_ptr< render_item > &el_ptr, style_display disp, const char *disp_str)
 
void fix_table_parent (const std::shared_ptr< render_item > &el_ptr, style_display disp, const char *disp_str)
 

Private Attributes

std::shared_ptr< elementm_root
 
std::shared_ptr< render_itemm_root_render
 
document_containerm_container
 
fonts_map m_fonts
 
css_text::vector m_css
 
litehtml::css m_styles
 
litehtml::web_color m_def_color
 
litehtml::css m_master_css
 
litehtml::css m_user_css
 
litehtml::size m_size
 
litehtml::size m_content_size
 
position::vector m_fixed_boxes
 
element::ptr m_over_element
 
std::list< shared_ptr< render_item > > m_tabular_elements
 
media_query_list_list::vector m_media_lists
 
media_features m_media
 
string m_lang
 
string m_culture
 
string m_text
 
document_mode m_mode = no_quirks_mode
 

Member Typedef Documentation

◆ ptr

typedef std::shared_ptr<document> litehtml::document::ptr

◆ weak_ptr

typedef std::weak_ptr<document> litehtml::document::weak_ptr

Constructor & Destructor Documentation

◆ document()

litehtml::document::document ( document_container objContainer)

◆ ~document()

litehtml::document::~document ( )
virtual

Member Function Documentation

◆ add_fixed_box()

void litehtml::document::add_fixed_box ( const position pos)

◆ add_font()

uint_ptr litehtml::document::add_font ( const char *  name,
int  size,
const char *  weight,
const char *  style,
const char *  decoration,
font_metrics fm 
)
private

◆ add_media_list()

void litehtml::document::add_media_list ( media_query_list_list::ptr  list)

◆ add_stylesheet()

void litehtml::document::add_stylesheet ( const char *  str,
const char *  baseurl,
const char *  media 
)

◆ add_tabular()

void litehtml::document::add_tabular ( const std::shared_ptr< render_item > &  el)
inline

◆ append_children_from_string()

void litehtml::document::append_children_from_string ( element parent,
const char *  str 
)

◆ container()

document_container * litehtml::document::container ( )
inline

◆ content_height()

int litehtml::document::content_height ( ) const

◆ content_width()

int litehtml::document::content_width ( ) const

◆ create_element()

element::ptr litehtml::document::create_element ( const char *  tag_name,
const string_map attributes 
)

◆ create_node()

void litehtml::document::create_node ( void *  gnode,
elements_list elements,
bool  parseTextNode 
)
private

◆ createFromString()

document::ptr litehtml::document::createFromString ( const estring str,
document_container container,
const string &  master_styles = litehtml::master_css,
const string &  user_styles = "" 
)
static

◆ cvt_units()

void litehtml::document::cvt_units ( css_length val,
const font_metrics metrics,
int  size 
) const

◆ draw()

void litehtml::document::draw ( uint_ptr  hdc,
int  x,
int  y,
const position clip 
)

◆ dump()

void litehtml::document::dump ( dumper cout)

◆ fix_table_children()

void litehtml::document::fix_table_children ( const std::shared_ptr< render_item > &  el_ptr,
style_display  disp,
const char *  disp_str 
)
private

◆ fix_table_parent()

void litehtml::document::fix_table_parent ( const std::shared_ptr< render_item > &  el_ptr,
style_display  disp,
const char *  disp_str 
)
private

◆ fix_tables_layout()

void litehtml::document::fix_tables_layout ( )
private

◆ get_def_color()

web_color litehtml::document::get_def_color ( )
inline

◆ get_fixed_boxes()

void litehtml::document::get_fixed_boxes ( position::vector fixed_boxes)

◆ get_font()

uint_ptr litehtml::document::get_font ( const char *  name,
int  size,
const char *  weight,
const char *  style,
const char *  decoration,
font_metrics fm 
)

◆ get_over_element()

element::const_ptr litehtml::document::get_over_element ( ) const
inline

◆ height()

int litehtml::document::height ( ) const

◆ lang_changed()

bool litehtml::document::lang_changed ( )

◆ match_lang()

bool litehtml::document::match_lang ( const string &  lang)
inline

◆ media_changed()

bool litehtml::document::media_changed ( )

◆ mode()

document_mode litehtml::document::mode ( ) const
inline

◆ on_lbutton_down()

bool litehtml::document::on_lbutton_down ( int  x,
int  y,
int  client_x,
int  client_y,
position::vector redraw_boxes 
)

◆ on_lbutton_up()

bool litehtml::document::on_lbutton_up ( int  x,
int  y,
int  client_x,
int  client_y,
position::vector redraw_boxes 
)

◆ on_mouse_leave()

bool litehtml::document::on_mouse_leave ( position::vector redraw_boxes)

◆ on_mouse_over()

bool litehtml::document::on_mouse_over ( int  x,
int  y,
int  client_x,
int  client_y,
position::vector redraw_boxes 
)

◆ parse_html()

GumboOutput * litehtml::document::parse_html ( estring  str)
private

◆ render()

int litehtml::document::render ( int  max_width,
render_type  rt = render_all 
)

◆ root()

element::ptr litehtml::document::root ( )
inline

◆ root_render()

std::shared_ptr< render_item > litehtml::document::root_render ( )
inline

◆ to_pixels()

int litehtml::document::to_pixels ( const css_length val,
const font_metrics metrics,
int  size 
) const

◆ update_media_lists()

bool litehtml::document::update_media_lists ( const media_features features)
private

◆ width()

int litehtml::document::width ( ) const

Member Data Documentation

◆ m_container

document_container* litehtml::document::m_container
private

◆ m_content_size

litehtml::size litehtml::document::m_content_size
private

◆ m_css

css_text::vector litehtml::document::m_css
private

◆ m_culture

string litehtml::document::m_culture
private

◆ m_def_color

litehtml::web_color litehtml::document::m_def_color
private

◆ m_fixed_boxes

position::vector litehtml::document::m_fixed_boxes
private

◆ m_fonts

fonts_map litehtml::document::m_fonts
private

◆ m_lang

string litehtml::document::m_lang
private

◆ m_master_css

litehtml::css litehtml::document::m_master_css
private

◆ m_media

media_features litehtml::document::m_media
private

◆ m_media_lists

media_query_list_list::vector litehtml::document::m_media_lists
private

◆ m_mode

document_mode litehtml::document::m_mode = no_quirks_mode
private

◆ m_over_element

element::ptr litehtml::document::m_over_element
private

◆ m_root

std::shared_ptr<element> litehtml::document::m_root
private

◆ m_root_render

std::shared_ptr<render_item> litehtml::document::m_root_render
private

◆ m_size

litehtml::size litehtml::document::m_size
private

◆ m_styles

litehtml::css litehtml::document::m_styles
private

◆ m_tabular_elements

std::list<shared_ptr<render_item> > litehtml::document::m_tabular_elements
private

◆ m_text

string litehtml::document::m_text
private

◆ m_user_css

litehtml::css litehtml::document::m_user_css
private

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