summaryrefslogtreecommitdiff
path: root/ui
diff options
context:
space:
mode:
authorGlenn Smith <glenn@vector35.com>2024-12-27 16:14:46 -0500
committerGlenn Smith <glenn@vector35.com>2025-01-30 17:20:05 -0500
commit8862696926173104957729683832591438161557 (patch)
tree78ba6d7dc8144430136086c8dc84726171eec8ab /ui
parent5a5426d030b6be26d4564ba1eba2d8a275533256 (diff)
Render Layers
Diffstat (limited to 'ui')
-rw-r--r--ui/disassemblyview.h5
-rw-r--r--ui/flowgraphwidget.h2
-rw-r--r--ui/linearview.h5
3 files changed, 11 insertions, 1 deletions
diff --git a/ui/disassemblyview.h b/ui/disassemblyview.h
index c7595f96..7c97576d 100644
--- a/ui/disassemblyview.h
+++ b/ui/disassemblyview.h
@@ -81,6 +81,9 @@ class BINARYNINJAUIAPI DisassemblyView : public FlowGraphWidget
void setDisplayedFileName();
void setAddressBaseOffset(bool toHere);
+ void toggleRenderLayer(const std::string& layer);
+ FlowGraphRef applyRenderLayers(FlowGraphRef graph);
+
virtual DisassemblySettingsRef getDisassemblySettings() override;
virtual void setDisassemblySettings(DisassemblySettingsRef settings) override;
@@ -89,6 +92,7 @@ class BINARYNINJAUIAPI DisassemblyView : public FlowGraphWidget
virtual void onHighlightChanged(const HighlightTokenState& highlight) override;
static void registerActions();
+ virtual void bindDynamicActions() override;
private:
class DisassemblyViewOptionsWidget : public MenuHelper
@@ -138,6 +142,7 @@ class BINARYNINJAUIAPI DisassemblyView : public FlowGraphWidget
BNDisassemblyCallParameterHints m_callParamHints;
DisassemblyContainer* m_container;
SettingsRef m_settings;
+ std::set<std::string> m_layers;
private Q_SLOTS:
void viewInHexEditor();
diff --git a/ui/flowgraphwidget.h b/ui/flowgraphwidget.h
index 858b8126..3ef1b111 100644
--- a/ui/flowgraphwidget.h
+++ b/ui/flowgraphwidget.h
@@ -182,7 +182,7 @@ class BINARYNINJAUIAPI FlowGraphWidget :
virtual void contextMenuEvent(QContextMenuEvent*) override;
void bindActions();
- void bindDynamicActions();
+ virtual void bindDynamicActions();
void navigateToAddress(uint64_t addr);
void navigateToGotoLabel(uint64_t label);
diff --git a/ui/linearview.h b/ui/linearview.h
index 888425e7..d328fd7c 100644
--- a/ui/linearview.h
+++ b/ui/linearview.h
@@ -242,6 +242,8 @@ class BINARYNINJAUIAPI LinearView : public QAbstractScrollArea, public View, pub
QWidget* m_dataButtonContainer = nullptr;
QHBoxLayout* m_dataButtonLayout = nullptr;
+ std::set<std::string> m_layers;
+
void setTopToAddress(uint64_t addr);
void setTopToOrderingIndex(uint64_t idx);
void refreshLines(size_t lineOffset = 0, bool refreshUIContext = true);
@@ -499,6 +501,9 @@ public:
void setDisplayedFileName();
void setAddressBaseOffset(bool toHere);
+ void toggleRenderLayer(const std::string& layer);
+ BinaryNinja::Ref<BinaryNinja::LinearViewCursor> applyRenderLayers(BinaryNinja::Ref<BinaryNinja::LinearViewCursor> cursor);
+
virtual bool goToReference(FunctionRef func, uint64_t source, uint64_t target) override;
QFont getFont() override { return m_render.getFont(); }