diff options
Diffstat (limited to 'src/Editor.cxx')
| -rw-r--r-- | src/Editor.cxx | 17 | 
1 files changed, 17 insertions, 0 deletions
diff --git a/src/Editor.cxx b/src/Editor.cxx index 97c141bae..35148299e 100644 --- a/src/Editor.cxx +++ b/src/Editor.cxx @@ -5832,6 +5832,19 @@ void Editor::StyleSetMessage(Message iMessage, uptr_t wParam, sptr_t lParam) {  	case Message::StyleSetVisible:  		vs.styles[wParam].visible = lParam != 0;  		break; +	case Message::StyleSetInvisibleRepresentation: { +		const char *utf8 = ConstCharPtrFromSPtr(lParam); +		char *rep = vs.styles[wParam].invisibleRepresentation; +		const int classified = UTF8Classify(utf8); +		if (!(classified & UTF8MaskInvalid)) { +			// valid UTF-8 +			int len = classified & UTF8MaskWidth; +			while (len--) +				*rep++ = *utf8++; +		} +		*rep = 0; +		break; +	}  	case Message::StyleSetChangeable:  		vs.styles[wParam].changeable = lParam != 0;  		break; @@ -5878,6 +5891,8 @@ sptr_t Editor::StyleGetMessage(Message iMessage, uptr_t wParam, sptr_t lParam) {  		return vs.styles[wParam].visible ? 1 : 0;  	case Message::StyleGetChangeable:  		return vs.styles[wParam].changeable ? 1 : 0; +	case Message::StyleGetInvisibleRepresentation: +		return StringResult(lParam, vs.styles[wParam].invisibleRepresentation);  	case Message::StyleGetHotSpot:  		return vs.styles[wParam].hotspot ? 1 : 0;  	case Message::StyleGetCheckMonospaced: @@ -7328,6 +7343,7 @@ sptr_t Editor::WndProc(Message iMessage, uptr_t wParam, sptr_t lParam) {  	case Message::StyleSetChangeable:  	case Message::StyleSetHotSpot:  	case Message::StyleSetCheckMonospaced: +	case Message::StyleSetInvisibleRepresentation:  		StyleSetMessage(iMessage, wParam, lParam);  		break; @@ -7347,6 +7363,7 @@ sptr_t Editor::WndProc(Message iMessage, uptr_t wParam, sptr_t lParam) {  	case Message::StyleGetChangeable:  	case Message::StyleGetHotSpot:  	case Message::StyleGetCheckMonospaced: +	case Message::StyleGetInvisibleRepresentation:  		return StyleGetMessage(iMessage, wParam, lParam);  	case Message::StyleResetDefault:  | 
