|
|
|
@ -2707,7 +2707,7 @@ namespace NppDarkMode
|
|
|
|
|
return ::DefSubclassProc(hWnd, uMsg, wParam, lParam); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
LRESULT darkTreeViewNotifyCustomDraw(LPARAM lParam) |
|
|
|
|
LRESULT darkTreeViewNotifyCustomDraw(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, bool isPlugin) |
|
|
|
|
{ |
|
|
|
|
auto lptvcd = reinterpret_cast<LPNMTVCUSTOMDRAW>(lParam); |
|
|
|
|
|
|
|
|
@ -2715,63 +2715,70 @@ namespace NppDarkMode
|
|
|
|
|
{ |
|
|
|
|
case CDDS_PREPAINT: |
|
|
|
|
{ |
|
|
|
|
LRESULT defaultValue = isPlugin ? DefSubclassProc(hWnd, uMsg, wParam, lParam) : CDRF_DODEFAULT; |
|
|
|
|
if (NppDarkMode::isEnabled()) |
|
|
|
|
{ |
|
|
|
|
return CDRF_NOTIFYITEMDRAW; |
|
|
|
|
return defaultValue | CDRF_NOTIFYITEMDRAW; |
|
|
|
|
} |
|
|
|
|
return CDRF_DODEFAULT; |
|
|
|
|
return defaultValue; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
case CDDS_ITEMPREPAINT: |
|
|
|
|
{ |
|
|
|
|
if ((lptvcd->nmcd.uItemState & CDIS_SELECTED) == CDIS_SELECTED) |
|
|
|
|
LRESULT defaultValue = isPlugin ? DefSubclassProc(hWnd, uMsg, wParam, lParam) : CDRF_DODEFAULT; |
|
|
|
|
if (NppDarkMode::isEnabled() && (lptvcd->nmcd.uItemState & CDIS_SELECTED) == CDIS_SELECTED) |
|
|
|
|
{ |
|
|
|
|
lptvcd->clrText = NppDarkMode::getTextColor(); |
|
|
|
|
lptvcd->clrTextBk = NppDarkMode::getSofterBackgroundColor(); |
|
|
|
|
::FillRect(lptvcd->nmcd.hdc, &lptvcd->nmcd.rc, NppDarkMode::getSofterBackgroundBrush()); |
|
|
|
|
|
|
|
|
|
return CDRF_NEWFONT | CDRF_NOTIFYPOSTPAINT; |
|
|
|
|
return defaultValue | CDRF_NEWFONT | CDRF_NOTIFYPOSTPAINT; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if ((lptvcd->nmcd.uItemState & CDIS_HOT) == CDIS_HOT) |
|
|
|
|
if (NppDarkMode::isEnabled() && (lptvcd->nmcd.uItemState & CDIS_HOT) == CDIS_HOT) |
|
|
|
|
{ |
|
|
|
|
lptvcd->clrText = NppDarkMode::getTextColor(); |
|
|
|
|
lptvcd->clrTextBk = NppDarkMode::getHotBackgroundColor(); |
|
|
|
|
|
|
|
|
|
auto notifyResult = CDRF_DODEFAULT; |
|
|
|
|
auto notifyResult = defaultValue; |
|
|
|
|
if (g_isAtLeastWindows10 || g_treeViewStyle == TreeViewStyle::light) |
|
|
|
|
{ |
|
|
|
|
::FillRect(lptvcd->nmcd.hdc, &lptvcd->nmcd.rc, NppDarkMode::getHotBackgroundBrush()); |
|
|
|
|
notifyResult = CDRF_NOTIFYPOSTPAINT; |
|
|
|
|
notifyResult |= CDRF_NOTIFYPOSTPAINT; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return CDRF_NEWFONT | notifyResult; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return CDRF_DODEFAULT; |
|
|
|
|
return defaultValue; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
case CDDS_ITEMPOSTPAINT: |
|
|
|
|
{ |
|
|
|
|
RECT rcFrame = lptvcd->nmcd.rc; |
|
|
|
|
rcFrame.left -= 1; |
|
|
|
|
rcFrame.right += 1; |
|
|
|
|
LRESULT defaultValue = isPlugin ? DefSubclassProc(hWnd, uMsg, wParam, lParam) : CDRF_DODEFAULT; |
|
|
|
|
|
|
|
|
|
if ((lptvcd->nmcd.uItemState & CDIS_HOT) == CDIS_HOT) |
|
|
|
|
{ |
|
|
|
|
NppDarkMode::paintRoundFrameRect(lptvcd->nmcd.hdc, rcFrame, NppDarkMode::getHotEdgePen(), 0, 0); |
|
|
|
|
} |
|
|
|
|
else if ((lptvcd->nmcd.uItemState & CDIS_SELECTED) == CDIS_SELECTED) |
|
|
|
|
if (NppDarkMode::isEnabled()) |
|
|
|
|
{ |
|
|
|
|
NppDarkMode::paintRoundFrameRect(lptvcd->nmcd.hdc, rcFrame, NppDarkMode::getEdgePen(), 0, 0); |
|
|
|
|
RECT rcFrame = lptvcd->nmcd.rc; |
|
|
|
|
rcFrame.left -= 1; |
|
|
|
|
rcFrame.right += 1; |
|
|
|
|
|
|
|
|
|
if ((lptvcd->nmcd.uItemState & CDIS_HOT) == CDIS_HOT) |
|
|
|
|
{ |
|
|
|
|
NppDarkMode::paintRoundFrameRect(lptvcd->nmcd.hdc, rcFrame, NppDarkMode::getHotEdgePen(), 0, 0); |
|
|
|
|
} |
|
|
|
|
else if ((lptvcd->nmcd.uItemState & CDIS_SELECTED) == CDIS_SELECTED) |
|
|
|
|
{ |
|
|
|
|
NppDarkMode::paintRoundFrameRect(lptvcd->nmcd.hdc, rcFrame, NppDarkMode::getEdgePen(), 0, 0); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return CDRF_DODEFAULT; |
|
|
|
|
return defaultValue; |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
default: |
|
|
|
|
return CDRF_DODEFAULT; |
|
|
|
|
return isPlugin ? DefSubclassProc(hWnd, uMsg, wParam, lParam) : CDRF_DODEFAULT; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -2891,7 +2898,7 @@ namespace NppDarkMode
|
|
|
|
|
|
|
|
|
|
if (wcscmp(className, WC_TREEVIEW) == 0) |
|
|
|
|
{ |
|
|
|
|
return NppDarkMode::darkTreeViewNotifyCustomDraw(lParam); |
|
|
|
|
return NppDarkMode::darkTreeViewNotifyCustomDraw(hWnd, uMsg, wParam, lParam, true); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
break; |
|
|
|
@ -3044,7 +3051,7 @@ namespace NppDarkMode
|
|
|
|
|
|
|
|
|
|
if (wcscmp(className, WC_TREEVIEW) == 0) |
|
|
|
|
{ |
|
|
|
|
return NppDarkMode::darkTreeViewNotifyCustomDraw(lParam); |
|
|
|
|
return NppDarkMode::darkTreeViewNotifyCustomDraw(hWnd, uMsg, wParam, lParam, false); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
break; |
|
|
|
|