ide: LayDes improvements, fixed TextDiff highlighting issue (light them, dark text highlighting -> invisible text)

git-svn-id: svn://ultimatepp.org/upp/trunk@14028 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
cxl 2020-02-18 09:06:47 +00:00
parent afa6bdd38d
commit 5c351db10d
8 changed files with 54 additions and 49 deletions

View file

@ -283,11 +283,21 @@ void TextCompareCtrl::Paint(Draw& draw)
int sell, selh;
GetSelection(sell, selh);
WString test = "č"; // read text/paper colors from highlighting scheme using likely non-highlighted text
Vector<LineEdit::Highlight> th;
th.SetCount(2);
th[0].ink = SColorText();
th[0].paper = SColorPaper();
WhenHighlight(th, test);
Color text_color = th[0].ink;
Color paper_color = th[0].paper;
for(int i = first_line; i <= last_line; i++) {
const Line& l = lines[i];
int y = i * letter.cy - offset.cy;
Color ink = SColorText();
Color paper = IsNull(l.number) ? LtGray() : l.diff ? diffpaper : SColorPaper();
Color ink = text_color;
Color paper = IsNull(l.number) ? LtGray() : l.diff ? diffpaper : paper_color;
bool sel = l.number >= sell && l.number <= selh;
if(sel) {
ink = SColorHighlightText;