summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGlenn Smith <glenn@vector35.com>2023-11-16 14:39:17 -0500
committerGlenn Smith <glenn@vector35.com>2023-11-16 19:31:44 -0500
commit7259170670495345587117922735439997869754 (patch)
tree6216fb9dbf42235cc88f0969d0b0c1b254c158af
parentc798413b1d6625a94d90f1ef56c067370d93bb9f (diff)
Special color for exported symbols
Imports have their own color, so exports can too
-rw-r--r--binaryninjacore.h1
-rw-r--r--examples/triage/exports.cpp2
-rw-r--r--examples/triage/imports.cpp2
-rw-r--r--themes/dark-blue.theme1
-rw-r--r--themes/high-contrast.theme1
-rw-r--r--themes/solarized-dark.theme1
-rw-r--r--themes/solarized-light.theme1
-rw-r--r--ui/theme.h2
8 files changed, 11 insertions, 0 deletions
diff --git a/binaryninjacore.h b/binaryninjacore.h
index 06ec52cb..e3fa2962 100644
--- a/binaryninjacore.h
+++ b/binaryninjacore.h
@@ -1798,6 +1798,7 @@ extern "C"
DataSymbolColor,
StackVariableColor,
ImportColor,
+ ExportColor,
InstructionHighlightColor,
RelatedInstructionHighlightColor,
TokenHighlightColor,
diff --git a/examples/triage/exports.cpp b/examples/triage/exports.cpp
index 92560527..808d1f01 100644
--- a/examples/triage/exports.cpp
+++ b/examples/triage/exports.cpp
@@ -100,6 +100,8 @@ QVariant GenericExportsModel::data(const QModelIndex& index, int role) const
case Qt::ForegroundRole:
if (index.column() == AddressColumn)
return getThemeColor(AddressColor);
+ if (index.column() == NameColumn)
+ return getThemeColor(ExportColor);
break;
default:
break;
diff --git a/examples/triage/imports.cpp b/examples/triage/imports.cpp
index 26e608b2..2009dccf 100644
--- a/examples/triage/imports.cpp
+++ b/examples/triage/imports.cpp
@@ -71,6 +71,8 @@ QVariant GenericImportsModel::data(const QModelIndex& index, int role) const
case Qt::ForegroundRole:
if (index.column() == 0)
return getThemeColor(AddressColor);
+ if (index.column() == m_nameCol)
+ return getThemeColor(ImportColor);
break;
default:
break;
diff --git a/themes/dark-blue.theme b/themes/dark-blue.theme
index b0f83598..79f93694 100644
--- a/themes/dark-blue.theme
+++ b/themes/dark-blue.theme
@@ -79,6 +79,7 @@
"dataSymbolColor": "cyan",
"stackVariableColor": ["+", "green", "content"],
"importColor": "orange",
+ "exportColor": "magenta",
"instructionHighlightColor": "selectionLight",
"tokenHighlightColor": "red",
"annotationColor": "magenta",
diff --git a/themes/high-contrast.theme b/themes/high-contrast.theme
index c09e1642..2b71a155 100644
--- a/themes/high-contrast.theme
+++ b/themes/high-contrast.theme
@@ -78,6 +78,7 @@
"dataSymbolColor": "cyan",
"stackVariableColor": ["+", "green", "content"],
"importColor": "orange",
+ "exportColor": "magenta",
"instructionHighlightColor": "selectionLight",
"tokenHighlightColor": "red",
"annotationColor": "red",
diff --git a/themes/solarized-dark.theme b/themes/solarized-dark.theme
index 5d1860f3..425591c8 100644
--- a/themes/solarized-dark.theme
+++ b/themes/solarized-dark.theme
@@ -75,6 +75,7 @@
"dataSymbolColor": "cyan",
"stackVariableColor": "violet",
"importColor": "orange",
+ "exportColor": "magenta",
"instructionHighlightColor": "secondary",
"tokenHighlightColor": ["+", "secondary", "orange"],
"annotationColor": "magenta",
diff --git a/themes/solarized-light.theme b/themes/solarized-light.theme
index 2799892b..bebd0d8d 100644
--- a/themes/solarized-light.theme
+++ b/themes/solarized-light.theme
@@ -75,6 +75,7 @@
"dataSymbolColor": "cyan",
"stackVariableColor": "violet",
"importColor": "orange",
+ "exportColor": "violet",
"instructionHighlightColor": "secondary",
"tokenHighlightColor": ["+", "secondary", "orange"],
"annotationColor": "magenta",
diff --git a/ui/theme.h b/ui/theme.h
index bb7a8153..47f054d5 100644
--- a/ui/theme.h
+++ b/ui/theme.h
@@ -49,6 +49,8 @@ void BINARYNINJAUIAPI addJsonTheme(const char* json);
QColor BINARYNINJAUIAPI getThemeColor(BNThemeColor color);
QColor BINARYNINJAUIAPI getTokenColor(QWidget* widget, BNInstructionTextTokenType token);
QColor BINARYNINJAUIAPI getTypeClassColor(const QWidget* widget, BNTypeClass typeClass);
+std::optional<QColor> BINARYNINJAUIAPI getSymbolColor(SymbolRef symbol);
+std::optional<QColor> BINARYNINJAUIAPI getSymbolColor(BNSymbolType type, BNSymbolBinding binding);
QColor BINARYNINJAUIAPI avgColor(QColor a, QColor b);
QColor BINARYNINJAUIAPI mixColor(QColor a, QColor b, uint8_t mix);