Cogs.Core
Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
litehtml::document Class Reference
Inheritance diagram for litehtml::document:

Public Types

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

Public Member Functions

 document (litehtml::document_container *objContainer, litehtml::context *ctx)
 
litehtml::document_containercontainer ()
 
uint_ptr get_font (const tchar_t *name, int size, const tchar_t *weight, const tchar_t *style, const tchar_t *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 ()
 
int cvt_units (const tchar_t *str, int fontSize, bool *is_percent=0) const
 
int cvt_units (css_length &val, int fontSize, int size=0) const
 
int width () const
 
int height () const
 
void add_stylesheet (const tchar_t *str, const tchar_t *baseurl, const tchar_t *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_move (int x, int y)
 
bool on_mouse_leave (position::vector &redraw_boxes)
 
litehtml::element::ptr create_element (const tchar_t *tag_name, const string_map &attributes)
 
element::ptr root ()
 
void get_fixed_boxes (position::vector &fixed_boxes)
 
void add_fixed_box (const position &pos)
 
void add_media_list (media_query_list::ptr list)
 
bool media_changed ()
 
bool lang_changed ()
 
bool match_lang (const tstring &lang)
 
void add_tabular (const element::ptr &el)
 
void set_userdata (void *userdata)
 
void * get_userdata ()
 
void apply_styles (const litehtml::css *styles)
 
const litehtml::cssget_styles () const
 
litehtml::contextget_context () const
 
bool is_initialised () const
 

Static Public Member Functions

static litehtml::document::ptr createFromString (const tchar_t *str, litehtml::document_container *objPainter, litehtml::context *ctx, litehtml::css *user_styles=0)
 
static litehtml::document::ptr createFromUTF8 (const char *str, litehtml::document_container *objPainter, litehtml::context *ctx, litehtml::css *user_styles=0)
 
static void create_node (void *gnode, elements_vector &elements, bool parseTextNode, document::ptr doc)
 

Private Member Functions

litehtml::uint_ptr add_font (const tchar_t *name, int size, const tchar_t *weight, const tchar_t *style, const tchar_t *decoration, font_metrics *fm)
 
bool update_media_lists (const media_features &features)
 
void fix_tables_layout ()
 
void fix_table_children (element::ptr &el_ptr, style_display disp, const tchar_t *disp_str)
 
void fix_table_parent (element::ptr &el_ptr, style_display disp, const tchar_t *disp_str)
 

Private Attributes

std::shared_ptr< elementm_root
 
document_containerm_container
 
fonts_map m_fonts
 
css_text::vector m_css
 
litehtml::css m_styles
 
litehtml::web_color m_def_color
 
litehtml::contextm_context
 
litehtml::size m_size
 
position::vector m_fixed_boxes
 
media_query_list::vector m_media_lists
 
element::ptr m_over_element
 
elements_vector m_tabular_elements
 
media_features m_media
 
tstring m_lang
 
tstring m_culture
 
void * m_userdata
 
bool m_initialised
 

Detailed Description

Definition at line 51 of file document.h.

Member Typedef Documentation

◆ ptr

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

Definition at line 54 of file document.h.

◆ weak_ptr

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

Definition at line 55 of file document.h.

Constructor & Destructor Documentation

◆ document()

litehtml::document::document ( litehtml::document_container objContainer,
litehtml::context ctx 
)

Definition at line 39 of file document.cpp.

◆ ~document()

litehtml::document::~document ( )
virtual

Definition at line 47 of file document.cpp.

Member Function Documentation

◆ add_fixed_box()

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

Definition at line 624 of file document.cpp.

◆ add_font()

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

Definition at line 149 of file document.cpp.

◆ add_media_list()

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

Definition at line 678 of file document.cpp.

◆ add_stylesheet()

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

Definition at line 390 of file document.cpp.

◆ add_tabular()

void litehtml::document::add_tabular ( const element::ptr &  el)
inline

Definition at line 131 of file document.h.

◆ apply_styles()

void litehtml::document::apply_styles ( const litehtml::css styles)

Definition at line 60 of file document.cpp.

◆ container()

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

Definition at line 78 of file document.h.

◆ create_element()

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

Definition at line 546 of file document.cpp.

◆ create_node()

void litehtml::document::create_node ( void *  gnode,
elements_vector &  elements,
bool  parseTextNode,
document::ptr  doc 
)
static

Definition at line 689 of file document.cpp.

◆ createFromString()

litehtml::document::ptr litehtml::document::createFromString ( const tchar_t *  str,
litehtml::document_container objPainter,
litehtml::context ctx,
litehtml::css user_styles = 0 
)
static

Definition at line 67 of file document.cpp.

◆ createFromUTF8()

litehtml::document::ptr litehtml::document::createFromUTF8 ( const char *  str,
litehtml::document_container objPainter,
litehtml::context ctx,
litehtml::css user_styles = 0 
)
static

Definition at line 72 of file document.cpp.

◆ cvt_units() [1/2]

int litehtml::document::cvt_units ( const tchar_t *  str,
int  fontSize,
bool *  is_percent = 0 
) const

Definition at line 312 of file document.cpp.

◆ cvt_units() [2/2]

int litehtml::document::cvt_units ( css_length val,
int  fontSize,
int  size = 0 
) const

Definition at line 325 of file document.cpp.

◆ draw()

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

Definition at line 303 of file document.cpp.

◆ fix_table_children()

void litehtml::document::fix_table_children ( element::ptr &  el_ptr,
style_display  disp,
const tchar_t *  disp_str 
)
private

Definition at line 862 of file document.cpp.

◆ fix_table_parent()

void litehtml::document::fix_table_parent ( element::ptr &  el_ptr,
style_display  disp,
const tchar_t *  disp_str 
)
private

Definition at line 921 of file document.cpp.

◆ fix_tables_layout()

void litehtml::document::fix_tables_layout ( )
private

Definition at line 818 of file document.cpp.

◆ get_context()

litehtml::context * litehtml::document::get_context ( ) const
inline

Definition at line 109 of file document.h.

◆ get_def_color()

web_color litehtml::document::get_def_color ( )
inline

Definition at line 82 of file document.h.

◆ get_fixed_boxes()

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

Definition at line 619 of file document.cpp.

◆ get_font()

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

Definition at line 240 of file document.cpp.

◆ get_styles()

const litehtml::css & litehtml::document::get_styles ( ) const
inline

Definition at line 108 of file document.h.

◆ get_userdata()

void * litehtml::document::get_userdata ( )
inline

Definition at line 104 of file document.h.

◆ height()

int litehtml::document::height ( ) const

Definition at line 385 of file document.cpp.

◆ is_initialised()

bool litehtml::document::is_initialised ( ) const
inline

Definition at line 111 of file document.h.

◆ lang_changed()

bool litehtml::document::lang_changed ( )

Definition at line 644 of file document.cpp.

◆ match_lang()

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

Definition at line 135 of file document.h.

◆ media_changed()

bool litehtml::document::media_changed ( )

Definition at line 629 of file document.cpp.

◆ on_lbutton_down()

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

Definition at line 477 of file document.cpp.

◆ on_lbutton_up()

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

Definition at line 530 of file document.cpp.

◆ on_mouse_leave()

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

Definition at line 460 of file document.cpp.

◆ on_mouse_move()

bool litehtml::document::on_mouse_move ( int  x,
int  y 
)

Definition at line 398 of file document.cpp.

◆ on_mouse_over()

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

Definition at line 415 of file document.cpp.

◆ render()

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

Definition at line 278 of file document.cpp.

◆ root()

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

Definition at line 127 of file document.h.

◆ set_userdata()

void litehtml::document::set_userdata ( void *  userdata)
inline

Definition at line 103 of file document.h.

◆ update_media_lists()

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

Definition at line 665 of file document.cpp.

◆ width()

int litehtml::document::width ( ) const

Definition at line 380 of file document.cpp.

Member Data Documentation

◆ m_container

document_container* litehtml::document::m_container
private

Definition at line 58 of file document.h.

◆ m_context

litehtml::context* litehtml::document::m_context
private

Definition at line 63 of file document.h.

◆ m_css

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

Definition at line 60 of file document.h.

◆ m_culture

tstring litehtml::document::m_culture
private

Definition at line 71 of file document.h.

◆ m_def_color

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

Definition at line 62 of file document.h.

◆ m_fixed_boxes

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

Definition at line 65 of file document.h.

◆ m_fonts

fonts_map litehtml::document::m_fonts
private

Definition at line 59 of file document.h.

◆ m_initialised

bool litehtml::document::m_initialised
private

Definition at line 73 of file document.h.

◆ m_lang

tstring litehtml::document::m_lang
private

Definition at line 70 of file document.h.

◆ m_media

media_features litehtml::document::m_media
private

Definition at line 69 of file document.h.

◆ m_media_lists

media_query_list::vector litehtml::document::m_media_lists
private

Definition at line 66 of file document.h.

◆ m_over_element

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

Definition at line 67 of file document.h.

◆ m_root

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

Definition at line 57 of file document.h.

◆ m_size

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

Definition at line 64 of file document.h.

◆ m_styles

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

Definition at line 61 of file document.h.

◆ m_tabular_elements

elements_vector litehtml::document::m_tabular_elements
private

Definition at line 68 of file document.h.

◆ m_userdata

void* litehtml::document::m_userdata
private

Definition at line 72 of file document.h.


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