Skip to content

Commit

Permalink
Add outline/border alpha for Mark Occurrences indicators.
Browse files Browse the repository at this point in the history
  • Loading branch information
zufuliu committed Apr 5, 2020
1 parent 8226429 commit e323852
Show file tree
Hide file tree
Showing 5 changed files with 27 additions and 3 deletions.
4 changes: 2 additions & 2 deletions src/EditLexers/stlDefault.c
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ static EDITSTYLE Styles_Global[] = {
{ SCI_SETEXTRAASCENT + SCI_SETEXTRADESCENT, NP2StyleX_ExtraLineSpacing, L"size:2" },
{ 0, NP2StyleX_FoldingMarker, L"fore:#8080FF; back:#ADD8E6" },
{ STYLE_FOLDDISPLAYTEXT, NP2StyleX_FoldEllipsis, L"font:$(Code); size:-2; bold; fore:#808080" },
{ 0, NP2StyleX_MarkOccurrences, L"alpha:100" },
{ 0, NP2StyleX_MarkOccurrences, L"alpha:100; outline:150" },
{ 0, NP2StyleX_Bookmark, L"fore:#408040; back:#00FF00; alpha:40" },
{ STYLE_CALLTIP, NP2StyleX_CallTips, L"" },
};
Expand All @@ -46,7 +46,7 @@ static EDITSTYLE Styles_2ndGlobal[] = {
{ SCI_SETEXTRAASCENT + SCI_SETEXTRADESCENT, NP2StyleX_ExtraLineSpacing, L"size:2" },
{ 0, NP2StyleX_FoldingMarker, L"fore:#808080; back:#606060" },
{ STYLE_FOLDDISPLAYTEXT, NP2StyleX_FoldEllipsis, L"font:$(Code); size:-2; bold; fore:#606060" },
{ 0, NP2StyleX_MarkOccurrences, L"alpha:100" },
{ 0, NP2StyleX_MarkOccurrences, L"alpha:100; outline:150" },
{ 0, NP2StyleX_Bookmark, L"fore:#408040; back:#00FF00; alpha:40" },
{ STYLE_CALLTIP, NP2StyleX_CallTips, L"" },
};
Expand Down
2 changes: 1 addition & 1 deletion src/Notepad2.rc
Original file line number Diff line number Diff line change
Expand Up @@ -2034,7 +2034,7 @@ BEGIN
Style format:\r\n\
\tfont:Name; size:[+|-]nn.mm; weight:nnn; bold; italic; underline; strike;\r\n\
\tcharset:dd; locale:Name; case:[Upper|Lower|Camel];\r\n\
\tfore:#ffffff; back:#bbbbbb; alpha:aa; eolfilled;\r\n\
\tfore:#ffffff; back:#bbbbbb; alpha:aa; outline:aa; eolfilled;\r\n\
\r\n\
Style properties can be copied using copy and paste or drag and drop.\r\n\
\r\n\
Expand Down
4 changes: 4 additions & 0 deletions src/SciCall.h
Original file line number Diff line number Diff line change
Expand Up @@ -927,6 +927,10 @@ NP2_inline void SciCall_IndicSetAlpha(int indicator, int alpha) {
SciCall(SCI_INDICSETALPHA, indicator, alpha);
}

NP2_inline void SciCall_IndicSetOutlineAlpha(int indicator, int alpha) {
SciCall(SCI_INDICSETOUTLINEALPHA, indicator, alpha);
}

NP2_inline void SciCall_SetIndicatorCurrent(int indicator) {
SciCall(SCI_SETINDICATORCURRENT, indicator, 0);
}
Expand Down
19 changes: 19 additions & 0 deletions src/Styles.c
Original file line number Diff line number Diff line change
Expand Up @@ -1630,6 +1630,9 @@ void Style_SetLexer(PEDITLEXER pLexNew, BOOL bLexerChanged) {
iValue = MarkOccurrencesDefaultAlpha;
}
SciCall_IndicSetAlpha(IndicatorNumber_MarkOccurrences, iValue);
if (Style_StrGetOutlineAlpha(szValue, &iValue)) {
SciCall_IndicSetOutlineAlpha(IndicatorNumber_MarkOccurrences, iValue);
}
SciCall_IndicSetStyle(IndicatorNumber_MarkOccurrences, INDIC_ROUNDBOX);

// Bookmark
Expand Down Expand Up @@ -3264,6 +3267,7 @@ BOOL Style_StrGetLocale(LPCWSTR lpszStyle, LPWSTR lpszLocale, int cchLocale) {
#define Style_StrCopyFore(szNewStyle, lpszStyle, tch) Style_StrCopyValue((szNewStyle), (lpszStyle), L"fore:", (tch));
#define Style_StrCopyBack(szNewStyle, lpszStyle, tch) Style_StrCopyValue((szNewStyle), (lpszStyle), L"back:", (tch));
#define Style_StrCopyAlpha(szNewStyle, lpszStyle, tch) Style_StrCopyValue((szNewStyle), (lpszStyle), L"alpha:", (tch));
#define Style_StrCopyOutline(szNewStyle, lpszStyle, tch) Style_StrCopyValue((szNewStyle), (lpszStyle), L"outline:", (tch));

#define Style_StrCopyAttribute(szNewStyle, lpszStyle, name) Style_StrCopyAttributeEx((szNewStyle), (lpszStyle), (name), CSTRLEN(name))
#define Style_StrCopyBold(szNewStyle, lpszStyle) Style_StrCopyAttribute((szNewStyle), (lpszStyle), L"bold")
Expand Down Expand Up @@ -3343,6 +3347,19 @@ BOOL Style_StrGetAlpha(LPCWSTR lpszStyle, int *alpha) {
return FALSE;
}

BOOL Style_StrGetOutlineAlpha(LPCWSTR lpszStyle, int *alpha) {
LPCWSTR p = StrStr(lpszStyle, L"outline:");

if (p != NULL) {
p += CSTRLEN(L"outline:");
if (CRTStrToInt(p, alpha)) {
*alpha = clamp_i(*alpha, SC_ALPHA_TRANSPARENT, SC_ALPHA_OPAQUE);
return TRUE;
}
}
return FALSE;
}

//=============================================================================
//
// Style_SelectFont()
Expand Down Expand Up @@ -3446,6 +3463,7 @@ BOOL Style_SelectFont(HWND hwnd, LPWSTR lpszStyle, int cchStyle, BOOL bDefaultSt
Style_StrCopyFore(szNewStyle, lpszStyle, tch);
Style_StrCopyBack(szNewStyle, lpszStyle, tch);
Style_StrCopyAlpha(szNewStyle, lpszStyle, tch);
Style_StrCopyOutline(szNewStyle, lpszStyle, tch);
Style_StrCopyEOLFilled(szNewStyle, lpszStyle);

lstrcpyn(lpszStyle, szNewStyle, cchStyle);
Expand Down Expand Up @@ -3524,6 +3542,7 @@ BOOL Style_SelectColor(HWND hwnd, BOOL bFore, LPWSTR lpszStyle, int cchStyle) {
}

Style_StrCopyAlpha(szNewStyle, lpszStyle, tch);
Style_StrCopyOutline(szNewStyle, lpszStyle, tch);
Style_StrCopyEOLFilled(szNewStyle, lpszStyle);

lstrcpyn(lpszStyle, szNewStyle, cchStyle);
Expand Down
1 change: 1 addition & 0 deletions src/Styles.h
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,7 @@ NP2_inline BOOL Style_StrGetBackColor(LPCWSTR lpszStyle, COLORREF *rgb) {

BOOL Style_StrGetCase(LPCWSTR lpszStyle, int *i);
BOOL Style_StrGetAlpha(LPCWSTR lpszStyle, int *alpha);
BOOL Style_StrGetOutlineAlpha(LPCWSTR lpszStyle, int *alpha);
BOOL Style_SelectFont(HWND hwnd, LPWSTR lpszStyle, int cchStyle, BOOL bDefaultStyle);
BOOL Style_SelectColor(HWND hwnd, BOOL bFore, LPWSTR lpszStyle, int cchStyle);
void Style_SetStyles(int iStyle, LPCWSTR lpszStyle);
Expand Down

0 comments on commit e323852

Please sign in to comment.