Photon 1.0.0
Loading...
Searching...
No Matches
container_cairo Class Referenceabstract

#include <container_cairo.h>

Inheritance diagram for container_cairo:
litehtml::document_container container_cairo_pango windows_container html2png::container

Public Member Functions

 container_cairo ()=default
 
virtual ~container_cairo ()=default
 
int pt_to_px (int pt) const override
 
int get_default_font_size () const override
 
const char * get_default_font_name () const override
 
void get_image_size (const char *src, const char *baseurl, litehtml::size &sz) override
 
void draw_image (litehtml::uint_ptr hdc, const litehtml::background_layer &layer, const std::string &url, const std::string &base_url) override
 
void draw_solid_fill (litehtml::uint_ptr hdc, const litehtml::background_layer &layer, const litehtml::web_color &color) override
 
void draw_linear_gradient (litehtml::uint_ptr hdc, const litehtml::background_layer &layer, const litehtml::background_layer::linear_gradient &gradient) override
 
void draw_radial_gradient (litehtml::uint_ptr hdc, const litehtml::background_layer &layer, const litehtml::background_layer::radial_gradient &gradient) override
 
void draw_conic_gradient (litehtml::uint_ptr hdc, const litehtml::background_layer &layer, const litehtml::background_layer::conic_gradient &gradient) override
 
void draw_borders (litehtml::uint_ptr hdc, const litehtml::borders &borders, const litehtml::position &draw_pos, bool root) override
 
void draw_list_marker (litehtml::uint_ptr hdc, const litehtml::list_marker &marker) override
 
std::shared_ptr< litehtml::elementcreate_element (const char *tag_name, const litehtml::string_map &attributes, const std::shared_ptr< litehtml::document > &doc) override
 
void get_media_features (litehtml::media_features &media) const override
 
void get_language (litehtml::string &language, litehtml::string &culture) const override
 
void link (const std::shared_ptr< litehtml::document > &ptr, const litehtml::element::ptr &el) override
 
void transform_text (litehtml::string &text, litehtml::text_transform tt) override
 
void set_clip (const litehtml::position &pos, const litehtml::border_radiuses &bdr_radius) override
 
void del_clip () override
 
virtual void make_url (const char *url, const char *basepath, litehtml::string &out)
 
virtual cairo_surface_t * get_image (const std::string &url)=0
 
virtual double get_screen_dpi () const =0
 
virtual int get_screen_width () const =0
 
virtual int get_screen_height () const =0
 
void clear_images ()
 
- Public Member Functions inherited from litehtml::document_container
virtual litehtml::uint_ptr create_font (const char *faceName, int size, int weight, litehtml::font_style italic, unsigned int decoration, litehtml::font_metrics *fm)=0
 
virtual void delete_font (litehtml::uint_ptr hFont)=0
 
virtual int text_width (const char *text, litehtml::uint_ptr hFont)=0
 
virtual void draw_text (litehtml::uint_ptr hdc, const char *text, litehtml::uint_ptr hFont, litehtml::web_color color, const litehtml::position &pos)=0
 
virtual void load_image (const char *src, const char *baseurl, bool redraw_on_ready)=0
 
virtual void set_caption (const char *caption)=0
 
virtual void set_base_url (const char *base_url)=0
 
virtual void link (const std::shared_ptr< litehtml::document > &doc, const litehtml::element::ptr &el)=0
 
virtual void on_anchor_click (const char *url, const litehtml::element::ptr &el)=0
 
virtual void on_mouse_event (const litehtml::element::ptr &el, litehtml::mouse_event event)=0
 
virtual void set_cursor (const char *cursor)=0
 
virtual void import_css (litehtml::string &text, const litehtml::string &url, litehtml::string &baseurl)=0
 
virtual void get_client_rect (litehtml::position &client) const =0
 
virtual litehtml::element::ptr create_element (const char *tag_name, const litehtml::string_map &attributes, const std::shared_ptr< litehtml::document > &doc)=0
 
virtual litehtml::string resolve_color (const litehtml::string &) const
 
virtual void split_text (const char *text, const std::function< void(const char *)> &on_word, const std::function< void(const char *)> &on_space)
 

Protected Member Functions

virtual void draw_ellipse (cairo_t *cr, int x, int y, int width, int height, const litehtml::web_color &color, int line_width)
 
virtual void fill_ellipse (cairo_t *cr, int x, int y, int width, int height, const litehtml::web_color &color)
 
virtual void rounded_rectangle (cairo_t *cr, const litehtml::position &pos, const litehtml::border_radiuses &radius)
 
void clip_background_layer (cairo_t *cr, const litehtml::background_layer &layer)
 
void apply_clip (cairo_t *cr)
 
- Protected Member Functions inherited from litehtml::document_container
virtual ~document_container ()=default
 

Static Protected Member Functions

static void set_color (cairo_t *cr, const litehtml::web_color &color)
 

Protected Attributes

cairo_clip_box::vector m_clips
 

Static Private Member Functions

static void add_path_arc (cairo_t *cr, double x, double y, double rx, double ry, double a1, double a2, bool neg)
 
static void draw_pixbuf (cairo_t *cr, cairo_surface_t *bmp, int x, int y, int cx, int cy)
 
static cairo_surface_t * scale_surface (cairo_surface_t *surface, int width, int height)
 

Constructor & Destructor Documentation

◆ container_cairo()

container_cairo::container_cairo ( )
default

◆ ~container_cairo()

virtual container_cairo::~container_cairo ( )
virtualdefault

Member Function Documentation

◆ add_path_arc()

void container_cairo::add_path_arc ( cairo_t *  cr,
double  x,
double  y,
double  rx,
double  ry,
double  a1,
double  a2,
bool  neg 
)
staticprivate

◆ apply_clip()

void container_cairo::apply_clip ( cairo_t *  cr)
protected

◆ clear_images()

void container_cairo::clear_images ( )

◆ clip_background_layer()

void container_cairo::clip_background_layer ( cairo_t *  cr,
const litehtml::background_layer layer 
)
protected

◆ create_element()

std::shared_ptr< litehtml::element > container_cairo::create_element ( const char *  tag_name,
const litehtml::string_map attributes,
const std::shared_ptr< litehtml::document > &  doc 
)
override

◆ del_clip()

void container_cairo::del_clip ( )
overridevirtual

◆ draw_borders()

void container_cairo::draw_borders ( litehtml::uint_ptr  hdc,
const litehtml::borders borders,
const litehtml::position draw_pos,
bool  root 
)
overridevirtual

◆ draw_conic_gradient()

void container_cairo::draw_conic_gradient ( litehtml::uint_ptr  hdc,
const litehtml::background_layer layer,
const litehtml::background_layer::conic_gradient gradient 
)
overridevirtual

◆ draw_ellipse()

void container_cairo::draw_ellipse ( cairo_t *  cr,
int  x,
int  y,
int  width,
int  height,
const litehtml::web_color color,
int  line_width 
)
protectedvirtual

◆ draw_image()

void container_cairo::draw_image ( litehtml::uint_ptr  hdc,
const litehtml::background_layer layer,
const std::string &  url,
const std::string &  base_url 
)
overridevirtual

◆ draw_linear_gradient()

void container_cairo::draw_linear_gradient ( litehtml::uint_ptr  hdc,
const litehtml::background_layer layer,
const litehtml::background_layer::linear_gradient gradient 
)
overridevirtual

◆ draw_list_marker()

void container_cairo::draw_list_marker ( litehtml::uint_ptr  hdc,
const litehtml::list_marker marker 
)
overridevirtual

◆ draw_pixbuf()

void container_cairo::draw_pixbuf ( cairo_t *  cr,
cairo_surface_t *  bmp,
int  x,
int  y,
int  cx,
int  cy 
)
staticprivate

◆ draw_radial_gradient()

void container_cairo::draw_radial_gradient ( litehtml::uint_ptr  hdc,
const litehtml::background_layer layer,
const litehtml::background_layer::radial_gradient gradient 
)
overridevirtual

◆ draw_solid_fill()

void container_cairo::draw_solid_fill ( litehtml::uint_ptr  hdc,
const litehtml::background_layer layer,
const litehtml::web_color color 
)
overridevirtual

◆ fill_ellipse()

void container_cairo::fill_ellipse ( cairo_t *  cr,
int  x,
int  y,
int  width,
int  height,
const litehtml::web_color color 
)
protectedvirtual

◆ get_default_font_name()

const char * container_cairo::get_default_font_name ( ) const
overridevirtual

◆ get_default_font_size()

int container_cairo::get_default_font_size ( ) const
overridevirtual

◆ get_image()

virtual cairo_surface_t * container_cairo::get_image ( const std::string &  url)
pure virtual

Implemented in html2png::container, and windows_container.

◆ get_image_size()

void container_cairo::get_image_size ( const char *  src,
const char *  baseurl,
litehtml::size sz 
)
overridevirtual

◆ get_language()

void container_cairo::get_language ( litehtml::string &  language,
litehtml::string &  culture 
) const
overridevirtual

◆ get_media_features()

void container_cairo::get_media_features ( litehtml::media_features media) const
overridevirtual

◆ get_screen_dpi()

virtual double container_cairo::get_screen_dpi ( ) const
pure virtual

Implemented in html2png::container, and windows_container.

◆ get_screen_height()

virtual int container_cairo::get_screen_height ( ) const
pure virtual

Implemented in html2png::container, and windows_container.

◆ get_screen_width()

virtual int container_cairo::get_screen_width ( ) const
pure virtual

Implemented in html2png::container, and windows_container.

◆ link()

void container_cairo::link ( const std::shared_ptr< litehtml::document > &  ptr,
const litehtml::element::ptr el 
)
override

◆ make_url()

void container_cairo::make_url ( const char *  url,
const char *  basepath,
litehtml::string &  out 
)
virtual

◆ pt_to_px()

int container_cairo::pt_to_px ( int  pt) const
overridevirtual

◆ rounded_rectangle()

void container_cairo::rounded_rectangle ( cairo_t *  cr,
const litehtml::position pos,
const litehtml::border_radiuses radius 
)
protectedvirtual

◆ scale_surface()

cairo_surface_t * container_cairo::scale_surface ( cairo_surface_t *  surface,
int  width,
int  height 
)
staticprivate

◆ set_clip()

void container_cairo::set_clip ( const litehtml::position pos,
const litehtml::border_radiuses bdr_radius 
)
overridevirtual

◆ set_color()

static void container_cairo::set_color ( cairo_t *  cr,
const litehtml::web_color color 
)
inlinestaticprotected

◆ transform_text()

void container_cairo::transform_text ( litehtml::string &  text,
litehtml::text_transform  tt 
)
overridevirtual

Member Data Documentation

◆ m_clips

cairo_clip_box::vector container_cairo::m_clips
protected

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