diff options
Diffstat (limited to 'src/Editor.cxx')
| -rw-r--r-- | src/Editor.cxx | 10 | 
1 files changed, 10 insertions, 0 deletions
| diff --git a/src/Editor.cxx b/src/Editor.cxx index d10a8cee0..b455376ae 100644 --- a/src/Editor.cxx +++ b/src/Editor.cxx @@ -810,6 +810,10 @@ void Editor::LayoutLine(int line, Surface *surface, ViewStyle &vstyle, LineLayou  			ll.chars[numCharsInLine] = chDoc;  			ll.styles[numCharsInLine] = static_cast<char>(styleByte & styleMask);  			ll.indicators[numCharsInLine] = static_cast<char>(styleByte & ~styleMask); +			if (vstyle.styles[ll.styles[numCharsInLine]].caseForce == Style::caseUpper) +				ll.chars[numCharsInLine] = static_cast<char>(toupper(chDoc)); +			else if (vstyle.styles[ll.styles[numCharsInLine]].caseForce == Style::caseLower) +				ll.chars[numCharsInLine] = static_cast<char>(tolower(chDoc));  			numCharsInLine++;  		}  	} @@ -4322,6 +4326,12 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) {  			InvalidateStyleRedraw();  		}  		break; +	case SCI_STYLESETCASE: +		if (wParam <= STYLE_MAX) { +			vs.styles[wParam].caseForce = static_cast<Style::ecaseForced>(lParam); +			InvalidateStyleRedraw(); +		} +		break;  	case SCI_STYLESETCHARACTERSET:  		if (wParam <= STYLE_MAX) {  			vs.styles[wParam].characterSet = lParam; | 
