summaryrefslogtreecommitdiff
path: root/basicblock.cpp
diff options
context:
space:
mode:
authorRusty Wagner <rusty@vector35.com>2016-09-14 00:28:27 -0400
committerRusty Wagner <rusty@vector35.com>2016-09-14 00:28:27 -0400
commitfb0d896cd5cc3197a8dd259a9ca53f2788ef5fdb (patch)
tree3060742ed0484944bc16f4857435d68fbb12167f /basicblock.cpp
parent11d6f78e43e0f305be43aeb8fc75d9d6733e508a (diff)
Add APIs for instruction and block highlighting
Diffstat (limited to 'basicblock.cpp')
-rw-r--r--basicblock.cpp110
1 files changed, 110 insertions, 0 deletions
diff --git a/basicblock.cpp b/basicblock.cpp
index 377c5704..93a279a1 100644
--- a/basicblock.cpp
+++ b/basicblock.cpp
@@ -172,3 +172,113 @@ vector<DisassemblyTextLine> BasicBlock::GetDisassemblyText(DisassemblySettings*
BNFreeDisassemblyTextLines(lines, count);
return result;
}
+
+
+BNHighlightColor BasicBlock::GetBasicBlockHighlight()
+{
+ return BNGetBasicBlockHighlight(m_object);
+}
+
+
+void BasicBlock::SetAutoBasicBlockHighlight(BNHighlightColor color)
+{
+ BNSetAutoBasicBlockHighlight(m_object, color);
+}
+
+
+void BasicBlock::SetAutoBasicBlockHighlight(BNHighlightStandardColor color, uint8_t alpha)
+{
+ BNHighlightColor hc;
+ hc.style = StandardHighlightColor;
+ hc.color = color;
+ hc.mixColor = NoHighlightColor;
+ hc.mix = 0;
+ hc.r = 0;
+ hc.g = 0;
+ hc.b = 0;
+ hc.alpha = alpha;
+ SetAutoBasicBlockHighlight(hc);
+}
+
+
+void BasicBlock::SetAutoBasicBlockHighlight(BNHighlightStandardColor color, BNHighlightStandardColor mixColor,
+ uint8_t mix, uint8_t alpha)
+{
+ BNHighlightColor hc;
+ hc.style = MixedHighlightColor;
+ hc.color = color;
+ hc.mixColor = mixColor;
+ hc.mix = mix;
+ hc.r = 0;
+ hc.g = 0;
+ hc.b = 0;
+ hc.alpha = alpha;
+ SetAutoBasicBlockHighlight(hc);
+}
+
+
+void BasicBlock::SetAutoBasicBlockHighlight(uint8_t r, uint8_t g, uint8_t b, uint8_t alpha)
+{
+ BNHighlightColor hc;
+ hc.style = CustomHighlightColor;
+ hc.color = NoHighlightColor;
+ hc.mixColor = NoHighlightColor;
+ hc.mix = 0;
+ hc.r = r;
+ hc.g = g;
+ hc.b = b;
+ hc.alpha = alpha;
+ SetAutoBasicBlockHighlight(hc);
+}
+
+
+void BasicBlock::SetUserBasicBlockHighlight(BNHighlightColor color)
+{
+ BNSetUserBasicBlockHighlight(m_object, color);
+}
+
+
+void BasicBlock::SetUserBasicBlockHighlight(BNHighlightStandardColor color, uint8_t alpha)
+{
+ BNHighlightColor hc;
+ hc.style = StandardHighlightColor;
+ hc.color = color;
+ hc.mixColor = NoHighlightColor;
+ hc.mix = 0;
+ hc.r = 0;
+ hc.g = 0;
+ hc.b = 0;
+ hc.alpha = alpha;
+ SetUserBasicBlockHighlight(hc);
+}
+
+
+void BasicBlock::SetUserBasicBlockHighlight(BNHighlightStandardColor color, BNHighlightStandardColor mixColor,
+ uint8_t mix, uint8_t alpha)
+{
+ BNHighlightColor hc;
+ hc.style = MixedHighlightColor;
+ hc.color = color;
+ hc.mixColor = mixColor;
+ hc.mix = mix;
+ hc.r = 0;
+ hc.g = 0;
+ hc.b = 0;
+ hc.alpha = alpha;
+ SetUserBasicBlockHighlight(hc);
+}
+
+
+void BasicBlock::SetUserBasicBlockHighlight(uint8_t r, uint8_t g, uint8_t b, uint8_t alpha)
+{
+ BNHighlightColor hc;
+ hc.style = CustomHighlightColor;
+ hc.color = NoHighlightColor;
+ hc.mixColor = NoHighlightColor;
+ hc.mix = 0;
+ hc.r = r;
+ hc.g = g;
+ hc.b = b;
+ hc.alpha = alpha;
+ SetUserBasicBlockHighlight(hc);
+}