Don't assume background is white for disassembly view

The trail in the disassbemly view should have luminance going towards
the background color, that might be different color than white.

Contributed by STMicroelectronics

Change-Id: I9e00e71719cbd1fb40cc5e6de983aacbcb854106
Signed-off-by: Torbjörn Svensson <torbjorn.svensson@st.com>
diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyPart.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyPart.java
index 58e1072..73ab03b 100644
--- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyPart.java
+++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyPart.java
@@ -2933,9 +2933,10 @@
 		}
 		// update pc history trail
 		if (fPCHistory.size() > 1) {
+			final double bgLuminance = new HSL(fViewer.getTextWidget().getBackground().getRGB()).luminance;
 			HSL hsv = new HSL(fPCAnnotationRGB);
-			double luminanceStep = (1 - hsv.luminance) / (fPCHistorySizeMax + 1);
-			hsv.luminance = 1 - luminanceStep * (fPCHistorySizeMax - fPCHistory.size());
+			double luminanceStep = (bgLuminance - hsv.luminance) / (fPCHistorySizeMax + 1);
+			hsv.luminance = bgLuminance - luminanceStep * (fPCHistorySizeMax - fPCHistory.size());
 			for (ListIterator<AddressRangePosition> listIt = fPCHistory.listIterator(fPCHistory.size()); listIt
 					.hasPrevious();) {
 				AddressRangePosition pcPos = listIt.previous();