#pragma once #include #include #include #include "binaryninjaapi.h" #include "uicontext.h" class BINARYNINJAUIAPI CustomFusionStyle: public QProxyStyle { public: CustomFusionStyle(QStyle* parent); virtual int pixelMetric(PixelMetric metric, const QStyleOption* option, const QWidget* widget) const override; virtual QIcon standardIcon(StandardPixmap standardIcon, const QStyleOption* option, const QWidget* widget) const override; virtual QPixmap standardPixmap(StandardPixmap standardPixmap, const QStyleOption* option, const QWidget* widget) const override; }; void BINARYNINJAUIAPI initThemes(); void BINARYNINJAUIAPI resetUserThemes(); void BINARYNINJAUIAPI refreshUserThemes(); std::vector BINARYNINJAUIAPI getAvailableThemes(); QString BINARYNINJAUIAPI getActiveTheme(); void BINARYNINJAUIAPI setActiveTheme(const QString& name, bool saveToSettings = true); bool BINARYNINJAUIAPI isColorBlindMode(); void BINARYNINJAUIAPI setColorBlindMode(bool active); QColor BINARYNINJAUIAPI getThemeColor(BNThemeColor color); QColor BINARYNINJAUIAPI getTokenColor(QWidget* widget, BNInstructionTextTokenType token); QColor BINARYNINJAUIAPI avgColor(QColor a, QColor b); QColor BINARYNINJAUIAPI mixColor(QColor a, QColor b, uint8_t mix); QColor BINARYNINJAUIAPI getThemeHighlightColor(BNHighlightStandardColor color);