Photon 1.0.0
Loading...
Searching...
No Matches
container_cairo_pango.h
Go to the documentation of this file.
1#ifndef LITEBROWSER_CONTAINER_CAIRO_PANGO_H
2#define LITEBROWSER_CONTAINER_CAIRO_PANGO_H
3
4#include <litehtml.h>
5#include "container_cairo.h"
6#include <cairo.h>
7#include <pango/pangocairo.h>
8#include <pango/pango-font.h>
9#include <set>
10
24
26{
27 cairo_surface_t* m_temp_surface;
28 cairo_t* m_temp_cr;
29 std::set<std::string> m_all_fonts;
30public:
32 ~container_cairo_pango() override;
33 litehtml::uint_ptr create_font(const char* faceName, int size, int weight, litehtml::font_style italic, unsigned int decoration, litehtml::font_metrics* fm) override;
34 void delete_font(litehtml::uint_ptr hFont) override;
35 int text_width(const char* text, litehtml::uint_ptr hFont) override;
36 void draw_text(litehtml::uint_ptr hdc, const char* text, litehtml::uint_ptr hFont, litehtml::web_color color, const litehtml::position& pos) override;
37
38 virtual cairo_font_options_t* get_font_options() { return nullptr; }
39};
40
41#endif //LITEBROWSER_CONTAINER_CAIRO_PANGO_H
Definition container_cairo_pango.h:26
std::set< std::string > m_all_fonts
Definition container_cairo_pango.h:29
virtual cairo_font_options_t * get_font_options()
Definition container_cairo_pango.h:38
cairo_surface_t * m_temp_surface
Definition container_cairo_pango.h:27
container_cairo_pango()
Definition container_cairo_pango.cpp:3
int text_width(const char *text, litehtml::uint_ptr hFont) override
Definition container_cairo_pango.cpp:154
~container_cairo_pango() override
Definition container_cairo_pango.cpp:26
litehtml::uint_ptr create_font(const char *faceName, int size, int weight, litehtml::font_style italic, unsigned int decoration, litehtml::font_metrics *fm) override
Definition container_cairo_pango.cpp:33
void delete_font(litehtml::uint_ptr hFont) override
Definition container_cairo_pango.cpp:144
cairo_t * m_temp_cr
Definition container_cairo_pango.h:28
void draw_text(litehtml::uint_ptr hdc, const char *text, litehtml::uint_ptr hFont, litehtml::web_color color, const litehtml::position &pos) override
Definition container_cairo_pango.cpp:176
Definition container_cairo.h:33
std::uintptr_t uint_ptr
Definition types.h:17
font_style
Definition types.h:374
Definition container_cairo_pango.h:12
bool underline
Definition container_cairo_pango.h:15
int descent
Definition container_cairo_pango.h:18
int strikethrough_position
Definition container_cairo_pango.h:22
bool strikeout
Definition container_cairo_pango.h:16
int strikethrough_thickness
Definition container_cairo_pango.h:21
int size
Definition container_cairo_pango.h:14
int underline_thickness
Definition container_cairo_pango.h:19
PangoFontDescription * font
Definition container_cairo_pango.h:13
int underline_position
Definition container_cairo_pango.h:20
int ascent
Definition container_cairo_pango.h:17
Definition Bitmap.h:10
Definition types.h:197
Definition types.h:103
Definition web_color.h:9