diff options
Diffstat (limited to 'src/ViewStyle.cxx')
| -rw-r--r-- | src/ViewStyle.cxx | 20 | 
1 files changed, 15 insertions, 5 deletions
| diff --git a/src/ViewStyle.cxx b/src/ViewStyle.cxx index 455a44c1e..3785dec37 100644 --- a/src/ViewStyle.cxx +++ b/src/ViewStyle.cxx @@ -90,7 +90,6 @@ ViewStyle::ViewStyle(const ViewStyle &source) : markers(MARKER_MAX + 1), indicat  	hotspotColours = source.hotspotColours;  	hotspotUnderline = source.hotspotUnderline; -	whitespaceColours = source.whitespaceColours;  	controlCharSymbol = source.controlCharSymbol;  	controlCharWidth = source.controlCharWidth;  	selbar = source.selbar; @@ -109,6 +108,7 @@ ViewStyle::ViewStyle(const ViewStyle &source) : markers(MARKER_MAX + 1), indicat  	textStart = source.textStart;  	zoomLevel = source.zoomLevel;  	viewWhitespace = source.viewWhitespace; +	whitespaceBack = source.whitespaceBack;  	tabDrawMode = source.tabDrawMode;  	whitespaceSize = source.whitespaceSize;  	viewIndentationGuides = source.viewIndentationGuides; @@ -223,8 +223,6 @@ void ViewStyle::Init(size_t stylesSize_) {  	foldmarginColour.reset();  	foldmarginHighlightColour.reset(); -	whitespaceColours.fore.reset(); -	whitespaceColours.back.reset();  	controlCharSymbol = 0;	/* Draw the control characters */  	controlCharWidth = 0;  	selbar = Platform::Chrome(); @@ -267,8 +265,12 @@ void ViewStyle::Init(size_t stylesSize_) {  	textStart = marginInside ? fixedColumnWidth : leftMarginWidth;  	zoomLevel = 0;  	viewWhitespace = WhiteSpace::invisible; +	whitespaceBack.reset();  	tabDrawMode = TabDrawMode::longArrow;  	whitespaceSize = 1; +	elementColours.erase(SC_ELEMENT_WHITE_SPACE); +	elementAllowsTranslucent.insert(SC_ELEMENT_WHITE_SPACE); +  	viewIndentationGuides = IndentView::none;  	viewEOL = false;  	extraFontFlag = 0; @@ -521,7 +523,7 @@ bool ViewStyle::SelectionTextDrawn() const {  }  bool ViewStyle::WhitespaceBackgroundDrawn() const noexcept { -	return (viewWhitespace != WhiteSpace::invisible) && (whitespaceColours.back); +	return (viewWhitespace != WhiteSpace::invisible) && (whitespaceBack);  }  bool ViewStyle::WhiteSpaceVisible(bool inIndent) const noexcept { @@ -531,7 +533,7 @@ bool ViewStyle::WhiteSpaceVisible(bool inIndent) const noexcept {  }  ColourAlpha ViewStyle::WrapColour() const noexcept { -	return whitespaceColours.fore.value_or(styles[STYLE_DEFAULT].fore); +	return ElementColour(SC_ELEMENT_WHITE_SPACE).value_or(styles[STYLE_DEFAULT].fore);  }  // Insert new edge in sorted order. @@ -581,6 +583,14 @@ bool ViewStyle::SetElementColour(int element, ColourAlpha colour) {  	return changed;  } +bool ViewStyle::SetElementColourOptional(int element, uptr_t wParam, sptr_t lParam) { +	if (wParam) { +		return SetElementColour(element, ColourAlpha::FromRGB(static_cast<int>(lParam))); +	} else { +		return ResetElement(element); +	} +} +  void ViewStyle::SetElementRGB(int element, int rgb) {  	const ColourAlpha current = ElementColour(element).value_or(ColourAlpha(0, 0, 0, 0));  	elementColours[element] = ColourAlpha(ColourAlpha(rgb), current.GetAlpha()); | 
