aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/ViewStyle.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'src/ViewStyle.cxx')
-rw-r--r--src/ViewStyle.cxx15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/ViewStyle.cxx b/src/ViewStyle.cxx
index 01b94cca1..5160cfc54 100644
--- a/src/ViewStyle.cxx
+++ b/src/ViewStyle.cxx
@@ -284,6 +284,7 @@ ViewStyle::ViewStyle(const ViewStyle &source) : ViewStyle(source.styles.size())
ms = source.ms;
maskInLine = source.maskInLine;
maskDrawInText = source.maskDrawInText;
+ maskDrawWrapped = source.maskDrawWrapped;
fixedColumnWidth = source.fixedColumnWidth;
marginInside = source.marginInside;
textStart = source.textStart;
@@ -347,6 +348,17 @@ void ViewStyle::CalculateMarginWidthAndMask() noexcept {
break;
}
}
+ maskDrawWrapped = 0;
+ for (int markBit = 0; markBit < 32; markBit++) {
+ const int maskBit = 1U << markBit;
+ switch (markers[markBit].markType) {
+ case MarkerSymbol::Bar:
+ maskDrawWrapped |= maskBit;
+ break;
+ default: // Other marker types do not affect the masks
+ break;
+ }
+ }
}
void ViewStyle::Refresh(Surface &surface, int tabInChars) {
@@ -493,6 +505,9 @@ void ViewStyle::CalcLargestMarkerHeight() noexcept {
if (marker.image && marker.image->GetHeight() > largestMarkerHeight)
largestMarkerHeight = marker.image->GetHeight();
break;
+ case MarkerSymbol::Bar:
+ largestMarkerHeight = lineHeight + 2;
+ break;
default: // Only images have their own natural heights
break;
}