#ifndef VSTYLEPARSER_H #define VSTYLEPARSER_H #include #include #include #include #include "pegmarkdownhighlighter.h" extern "C" { #include #include } class QColor; class QBrush; class VStyleParser { public: VStyleParser(); ~VStyleParser(); void parseMarkdownStyle(const QString &styleStr); QVector fetchMarkdownStyles(const QFont &baseFont) const; // Fetch style sections: editor, editor-selection, editor-current-line. // @styles: [rule] -> ([attr] -> value). void fetchMarkdownEditorStyles(QPalette &palette, QFont &font, QMap> &styles) const; QHash fetchCodeBlockStyles(const QFont &p_baseFont) const; private: QColor QColorFromPmhAttr(pmh_attr_argb_color *attr) const; QBrush QBrushFromPmhAttr(pmh_attr_argb_color *attr) const; QTextCharFormat QTextCharFormatFromAttrs(pmh_style_attribute *attrs, const QFont &baseFont) const; pmh_style_collection *markdownStyles; }; #endif // VSTYLEPARSER_H