Merge pull request #5286 from RaiKoHoff/Dev_Master

move caret line outline frame translucency to alpha2
This commit is contained in:
Pairi Daiza 2024-08-25 15:02:46 +02:00 committed by GitHub
commit fbbfa59644
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 22 additions and 9 deletions

View File

@ -27,7 +27,7 @@ Control Characters (Font)=size:-1
Indentation Guide (Color)=fore:#606060
Selected Text (Colors)=fore:#F2460D; back:#4F51E0; eolfilled; alpha:80
Whitespace (Colors, Size 0-12)=fore:#F2460D
Current Line Background (Color)=size:2; fore:#606060; back:#F2F20D; alpha:50
Current Line Background (Color)=size:2; fore:#606060; back:#F2F20D; alpha:50; alpha2:50
Long Line Marker (Colors)=fore:#F2B50D
Extra Line Spacing (Size)=size:2
Bookmarks and Folding (Colors, Size)=size:+2; fore:#0CE50B; alpha:100
@ -49,7 +49,7 @@ Inline-IME Color=fore:#4EF64D
2nd Indentation Guide (Color)=fore:#606060
2nd Selected Text (Colors)=fore:#F2460D; eolfilled
2nd Whitespace (Colors, Size 0-12)=fore:#F2460D
2nd Current Line Background (Color)=size:2; fore:#A1B7F2; back:#F2F20D; alpha:50
2nd Current Line Background (Color)=size:2; fore:#A1B7F2; back:#F2F20D; alpha:50; alpha2:50
2nd Long Line Marker (Colors)=fore:#F2B50D
2nd Bookmarks and Folding (Colors, Size)=size:+2; charset:2; fore:#0CE50B; case:U; alpha:100
2nd Mark Occurrences (Indicator)=fore:#7B83E9; alpha:60; alpha2:60; indic_box

View File

@ -788,6 +788,9 @@ static void _InitGlobals()
Globals.CmdLnFlag_ShellUseSystemMRU = 0;
Globals.CmdLnFlag_PrintFileAndLeave = 0;
Globals.iWhiteSpaceSize = 2;
Globals.iCaretOutLineFrameSize = 0;
Globals.DOSEncoding = CPI_NONE;
Globals.bZeroBasedColumnIndex = false;
Globals.bZeroBasedCharacterCount = false;
@ -9142,6 +9145,8 @@ static LRESULT _MsgNotifyFromEdit(HWND hwnd, const SCNotification* const scn)
case SCN_ZOOM:
SciCall_SetWhiteSpaceSize(MulDiv(Globals.iWhiteSpaceSize, SciCall_GetZoom(), 100));
SciCall_SetCaretLineFrame(MulDiv(Globals.iCaretOutLineFrameSize, SciCall_GetZoom(), 100));
UpdateToolbar();
UpdateMargins(true);
break;

View File

@ -195,6 +195,7 @@ DeclareSciCallV1(SetAdditionalSelectionTyping, SETADDITIONALSELECTIONTYPING, boo
DeclareSciCallV1(SetMouseSelectionRectangularSwitch, SETMOUSESELECTIONRECTANGULARSWITCH, bool, flag);
DeclareSciCallV1(SetCaretLineLayer, SETCARETLINELAYER, int, layer);
DeclareSciCallR0(GetCaretLineFrame, GETCARETLINEFRAME, int);
DeclareSciCallV1(SetCaretLineFrame, SETCARETLINEFRAME, int, frm);
DeclareSciCallV1(SetCaretLineVisibleAlways, SETCARETLINEVISIBLEALWAYS, bool, flag);

View File

@ -16,7 +16,7 @@ EDITLEXER lexStandard =
/* 5 */ { {STYLE_INDENTGUIDE}, IDS_LEX_STD_INDENT, L"Indentation Guide (Color)", L"fore:#A0A0A0", L"" },
/* 6 */ { {_STYLE_GETSTYLEID(STY_SEL_TXT)}, IDS_LEX_STD_SEL, L"Selected Text (Colors)", L"fore:#FF4000; back:#4040FF; eolfilled; alpha:80", L"" },
/* 7 */ { {_STYLE_GETSTYLEID(STY_WHITESPACE)}, IDS_LEX_STD_WSPC, L"Whitespace (Colors, Size 0-12)", L"size:2; fore:#FF4000; alpha:255", L"" },
/* 8 */ { {_STYLE_GETSTYLEID(STY_CUR_LN)}, IDS_LEX_STD_LN_BACKGR, L"Current Line Background (Color)", L"size:2; fore:#A0A0A0; back:#FFFF00; alpha:50", L"" },
/* 8 */ { {_STYLE_GETSTYLEID(STY_CUR_LN)}, IDS_LEX_STD_LN_BACKGR, L"Current Line Background (Color)", L"size:2; fore:#A0A0A0; back:#FFFF00; alpha:50; alpha2:50", L"" },
/* 9 */ { {_STYLE_GETSTYLEID(STY_CARET)}, IDS_LEX_STD_CARET, L"Caret (Color, Size 1-3)", L"", L"" },
/* 10 */ { {_STYLE_GETSTYLEID(STY_LONG_LN_MRK)}, IDS_LEX_STD_LONG_LN, L"Long Line Marker (Colors)", L"fore:#FFC000", L"" },
/* 11 */ { {_STYLE_GETSTYLEID(STY_X_LN_SPACE)}, IDS_LEX_STD_X_SPC, L"Extra Line Spacing (Size)", L"size:2", L"" },
@ -46,7 +46,7 @@ EDITLEXER lexStandard2nd =
/* 5 */ { {STYLE_INDENTGUIDE}, IDS_LEX_2ND_INDENT, L"2nd Indentation Guide (Color)", L"fore:#A0A0A0", L"" },
/* 6 */ { {_STYLE_GETSTYLEID(STY_SEL_TXT)}, IDS_LEX_2ND_SEL, L"2nd Selected Text (Colors)", L"fore:#FF4000; eolfilled", L"" },
/* 7 */ { {_STYLE_GETSTYLEID(STY_WHITESPACE)}, IDS_LEX_2ND_WSPC, L"2nd Whitespace (Colors, Size 0-12)", L"size:2; fore:#FF4000; alpha:255", L"" },
/* 8 */ { {_STYLE_GETSTYLEID(STY_CUR_LN)}, IDS_LEX_2ND_LN_BACKGR, L"2nd Current Line Background (Color)", L"size:2; fore:#0000B0; back:#FFFF00; alpha:50", L"" },
/* 8 */ { {_STYLE_GETSTYLEID(STY_CUR_LN)}, IDS_LEX_2ND_LN_BACKGR, L"2nd Current Line Background (Color)", L"size:2; fore:#0000B0; back:#FFFF00; alpha:50; alpha2:50", L"" },
/* 9 */ { {_STYLE_GETSTYLEID(STY_CARET)}, IDS_LEX_2ND_CARET, L"2nd Caret (Color, Size 1-3)", L"", L"" },
/* 10 */ { {_STYLE_GETSTYLEID(STY_LONG_LN_MRK)}, IDS_LEX_2ND_LONG_LN, L"2nd Long Line Marker (Colors)", L"fore:#FFC000", L"" },
/* 11 */ { {_STYLE_GETSTYLEID(STY_X_LN_SPACE)}, IDS_LEX_2ND_X_SPC, L"2nd Extra Line Spacing (Size)", L"size:2", L"" },

View File

@ -1559,8 +1559,9 @@ void Style_SetLexer(HWND hwnd, PEDITLEXER pLexNew)
iValue = clampi(iValue, 1, 12);
StringCchPrintf(wchStylesBuffer, COUNTOF(wchStylesBuffer), L"size:%i", iValue);
}
//@@@SciCall_SetWhiteSpaceSize(MulDiv(iValue, SciCall_GetZoom(), 100)); // needs update on zoom
SciCall_SetWhiteSpaceSize(iValue);
Globals.iWhiteSpaceSize = iValue;
//SciCall_SetWhiteSpaceSize(iValue);
SciCall_SetWhiteSpaceSize(MulDiv(Globals.iWhiteSpaceSize, SciCall_GetZoom(), 100)); // needs update on zoom
// whitespace colors
rgb = RGB(0, 0, 0);
@ -2034,6 +2035,7 @@ void Style_HighlightCurrentLine(HWND hwnd, int iHiLitCurLn)
{
SciCall_SetCaretLineFrame(0);
SciCall_SetCaretLineVisibleAlways(false);
//SciCall_SetCaretLineHighlightSubline(false);
bool const backgrColor = (iHiLitCurLn == 1);
LPCWSTR szValue = GetCurrentStdLexer()->Styles[STY_CUR_LN].szValue;
@ -2045,18 +2047,20 @@ void Style_HighlightCurrentLine(HWND hwnd, int iHiLitCurLn)
int alpha = SC_ALPHA_TRANSPARENT; // full translucent
if (iHiLitCurLn > 0) {
Style_StrGetAlpha(GetCurrentStdLexer()->Styles[STY_CUR_LN].szValue, &alpha, 80, true);
Style_StrGetAlpha(GetCurrentStdLexer()->Styles[STY_CUR_LN].szValue, &alpha, 80, backgrColor);
if (!backgrColor) {
int iFrameSize = 0;
if (!Style_StrGetSizeInt(szValue, &iFrameSize)) {
iFrameSize = 2;
}
iFrameSize = max_i(1, ScaleIntToDPI(hwnd, iFrameSize));
SciCall_SetCaretLineFrame(iFrameSize);
Globals.iCaretOutLineFrameSize = iFrameSize;
//SciCall_SetCaretLineFrame(iFrameSize);
SciCall_SetCaretLineFrame(MulDiv(Globals.iCaretOutLineFrameSize, SciCall_GetZoom(), 100)); // needs update on zoom
}
}
SciCall_SetCaretLineLayer(SC_LAYER_UNDER_TEXT);
SciCall_SetCaretLineLayer(SC_LAYER_UNDER_TEXT); // SC_LAYER_BASE, SC_LAYER_UNDER_TEXT, SC_LAYER_OVER_TEXT
SciCall_SetElementColour(SC_ELEMENT_CARET_LINE_BACK, AxRGB(alpha, rgb));
SciCall_SetCaretLineVisibleAlways(iHiLitCurLn > 0);
}

View File

@ -521,6 +521,9 @@ typedef struct GLOBALS_T {
int CmdLnFlag_ShellUseSystemMRU;
int CmdLnFlag_PrintFileAndLeave;
int iWhiteSpaceSize;
int iCaretOutLineFrameSize;
bool bMinimizedToTray;
bool bZeroBasedColumnIndex;
bool bZeroBasedCharacterCount;