Merge remote-tracking branch 'rizonesoft/master' into Master

This commit is contained in:
Pairi Daiza 2023-02-07 09:20:41 +01:00
commit 51d1eee0a4
No known key found for this signature in database
GPG Key ID: AC2515EF755AF96F
3 changed files with 22 additions and 8 deletions

View File

@ -404,6 +404,11 @@ DeclareSciCallR0(GetEOLMode, GETEOLMODE, int);
DeclareSciCallV1(SetEOLMode, SETEOLMODE, int, eolmode);
DeclareSciCallV1(ConvertEOLs, CONVERTEOLS, int, eolmode);
DeclareSciCallR0(GetExtraAscent, GETEXTRAASCENT, int);
DeclareSciCallV1(SetExtraAscent, SETEXTRAASCENT, int, exascent);
DeclareSciCallR0(GetExtraDescent, GETEXTRADESCENT, int);
DeclareSciCallV1(SetExtraDescent, SETEXTRADESCENT, int, exdescent);
DeclareSciCallV0(SetCharsDefault, SETCHARSDEFAULT);
DeclareSciCallV01(SetWordChars, SETWORDCHARS, const char*, chrs);
DeclareSciCallV01(SetWhitespaceChars, SETWHITESPACECHARS, const char*, chrs);

View File

@ -72,7 +72,7 @@ EDITLEXER lexTEXT =
//~{ {STYLE_DEFAULT}, IDS_LEX_STR_63126, L"Default", L"font:$Text", L"" },
{ {STYLE_DEFAULT}, IDS_LEX_STR_63126, L"Default", L"", L"" },
{ {STYLE_LINENUMBER}, IDS_LEX_STD_MARGIN, L"Margins and Line Numbers", L"font:Consolas; size:-2", L"" },
{ {SCI_SETEXTRAASCENT + SCI_SETEXTRADESCENT}, IDS_LEX_STD_X_SPC, L"Extra Line Spacing (Size)", L"size:-1", L"" },
{ {STYLE_BRACELIGHT}, IDS_LEX_STD_X_SPC, L"Extra Line Spacing (Size)", L"size:-1", L"" },
EDITLEXER_SENTINEL
}
};
@ -86,7 +86,7 @@ EDITLEXER lexANSI =
{ {STYLE_LINENUMBER}, IDS_LEX_STD_MARGIN, L"Margins and Line Numbers", L"font:Lucida Console; size:-2", L"" },
{ {STYLE_BRACELIGHT}, IDS_LEX_STD_BRACE, L"Matching Braces", L"", L"" },
{ {STYLE_BRACEBAD}, IDS_LEX_STD_BRACE_FAIL, L"Matching Braces Error", L"", L"" },
{ {SCI_SETEXTRAASCENT + SCI_SETEXTRADESCENT}, IDS_LEX_STD_X_SPC, L"Extra Line Spacing (Size)", L"size:-1", L"" },
{ {STYLE_CONTROLCHAR}, IDS_LEX_STD_X_SPC, L"Extra Line Spacing (Size)", L"size:-1", L"" },
EDITLEXER_SENTINEL
}
};

View File

@ -1669,9 +1669,17 @@ void Style_SetLexer(HWND hwnd, PEDITLEXER pLexNew)
pCurrentStandard->Styles[STY_BRACE_BAD].szValue, fBaseFontSize);
}
// (SCI_SETEXTRAASCENT + SCI_SETEXTRADESCENT) at pos STY_CTRL_CHR(4) )
Style_SetExtraLineSpace(hwnd, s_pLexCurrent->Styles[STY_CTRL_CHR].szValue,
COUNTOF(s_pLexCurrent->Styles[STY_CTRL_CHR].szValue));
COUNTOF(s_pLexCurrent->Styles[STY_CTRL_CHR].szValue));
}
else if (s_pLexCurrent == &lexTEXT) {
// margin (line number, bookmarks, folding) style
Style_SetMargin(hwnd, s_pLexCurrent->Styles[STY_MARGIN].szValue);
Style_SetExtraLineSpace(hwnd, s_pLexCurrent->Styles[STY_BRACE_OK].szValue,
COUNTOF(s_pLexCurrent->Styles[STY_BRACE_OK].szValue));
} else if (s_pLexCurrent->lexerID != SCLEX_NULL) {
@ -1750,7 +1758,6 @@ void Style_FillRelatedStyles(HWND hwnd, const PEDITLEXER pLexer) {
Style_SetStyles(hwnd, pLexer->Styles[i].iStyle8[j], pLexer->Styles[i].szValue, fBaseFontSize);
}
if (pLexer->lexerID == SCLEX_HTML && pLexer->Styles[i].iStyle8[0] == SCE_HPHP_DEFAULT) {
int iRelated[] = { SCE_HPHP_COMMENT, SCE_HPHP_COMMENTLINE, SCE_HPHP_WORD, SCE_HPHP_HSTRING, SCE_HPHP_SIMPLESTRING, SCE_HPHP_NUMBER,
SCE_HPHP_OPERATOR, SCE_HPHP_VARIABLE, SCE_HPHP_HSTRING_VARIABLE, SCE_HPHP_COMPLEX_VARIABLE };
@ -2816,11 +2823,13 @@ void Style_SetIndentGuides(HWND hwnd,bool bShow)
//
void Style_SetExtraLineSpace(HWND hwnd, LPWSTR lpszStyle, int cch)
{
UNREFERENCED_PARAMETER(hwnd);
int iValue = 0, iAscent = 0, iDescent = 0;
if (Style_StrGetSizeInt(lpszStyle, &iValue)) {
const int iCurFontSizeDbl = f2int(Style_GetCurrentLexerFontSize() * 2.0f);
int iValAdj = clampi(iValue, (0 - iCurFontSizeDbl), 256 * iCurFontSizeDbl);
if ((iValAdj != iValue) && (cch > 0)) {
if ((iValAdj != iValue) && (cch > 10)) {
StringCchPrintf(lpszStyle, cch, L"size:%i", iValAdj);
}
if ((iValAdj % 2) != 0) {
@ -2830,8 +2839,8 @@ void Style_SetExtraLineSpace(HWND hwnd, LPWSTR lpszStyle, int cch)
iAscent += (iValAdj >> 1);
iDescent += (iValAdj >> 1);
}
SendMessage(hwnd, SCI_SETEXTRAASCENT, (WPARAM)iAscent, 0);
SendMessage(hwnd, SCI_SETEXTRADESCENT, (WPARAM)iDescent, 0);
SciCall_SetExtraAscent(iAscent);
SciCall_SetExtraDescent(iDescent);
}