diff options
| author | Zufu Liu <unknown> | 2020-03-19 08:53:15 +1100 | 
|---|---|---|
| committer | Zufu Liu <unknown> | 2020-03-19 08:53:15 +1100 | 
| commit | 63fcc3edaf7ca501fdf7d6d98bb0a5de24939f71 (patch) | |
| tree | ddcef2af54c9c3d3ab4cc1b9adec80df78808f49 /src | |
| parent | d37556bb750b9e03263036ea2e6afe4ee8dab79a (diff) | |
| download | scintilla-mirror-63fcc3edaf7ca501fdf7d6d98bb0a5de24939f71.tar.gz | |
Backport: Feature [feature-requests:1302] Add IsCaretVisible to simplify DrawCarets.
Backport of changeset 8010:4b365fa302a2.
Diffstat (limited to 'src')
| -rw-r--r-- | src/EditView.cxx | 2 | ||||
| -rw-r--r-- | src/ViewStyle.cxx | 4 | ||||
| -rw-r--r-- | src/ViewStyle.h | 1 | 
3 files changed, 6 insertions, 1 deletions
| diff --git a/src/EditView.cxx b/src/EditView.cxx index 9418cf597..f2b4e6c03 100644 --- a/src/EditView.cxx +++ b/src/EditView.cxx @@ -1353,7 +1353,7 @@ void EditView::DrawCarets(Surface *surface, const EditModel &model, const ViewSt  			}  			const bool caretBlinkState = (model.caret.active && model.caret.on) || (!additionalCaretsBlink && !mainCaret);  			const bool caretVisibleState = additionalCaretsVisible || mainCaret; -			if ((xposCaret >= 0) && (vsDraw.caretWidth > 0) && (vsDraw.caretStyle != CARETSTYLE_INVISIBLE) && +			if ((xposCaret >= 0) && vsDraw.IsCaretVisible() &&  				(drawDrag || (caretBlinkState && caretVisibleState))) {  				bool caretAtEOF = false;  				bool caretAtEOL = false; diff --git a/src/ViewStyle.cxx b/src/ViewStyle.cxx index 6ec980af4..43b48544c 100644 --- a/src/ViewStyle.cxx +++ b/src/ViewStyle.cxx @@ -549,6 +549,10 @@ bool ViewStyle::IsBlockCaretStyle() const noexcept {  		(caretStyle & CARETSTYLE_OVERSTRIKE_BLOCK) != 0;  } +bool ViewStyle::IsCaretVisible() const noexcept { +	return caretWidth > 0 && caretStyle != CARETSTYLE_INVISIBLE; +} +  bool ViewStyle::DrawCaretInsideSelection(bool inOverstrike, bool imeCaretBlockOverride) const noexcept {  	if (caretStyle & CARETSTYLE_BLOCK_AFTER)  		return false; diff --git a/src/ViewStyle.h b/src/ViewStyle.h index 0235b3651..7f6853f13 100644 --- a/src/ViewStyle.h +++ b/src/ViewStyle.h @@ -201,6 +201,7 @@ public:  	enum class CaretShape { invisible, line, block, bar };  	bool IsBlockCaretStyle() const noexcept; +	bool IsCaretVisible() const noexcept;  	bool DrawCaretInsideSelection(bool inOverstrike, bool imeCaretBlockOverride) const noexcept;  	CaretShape CaretShapeForMode(bool inOverstrike) const noexcept; | 
