TVirtualX::kXor
or TVirtualX::kInvert
? Does the following work for you?
auto c = new TCanvas;
c->FeedbackMode(true); // hides a call to gVirtualX->SetDrawMode(TVirtualX::kInvert)
// gVirtualX->SetDrawMode(TVirtualX::KXor)
gVirtualX->DrawLine(0, 0, 100, 100);
gVirtualX->DrawLine(0, 0, 100, 100); // does the line stay on screen?
But the tricky thing is that in DynamicSlice.C it works… I have no clue why.