Skip to content

Commit eb4513b

Browse files
committed
修正插件非自绘的情况下没有通过EI_DRAW_TASKBAR_WND向插件传递是否绘制任务栏窗口的问题
1 parent 1343a32 commit eb4513b

File tree

2 files changed

+14
-4
lines changed

2 files changed

+14
-4
lines changed

TrafficMonitor/SkinFile.cpp

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -515,14 +515,17 @@ void CSkinFile::DrawPreview(CDC* pDC, CRect rect)
515515
point.SetPoint(layout_item.x, layout_item.y);
516516
point.Offset(pos.x, pos.y);
517517
CRect rect(point, CSize(layout_item.width, m_layout_info.text_height));
518+
ITMPlugin* plugin = theApp.m_plugins.GetPluginByItem(plugin_item);
519+
if (plugin != nullptr && plugin->GetAPIVersion() >= 2)
520+
{
521+
plugin->OnExtenedInfo(ITMPlugin::EI_DRAW_TASKBAR_WND, L"0");
522+
}
518523
if (plugin_item->IsCustomDraw())
519524
{
520525
int brightness{ (GetRValue(cl) + GetGValue(cl) + GetBValue(cl)) / 2 };
521-
ITMPlugin* plugin = theApp.m_plugins.GetPluginByItem(plugin_item);
522526
if (plugin != nullptr && plugin->GetAPIVersion() >= 2)
523527
{
524528
plugin->OnExtenedInfo(ITMPlugin::EI_VALUE_TEXT_COLOR, std::to_wstring(cl).c_str());
525-
plugin->OnExtenedInfo(ITMPlugin::EI_DRAW_TASKBAR_WND, L"0");
526529
}
527530
draw.GetDC()->SetTextColor(cl);
528531
plugin_item->DrawItem(draw.GetDC()->GetSafeHdc(), point.x, point.y, layout_item.width, m_layout_info.text_height, brightness >= 128);
@@ -726,14 +729,18 @@ void CSkinFile::DrawItemsInfo(IDrawCommon& drawer, Layout& layout, CFont& font)
726729
cl = iter->second;
727730
else if (!text_colors.empty())
728731
cl = text_colors.begin()->second;
732+
ITMPlugin* plugin = theApp.m_plugins.GetPluginByItem(plugin_item);
733+
if (plugin != nullptr && plugin->GetAPIVersion() >= 2)
734+
{
735+
plugin->OnExtenedInfo(ITMPlugin::EI_DRAW_TASKBAR_WND, L"0");
736+
}
729737
if (plugin_item->IsCustomDraw())
730738
{
731739
int brightness{ (GetRValue(cl) + GetGValue(cl) + GetBValue(cl)) / 2 };
732740
ITMPlugin* plugin = theApp.m_plugins.GetPluginByItem(plugin_item);
733741
if (plugin != nullptr && plugin->GetAPIVersion() >= 2)
734742
{
735743
plugin->OnExtenedInfo(ITMPlugin::EI_VALUE_TEXT_COLOR, std::to_wstring(cl).c_str());
736-
plugin->OnExtenedInfo(ITMPlugin::EI_DRAW_TASKBAR_WND, L"0");
737744
}
738745
drawer.GetDC()->SetTextColor(cl);
739746
drawer.GetDC()->SetBkMode(TRANSPARENT);

TrafficMonitor/TaskBarDlg.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -521,6 +521,10 @@ void CTaskBarDlg::DrawPluginItem(IDrawCommon& drawer, IPluginItem* item, CRect r
521521
value_text_color = theApp.m_taskbar_data.text_colors.begin()->second.label;
522522
}
523523

524+
if (plugin != nullptr && plugin->GetAPIVersion() >= 2)
525+
{
526+
plugin->OnExtenedInfo(ITMPlugin::EI_DRAW_TASKBAR_WND, L"1");
527+
}
524528
if (item->IsCustomDraw())
525529
{
526530
//根据背景色的亮度判断深色还是浅色模式
@@ -531,7 +535,6 @@ void CTaskBarDlg::DrawPluginItem(IDrawCommon& drawer, IPluginItem* item, CRect r
531535
{
532536
plugin->OnExtenedInfo(ITMPlugin::EI_LABEL_TEXT_COLOR, std::to_wstring(label_text_color).c_str());
533537
plugin->OnExtenedInfo(ITMPlugin::EI_VALUE_TEXT_COLOR, std::to_wstring(value_text_color).c_str());
534-
plugin->OnExtenedInfo(ITMPlugin::EI_DRAW_TASKBAR_WND, L"1");
535538
}
536539
drawer.SetTextColor(value_text_color);
537540
//需要rtti

0 commit comments

Comments
 (0)