vstyleparser.h 992 B

123456789101112131415161718192021222324252627282930313233343536
  1. #ifndef VSTYLEPARSER_H
  2. #define VSTYLEPARSER_H
  3. #include <QPalette>
  4. #include <QVector>
  5. #include <QString>
  6. #include "hgmarkdownhighlighter.h"
  7. extern "C" {
  8. #include "utils/peg-highlight/pmh_definitions.h"
  9. #include "utils/peg-highlight/pmh_styleparser.h"
  10. }
  11. class QColor;
  12. class QBrush;
  13. class VStyleParser
  14. {
  15. public:
  16. VStyleParser();
  17. ~VStyleParser();
  18. void parseMarkdownStyle(const QString &styleStr);
  19. QVector<HighlightingStyle> fetchMarkdownStyles(const QFont &baseFont) const;
  20. QPalette fetchMarkdownEditorStyles(const QPalette &basePalette) const;
  21. private:
  22. QColor QColorFromPmhAttr(pmh_attr_argb_color *attr) const;
  23. QBrush QBrushFromPmhAttr(pmh_attr_argb_color *attr) const;
  24. QTextCharFormat QTextCharFormatFromAttrs(pmh_style_attribute *attrs,
  25. const QFont &baseFont) const;
  26. QString filterAvailableFontFamily(const QString &familyList) const;
  27. pmh_style_collection *markdownStyles;
  28. };
  29. #endif // VSTYLEPARSER_H