14#include <QTextDocument>
27 DocumentContainerContext();
28 ~DocumentContainerContext();
30 void setMasterStyleSheet(
const QString &css);
33 std::unique_ptr<DocumentContainerContextPrivate> d;
35 friend class DocumentContainer;
36 friend class DocumentContainerPrivate;
43 virtual ~DocumentContainer();
46 void setPaintDevice(QPaintDevice *paintDevice);
47 void setDocument(
const QByteArray &data, DocumentContainerContext *context);
48 bool hasDocument()
const;
49 void setBaseUrl(
const QString &url);
50 void setScrollPosition(
const QPoint &pos);
51 void render(
int width,
int height);
52 void draw(QPainter *painter,
const QRect &clip);
53 int documentWidth()
const;
54 int documentHeight()
const;
55 int anchorY(
const QString &anchorName)
const;
58 QVector<QRect> mousePressEvent(
const QPoint &documentPos,
59 const QPoint &viewportPos,
60 Qt::MouseButton button);
61 QVector<QRect> mouseMoveEvent(
const QPoint &documentPos,
const QPoint &viewportPos);
62 QVector<QRect> mouseReleaseEvent(
const QPoint &documentPos,
63 const QPoint &viewportPos,
64 Qt::MouseButton button);
65 QVector<QRect> mouseDoubleClickEvent(
const QPoint &documentPos,
66 const QPoint &viewportPos,
67 Qt::MouseButton button);
68 QVector<QRect> leaveEvent();
70 QUrl linkAt(
const QPoint &documentPos,
const QPoint &viewportPos);
72 QString caption()
const;
73 QString selectedText()
const;
75 void findText(
const QString &text,
76 QTextDocument::FindFlags flags,
80 QVector<QRect> *oldSelection,
81 QVector<QRect> *newSelection);
83 void setDefaultFont(
const QFont &font);
84 QFont defaultFont()
const;
85 void setAntialias(
bool on);
86 bool antialias()
const;
88 using DataCallback = std::function<QByteArray(QUrl)>;
89 void setDataCallback(
const DataCallback &callback);
91 using CursorCallback = std::function<
void(QCursor)>;
92 void setCursorCallback(
const CursorCallback &callback);
94 using LinkCallback = std::function<
void(QUrl)>;
95 void setLinkCallback(
const LinkCallback &callback);
97 using PaletteCallback = std::function<QPalette()>;
98 void setPaletteCallback(
const PaletteCallback &callback);
100 using ClipboardCallback = std::function<
void(
bool)>;
101 void setClipboardCallback(
const ClipboardCallback &callback);
103 int withFixedElementPosition(
int y,
const std::function<
void()> &action);
106 std::unique_ptr<DocumentContainerPrivate> d;
void get_image_size(const char *src, const char *baseurl, litehtml::size &sz) override
int pt_to_px(int pt) const override
void get_client_rect(litehtml::position &client) const override
const char * get_default_font_name() const override
void on_anchor_click(const char *url, const litehtml::element::ptr &el) override
void get_media_features(litehtml::media_features &media) const override
void draw_borders(litehtml::uint_ptr hdc, const litehtml::borders &borders, const litehtml::position &draw_pos, bool root) override
void link(const std::shared_ptr< litehtml::document > &doc, const litehtml::element::ptr &el) override
litehtml::uint_ptr create_font(const char *faceName, int size, int weight, litehtml::font_style italic, unsigned int decoration, litehtml::font_metrics *fm) override
void draw_list_marker(litehtml::uint_ptr hdc, const litehtml::list_marker &marker) override
QString serifFont() const
void set_caption(const char *caption) override
void get_language(std::string &language, std::string &culture) const override
void delete_font(litehtml::uint_ptr hFont) override
void import_css(std::string &text, const std::string &url, std::string &baseurl) override
void load_image(const char *src, const char *baseurl, bool redraw_on_ready) override
void transform_text(std::string &text, litehtml::text_transform tt) override
void draw_background(litehtml::uint_ptr hdc, const std::vector< litehtml::background_paint > &bgs) override
int get_default_font_size() const override
void set_clip(const litehtml::position &pos, const litehtml::border_radiuses &bdr_radius) override
QString monospaceFont() const
int text_width(const char *text, litehtml::uint_ptr hFont) override
void set_cursor(const char *cursor) override
std::shared_ptr< litehtml::element > create_element(const char *tag_name, const litehtml::string_map &attributes, const std::shared_ptr< litehtml::document > &doc) override
void drawSelection(QPainter *painter, const QRect &clip) const
DocumentContainer::DataCallback m_dataCallback
QUrl resolveUrl(const QString &url, const QString &baseUrl) const
QString sansSerifFont() const
void set_base_url(const char *base_url) override
QPixmap getPixmap(const QString &imageUrl, const QString &baseUrl)
void draw_text(litehtml::uint_ptr hdc, const char *text, litehtml::uint_ptr hFont, litehtml::web_color color, const litehtml::position &pos) override
QRect boundingRect() const
static std::tuple< litehtml::element::ptr, litehtml::element::ptr, litehtml::element::ptr > getCommonParent(const litehtml::elements_list &a, const litehtml::elements_list &b)
static Qt::PenStyle borderPenStyle(litehtml::border_style style)
static QCursor toQCursor(const QString &c)
static Selection::Element selection_element_at_point(const litehtml::element::ptr &element, const QPoint &pos, const QPoint &viewportPos, Selection::Mode mode)
static Q_LOGGING_CATEGORY(log, "qlitehtml", QtCriticalMsg) static QFont toQFont(litehtml
static litehtml::element::ptr firstLeaf(const litehtml::element::ptr &element, const litehtml::element::ptr &stop)
static QFont::Style toQFontStyle(litehtml::font_style style)
static QRect toQRect(litehtml::position position)
static bool deepest_child_at_point(const litehtml::element::ptr &element, const QPoint &pos, const QPoint &viewportPos, const std::function< bool(const litehtml::element::ptr &)> &action, int level=0)
static QPen borderPen(const litehtml::border &border)
static std::pair< Selection::Element, Selection::Element > getStartAndEnd(const Selection::Element &a, const Selection::Element &b)
static litehtml::elements_list path(const litehtml::element::ptr &element)
static QPainter * toQPainter(litehtml::uint_ptr hdc)
static Selection::Element selectionDetails(const litehtml::element::ptr &element, const QString &text, const QPoint &pos)
static litehtml::element::ptr nextLeaf(const litehtml::element::ptr &element, const litehtml::element::ptr &stop)
static QColor toQColor(const litehtml::web_color &color)
static bool isVisible(const litehtml::element::ptr &element)
static litehtml::element::ptr elementForY(int y, const litehtml::element::ptr &element)
static QFont::Weight cssWeightToQtWeight(int cssWeight)
static QString tagName(const litehtml::element::ptr &e)
Entry findElement(int index) const