Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/elfmz/far2l.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorelfmz <fenix1905@tut.by>2022-11-07 21:52:24 +0300
committerelfmz <fenix1905@tut.by>2022-11-07 21:52:24 +0300
commit47442dc490ad31edaa199af0f549a780f8dd1a62 (patch)
tree0c214abd50ce2daa7eaf2d0f11f4b8b41801e852
parentf92327816d47901597084ff620bb2daeaf0730cc (diff)
fix colorer truemod cursor cross support
-rw-r--r--colorer/configs/base/hrd/rgb/blue.hrd4
-rw-r--r--colorer/src/pcolorer2/FarEditor.cpp117
2 files changed, 85 insertions, 36 deletions
diff --git a/colorer/configs/base/hrd/rgb/blue.hrd b/colorer/configs/base/hrd/rgb/blue.hrd
index b2b2f60d..d6e10cc0 100644
--- a/colorer/configs/base/hrd/rgb/blue.hrd
+++ b/colorer/configs/base/hrd/rgb/blue.hrd
@@ -4,8 +4,8 @@
<hrd xmlns="http://colorer.sf.net/2003/hrd">
<assign name="def:Text" fore="#DADAFF" back="#000060"/>
- <assign name="def:HorzCross" fore="#000000" back="#e8e7f8"/>
- <assign name="def:VertCross" fore="#000000" back="#e1e0f2"/>
+ <assign name="def:HorzCross" fore="#DADAFF" back="#202080"/>
+ <assign name="def:VertCross" fore="#DADAFF" back="#202080"/>
<assign name="def:Number" fore="#00E000"/>
<assign name="def:NumberDec" fore="#00D000"/>
diff --git a/colorer/src/pcolorer2/FarEditor.cpp b/colorer/src/pcolorer2/FarEditor.cpp
index 7ba43c05..b5a5caf9 100644
--- a/colorer/src/pcolorer2/FarEditor.cpp
+++ b/colorer/src/pcolorer2/FarEditor.cpp
@@ -606,23 +606,21 @@ int FarEditor::editorEvent(int event, void *param)
// fills back
if (lno == ei.CurLine && showHorizontalCross){
- if (!TrueMod){
- addFARColor(lno, 0, ei.LeftPos + ei.WindowSizeX, horzCrossColor);
- }
- else{
- addFARColor(lno, 0, ei.LeftPos + ei.WindowSizeX, convert(nullptr));
- }
+ addFARColor(lno, 0, ei.LeftPos + ei.WindowSizeX, horzCrossColor);
}
else{
addFARColor(lno, 0, ei.LeftPos + ei.WindowSizeX, convert(nullptr));
}
- if (showVerticalCross && !TrueMod){
+ if (showVerticalCross){
+ auto col = vertCrossColor;
ecp_cl.StringNumber = lno;
ecp_cl.SrcPos = ecp.DestPos;
info->EditorControl(ECTL_TABTOREAL, &ecp_cl);
- vertCrossColor.concolor |= 0x10000;
- addFARColor(lno, ecp_cl.DestPos, ecp_cl.DestPos+1, vertCrossColor);
+ if (!TrueMod) {
+ col.concolor |= 0x10000;
+ }
+ addFARColor(lno, ecp_cl.DestPos, ecp_cl.DestPos+1, col);
};
bool vertCrossDone = false;
@@ -645,17 +643,22 @@ int FarEditor::editorEvent(int event, void *param)
if ((lno != ei.CurLine || !showHorizontalCross || crossZOrder == 0)){
color col = convert(l1->styled());
- //TODO
if (lno == ei.CurLine && showHorizontalCross){
- if (!TrueMod){
if (foreDefault(col)){
- col.concolor = (col.concolor&0xF0) + (horzCrossColor.concolor&0xF);
+ if (!TrueMod){
+ col.concolor = (col.concolor&0xF0) + (horzCrossColor.concolor&0xF);
+ } else {
+ col.fg = horzCrossColor.fg;
+ }
}
if (backDefault(col)){
- col.concolor = (col.concolor&0xF) + (horzCrossColor.concolor&0xF0);
+ if (!TrueMod){
+ col.concolor = (col.concolor&0xF) + (horzCrossColor.concolor&0xF0);
+ } else {
+ col.bk = horzCrossColor.bk;
+ }
}
- }
};
if (!col.concolor){
continue;
@@ -675,29 +678,44 @@ int FarEditor::editorEvent(int event, void *param)
};
// column
- if (!TrueMod && showVerticalCross && crossZOrder == 0 && l1->start <= ecp_cl.DestPos && ecp_cl.DestPos < lend){
+ if (showVerticalCross && crossZOrder == 0 && l1->start <= ecp_cl.DestPos && ecp_cl.DestPos < lend){
col = convert(l1->styled());
+ if (foreDefault(col)) {
+ if (!TrueMod){
+ col.concolor = (col.concolor&0xF0) + (vertCrossColor.concolor&0xF);
+ } else {
+ col.fg = horzCrossColor.fg;
+ }
+ }
- if (foreDefault(col)) col.concolor = (col.concolor&0xF0) + (vertCrossColor.concolor&0xF);
-
- if (backDefault(col)) col.concolor = (col.concolor&0xF) + (vertCrossColor.concolor&0xF0);
+ if (backDefault(col)) {
+ if (!TrueMod){
+ col.concolor = (col.concolor&0xF) + (vertCrossColor.concolor&0xF0);
+ } else {
+ col.bk = horzCrossColor.bk;
+ }
+ }
ecp_cl.StringNumber = lno;
ecp_cl.SrcPos = ecp.DestPos;
info->EditorControl(ECTL_TABTOREAL, &ecp_cl);
- col.concolor|=0x10000;
+ if (!TrueMod) {
+ col.concolor|=0x10000;
+ }
addFARColor(lno, ecp_cl.DestPos, ecp_cl.DestPos+1, col);
vertCrossDone = true;
};
};
};
};
- if (!TrueMod && showVerticalCross && !vertCrossDone){
+ if (showVerticalCross && !vertCrossDone){
ecp_cl.StringNumber = lno;
ecp_cl.SrcPos = ecp.DestPos;
info->EditorControl(ECTL_TABTOREAL, &ecp_cl);
- vertCrossColor.concolor |= 0x10000;
+ if (!TrueMod) {
+ vertCrossColor.concolor |= 0x10000;
+ }
addFARColor(lno, ecp_cl.DestPos, ecp_cl.DestPos+1, vertCrossColor);
};
};
@@ -712,29 +730,44 @@ int FarEditor::editorEvent(int event, void *param)
if (pm != nullptr){
color col = convert(pm->start->styled());
- // TODO
- if (!TrueMod && showHorizontalCross){
+ if (showHorizontalCross){
if (foreDefault(col)){
- col.concolor = (col.concolor&0xF0) + (horzCrossColor.concolor&0xF);
+ if (!TrueMod) {
+ col.concolor = (col.concolor&0xF0) + (horzCrossColor.concolor&0xF);
+ } else {
+ col.fg = horzCrossColor.fg;
+ }
}
if (backDefault(col)){
- col.concolor = (col.concolor&0xF) + (horzCrossColor.concolor&0xF0);
+ if (!TrueMod) {
+ col.concolor = (col.concolor&0xF) + (horzCrossColor.concolor&0xF0);
+ } else {
+ col.bk = horzCrossColor.bk;
+ }
}
};
//
addFARColor(ei.CurLine, pm->start->start, pm->start->end, col);
// TODO
- if (!TrueMod && showVerticalCross && !showHorizontalCross && pm->start->start <= ei.CurPos && ei.CurPos < pm->start->end){
+ if (showVerticalCross && !showHorizontalCross && pm->start->start <= ei.CurPos && ei.CurPos < pm->start->end){
col = convert(pm->start->styled());
if (foreDefault(col)){
- col.concolor = (col.concolor&0xF0) + (vertCrossColor.concolor&0xF);
+ if (!TrueMod) {
+ col.concolor = (col.concolor&0xF0) + (vertCrossColor.concolor&0xF);
+ } else {
+ col.fg = vertCrossColor.fg;
+ }
}
if (backDefault(col)){
- col.concolor = (col.concolor&0xF) + (vertCrossColor.concolor&0xF0);
+ if (!TrueMod) {
+ col.concolor = (col.concolor&0xF) + (vertCrossColor.concolor&0xF0);
+ } else {
+ col.bk = vertCrossColor.bk;
+ }
}
col.concolor|=0x10000;
@@ -745,13 +778,21 @@ int FarEditor::editorEvent(int event, void *param)
col = convert(pm->end->styled());
//
- if (!TrueMod && showHorizontalCross && pm->eline == ei.CurLine){
+ if (showHorizontalCross && pm->eline == ei.CurLine){
if (foreDefault(col)){
- col.concolor = (col.concolor&0xF0) + (horzCrossColor.concolor&0xF);
+ if (!TrueMod) {
+ col.concolor = (col.concolor&0xF0) + (horzCrossColor.concolor&0xF);
+ } else {
+ col.fg = horzCrossColor.fg;
+ }
}
if (backDefault(col)){
- col.concolor = (col.concolor&0xF) + (horzCrossColor.concolor&0xF0);
+ if (!TrueMod) {
+ col.concolor = (col.concolor&0xF) + (horzCrossColor.concolor&0xF0);
+ } else {
+ col.bk = horzCrossColor.bk;
+ }
}
};
//
@@ -761,15 +802,23 @@ int FarEditor::editorEvent(int event, void *param)
info->EditorControl(ECTL_TABTOREAL, &ecp);
//
- if (!TrueMod && showVerticalCross && pm->end->start <= ecp.DestPos && ecp.DestPos < pm->end->end){
+ if (showVerticalCross && pm->end->start <= ecp.DestPos && ecp.DestPos < pm->end->end){
col = convert(pm->end->styled());
if (foreDefault(col)){
- col.concolor = (col.concolor&0xF0) + (vertCrossColor.concolor&0xF);
+ if (!TrueMod) {
+ col.concolor = (col.concolor&0xF0) + (vertCrossColor.concolor&0xF);
+ } else {
+ col.fg = vertCrossColor.fg;
+ }
}
if (backDefault(col)){
- col.concolor = (col.concolor&0xF) + (vertCrossColor.concolor&0xF0);
+ if (!TrueMod) {
+ col.concolor = (col.concolor&0xF0) + (vertCrossColor.concolor&0xF);
+ } else {
+ col.bk = vertCrossColor.bk;
+ }
}
col.concolor|=0x10000;