|  |  |  | @ -0,0 +1,251 @@ | 
			
		
	
		
			
				
					|  |  |  |  | // This file is part of Notepad++ project
 | 
			
		
	
		
			
				
					|  |  |  |  | // Copyright (c) 2021 adzm / Adam D. Walling
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | // This program is free software: you can redistribute it and/or modify
 | 
			
		
	
		
			
				
					|  |  |  |  | // it under the terms of the GNU General Public License as published by
 | 
			
		
	
		
			
				
					|  |  |  |  | // the Free Software Foundation, either version 3 of the License, or
 | 
			
		
	
		
			
				
					|  |  |  |  | // at your option any later version.
 | 
			
		
	
		
			
				
					|  |  |  |  | //
 | 
			
		
	
		
			
				
					|  |  |  |  | // This program is distributed in the hope that it will be useful,
 | 
			
		
	
		
			
				
					|  |  |  |  | // but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		
	
		
			
				
					|  |  |  |  | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 | 
			
		
	
		
			
				
					|  |  |  |  | // GNU General Public License for more details.
 | 
			
		
	
		
			
				
					|  |  |  |  | //
 | 
			
		
	
		
			
				
					|  |  |  |  | // You should have received a copy of the GNU General Public License
 | 
			
		
	
		
			
				
					|  |  |  |  | // along with this program.  If not, see <https://www.gnu.org/licenses/>.
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | #pragma once | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | #include <windows.h> | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | #include "Common.h" // for generic_string | 
			
		
	
		
			
				
					|  |  |  |  | //这段代码定义了一个名为NppDarkMode的命名空间,其中包含了一些结构体和函数。
 | 
			
		
	
		
			
				
					|  |  |  |  | namespace NppDarkMode | 
			
		
	
		
			
				
					|  |  |  |  | { | 
			
		
	
		
			
				
					|  |  |  |  | 	struct Colors | 
			
		
	
		
			
				
					|  |  |  |  | 	{ | 
			
		
	
		
			
				
					|  |  |  |  | 		// 定义颜色结构体Colors,包括背景颜色、柔和背景颜色、热点背景颜色、纯背景颜色、错误背景颜色、文本颜色、深色文本颜色、禁用文本颜色、链接文本颜色、边缘颜色、热点边缘颜色、禁用边缘颜色
 | 
			
		
	
		
			
				
					|  |  |  |  | 		COLORREF background = 0; | 
			
		
	
		
			
				
					|  |  |  |  | 		COLORREF softerBackground = 0; | 
			
		
	
		
			
				
					|  |  |  |  | 		COLORREF hotBackground = 0; | 
			
		
	
		
			
				
					|  |  |  |  | 		COLORREF pureBackground = 0; | 
			
		
	
		
			
				
					|  |  |  |  | 		COLORREF errorBackground = 0; | 
			
		
	
		
			
				
					|  |  |  |  | 		COLORREF text = 0; | 
			
		
	
		
			
				
					|  |  |  |  | 		COLORREF darkerText = 0; | 
			
		
	
		
			
				
					|  |  |  |  | 		COLORREF disabledText = 0; | 
			
		
	
		
			
				
					|  |  |  |  | 		COLORREF linkText = 0; | 
			
		
	
		
			
				
					|  |  |  |  | 		COLORREF edge = 0; | 
			
		
	
		
			
				
					|  |  |  |  | 		COLORREF hotEdge = 0; | 
			
		
	
		
			
				
					|  |  |  |  | 		COLORREF disabledEdge = 0; | 
			
		
	
		
			
				
					|  |  |  |  | 	}; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	struct Options | 
			
		
	
		
			
				
					|  |  |  |  | 	{ | 
			
		
	
		
			
				
					|  |  |  |  | 		// 定义Options结构体,用于存储暗黑模式的选项
 | 
			
		
	
		
			
				
					|  |  |  |  | 		bool enable = false; | 
			
		
	
		
			
				
					|  |  |  |  | 		bool enableMenubar = false; | 
			
		
	
		
			
				
					|  |  |  |  | 		bool enablePlugin = false; | 
			
		
	
		
			
				
					|  |  |  |  | 	}; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	struct NppDarkModeParams | 
			
		
	
		
			
				
					|  |  |  |  | 	{ | 
			
		
	
		
			
				
					|  |  |  |  | 		// 定义NppDarkModeParams结构体,用于存储暗黑模式的参数
 | 
			
		
	
		
			
				
					|  |  |  |  | 		const wchar_t* _themeClassName = nullptr; | 
			
		
	
		
			
				
					|  |  |  |  | 		bool _subclass = false; | 
			
		
	
		
			
				
					|  |  |  |  | 		bool _theme = false; | 
			
		
	
		
			
				
					|  |  |  |  | 	}; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	enum class ToolTipsType | 
			
		
	
		
			
				
					|  |  |  |  | 	{ | 
			
		
	
		
			
				
					|  |  |  |  | 		// 定义ToolTipsType枚举,用于标识不同类型的工具提示
 | 
			
		
	
		
			
				
					|  |  |  |  | 		tooltip, | 
			
		
	
		
			
				
					|  |  |  |  | 		toolbar, | 
			
		
	
		
			
				
					|  |  |  |  | 		listview, | 
			
		
	
		
			
				
					|  |  |  |  | 		treeview, | 
			
		
	
		
			
				
					|  |  |  |  | 		tabbar | 
			
		
	
		
			
				
					|  |  |  |  | 	}; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	enum ColorTone { | 
			
		
	
		
			
				
					|  |  |  |  | 		// 定义ColorTone枚举,用于标识不同的颜色调
 | 
			
		
	
		
			
				
					|  |  |  |  | 		blackTone  = 0, | 
			
		
	
		
			
				
					|  |  |  |  | 		redTone    = 1, | 
			
		
	
		
			
				
					|  |  |  |  | 		greenTone  = 2, | 
			
		
	
		
			
				
					|  |  |  |  | 		blueTone   = 3, | 
			
		
	
		
			
				
					|  |  |  |  | 		purpleTone = 4, | 
			
		
	
		
			
				
					|  |  |  |  | 		cyanTone   = 5, | 
			
		
	
		
			
				
					|  |  |  |  | 		oliveTone  = 6, | 
			
		
	
		
			
				
					|  |  |  |  | 		customizedTone = 32 | 
			
		
	
		
			
				
					|  |  |  |  | 	}; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	enum class TreeViewStyle | 
			
		
	
		
			
				
					|  |  |  |  | 	{ | 
			
		
	
		
			
				
					|  |  |  |  | 		// 定义TreeViewStyle枚举,用于标识不同的树形视图样式
 | 
			
		
	
		
			
				
					|  |  |  |  | 		classic = 0, | 
			
		
	
		
			
				
					|  |  |  |  | 		light = 1, | 
			
		
	
		
			
				
					|  |  |  |  | 		dark = 2 | 
			
		
	
		
			
				
					|  |  |  |  | 	}; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	struct AdvOptDefaults | 
			
		
	
		
			
				
					|  |  |  |  | 	{ | 
			
		
	
		
			
				
					|  |  |  |  | 		// 定义AdvOptDefaults结构体,用于存储高级选项的默认值
 | 
			
		
	
		
			
				
					|  |  |  |  | 		generic_string _xmlFileName; | 
			
		
	
		
			
				
					|  |  |  |  | 		int _toolBarIconSet = -1; | 
			
		
	
		
			
				
					|  |  |  |  | 		int _tabIconSet = -1; | 
			
		
	
		
			
				
					|  |  |  |  | 		bool _tabUseTheme = false; | 
			
		
	
		
			
				
					|  |  |  |  | 	}; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	struct AdvancedOptions | 
			
		
	
		
			
				
					|  |  |  |  | 	{ | 
			
		
	
		
			
				
					|  |  |  |  | 		// 定义AdvancedOptions结构体,用于存储高级选项
 | 
			
		
	
		
			
				
					|  |  |  |  | 		bool _enableWindowsMode = false; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 		NppDarkMode::AdvOptDefaults _darkDefaults{ L"DarkModeDefault.xml", 0, 2, false }; | 
			
		
	
		
			
				
					|  |  |  |  | 		NppDarkMode::AdvOptDefaults _lightDefaults{ L"", 4, 0, true }; | 
			
		
	
		
			
				
					|  |  |  |  | 	}; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	void initDarkMode();				// 初始化暗黑模式,从NppParameters中获取选项
 | 
			
		
	
		
			
				
					|  |  |  |  | 	void refreshDarkMode(HWND hwnd, bool forceRefresh = false);	// 尝试应用新的选项,发送NPPM_INTERNAL_REFRESHDARKMODE消息到hwnd的顶级父窗口
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	void initAdvancedOptions();  // 初始化高级选项
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	bool isEnabled();  // 获取暗黑模式是否启用的状态
 | 
			
		
	
		
			
				
					|  |  |  |  | 	bool isDarkMenuEnabled();  // 获取菜单栏是否使用暗黑模式的状态
 | 
			
		
	
		
			
				
					|  |  |  |  | 	bool isEnabledForPlugins();  // 获取插件是否使用暗黑模式的状态
 | 
			
		
	
		
			
				
					|  |  |  |  | 	bool isExperimentalActive(); // 获取实验性暗黑模式是否启用的状态
 | 
			
		
	
		
			
				
					|  |  |  |  | 	bool isExperimentalSupported(); // 获取实验性暗黑模式是否受支持的状态
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	bool isWindowsModeEnabled();  // 获取Windows模式是否启用的状态
 | 
			
		
	
		
			
				
					|  |  |  |  | 	void setWindowsMode(bool enable);  // 设置Windows模式是否启用
 | 
			
		
	
		
			
				
					|  |  |  |  | 	generic_string getThemeName(); // 获取主题名称
 | 
			
		
	
		
			
				
					|  |  |  |  | 	void setThemeName(const generic_string& newThemeName); // 设置主题名称
 | 
			
		
	
		
			
				
					|  |  |  |  | 	int getToolBarIconSet(bool useDark); // 获取工具栏图标集
 | 
			
		
	
		
			
				
					|  |  |  |  | 	void setToolBarIconSet(int state2Set, bool useDark); // 设置工具栏图标集
 | 
			
		
	
		
			
				
					|  |  |  |  | 	int getTabIconSet(bool useDark); // 获取选项卡图标集
 | 
			
		
	
		
			
				
					|  |  |  |  | 	void setTabIconSet(bool useAltIcons, bool useDark); // 设置选项卡图标集
 | 
			
		
	
		
			
				
					|  |  |  |  | 	bool useTabTheme(); // 获取选项卡主题是否启用
 | 
			
		
	
		
			
				
					|  |  |  |  | 	void setAdvancedOptions(); // 设置高级选项
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	bool isWindows10(); // 获取Windows是否为10版本
 | 
			
		
	
		
			
				
					|  |  |  |  | 	bool isWindows11(); // 获取Windows是否为11版本
 | 
			
		
	
		
			
				
					|  |  |  |  | 	DWORD getWindowsBuildNumber(); // 获取Windows的构建版本号
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	COLORREF invertLightness(COLORREF c); // 反转颜色的亮度
 | 
			
		
	
		
			
				
					|  |  |  |  | 	COLORREF invertLightnessSofter(COLORREF c); // 反转柔和颜色的亮度
 | 
			
		
	
		
			
				
					|  |  |  |  | 	double calculatePerceivedLighness(COLORREF c); // 计算颜色的亮度
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	void setDarkTone(ColorTone colorToneChoice); // 设置暗黑模式的颜色调
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	COLORREF getBackgroundColor(); // 获取背景颜色
 | 
			
		
	
		
			
				
					|  |  |  |  | 	COLORREF getSofterBackgroundColor(); // 获取柔和背景颜色
 | 
			
		
	
		
			
				
					|  |  |  |  | 	COLORREF getHotBackgroundColor(); // 获取热点背景颜色
 | 
			
		
	
		
			
				
					|  |  |  |  | 	COLORREF getDarkerBackgroundColor(); // 获取深色背景颜色
 | 
			
		
	
		
			
				
					|  |  |  |  | 	COLORREF getErrorBackgroundColor(); // 获取错误背景颜色
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	COLORREF getTextColor(); // 获取文本颜色
 | 
			
		
	
		
			
				
					|  |  |  |  | 	COLORREF getDarkerTextColor(); // 获取深色文本颜色
 | 
			
		
	
		
			
				
					|  |  |  |  | 	COLORREF getDisabledTextColor(); // 获取禁用文本颜色
 | 
			
		
	
		
			
				
					|  |  |  |  | 	COLORREF getLinkTextColor(); // 获取链接文本颜色
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	COLORREF getEdgeColor(); // 获取边缘颜色
 | 
			
		
	
		
			
				
					|  |  |  |  | 	COLORREF getHotEdgeColor(); // 获取热点边缘颜色
 | 
			
		
	
		
			
				
					|  |  |  |  | 	COLORREF getDisabledEdgeColor(); // 获取禁用边缘颜色
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	HBRUSH getBackgroundBrush(); // 获取背景画刷
 | 
			
		
	
		
			
				
					|  |  |  |  | 	HBRUSH getDarkerBackgroundBrush(); // 获取深色背景画刷
 | 
			
		
	
		
			
				
					|  |  |  |  | 	HBRUSH getSofterBackgroundBrush(); // 获取柔和背景画刷
 | 
			
		
	
		
			
				
					|  |  |  |  | 	HBRUSH getHotBackgroundBrush(); // 获取热点背景画刷
 | 
			
		
	
		
			
				
					|  |  |  |  | 	HBRUSH getErrorBackgroundBrush(); // 获取错误背景画刷
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	HBRUSH getEdgeBrush(); // 获取边缘画刷
 | 
			
		
	
		
			
				
					|  |  |  |  | 	HBRUSH getHotEdgeBrush(); // 获取热点边缘画刷
 | 
			
		
	
		
			
				
					|  |  |  |  | 	HBRUSH getDisabledEdgeBrush(); // 获取禁用边缘画刷
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	COLORREF getIndividualTabColour(int colourIndex, bool themeDependant, bool saturated); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	void setBackgroundColor(COLORREF c); | 
			
		
	
		
			
				
					|  |  |  |  | 	void setSofterBackgroundColor(COLORREF c); | 
			
		
	
		
			
				
					|  |  |  |  | 	void setHotBackgroundColor(COLORREF c); | 
			
		
	
		
			
				
					|  |  |  |  | 	void setDarkerBackgroundColor(COLORREF c); | 
			
		
	
		
			
				
					|  |  |  |  | 	void setErrorBackgroundColor(COLORREF c); | 
			
		
	
		
			
				
					|  |  |  |  | 	void setTextColor(COLORREF c); | 
			
		
	
		
			
				
					|  |  |  |  | 	void setDarkerTextColor(COLORREF c); | 
			
		
	
		
			
				
					|  |  |  |  | 	void setDisabledTextColor(COLORREF c); | 
			
		
	
		
			
				
					|  |  |  |  | 	void setLinkTextColor(COLORREF c); | 
			
		
	
		
			
				
					|  |  |  |  | 	void setEdgeColor(COLORREF c); | 
			
		
	
		
			
				
					|  |  |  |  | 	void setHotEdgeColor(COLORREF c); | 
			
		
	
		
			
				
					|  |  |  |  | 	void setDisabledEdgeColor(COLORREF c); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	Colors getDarkModeDefaultColors(); | 
			
		
	
		
			
				
					|  |  |  |  | 	void changeCustomTheme(const Colors& colors); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	// handle events
 | 
			
		
	
		
			
				
					|  |  |  |  | 	void handleSettingChange(HWND hwnd, LPARAM lParam, bool isFromBtn = false); | 
			
		
	
		
			
				
					|  |  |  |  | 	bool isDarkModeReg(); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	// processes messages related to UAH / custom menubar drawing.
 | 
			
		
	
		
			
				
					|  |  |  |  | 	// return true if handled, false to continue with normal processing in your wndproc
 | 
			
		
	
		
			
				
					|  |  |  |  | 	bool runUAHWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam, LRESULT* lr); | 
			
		
	
		
			
				
					|  |  |  |  | 	void drawUAHMenuNCBottomLine(HWND hWnd); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	// from DarkMode.h
 | 
			
		
	
		
			
				
					|  |  |  |  | 	void initExperimentalDarkMode(); | 
			
		
	
		
			
				
					|  |  |  |  | 	void setDarkMode(bool useDark, bool fixDarkScrollbar); | 
			
		
	
		
			
				
					|  |  |  |  | 	void allowDarkModeForApp(bool allow); | 
			
		
	
		
			
				
					|  |  |  |  | 	bool allowDarkModeForWindow(HWND hWnd, bool allow); | 
			
		
	
		
			
				
					|  |  |  |  | 	void setTitleBarThemeColor(HWND hWnd); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	// enhancements to DarkMode.h
 | 
			
		
	
		
			
				
					|  |  |  |  | 	void enableDarkScrollBarForWindowAndChildren(HWND hwnd); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	inline void paintRoundFrameRect(HDC hdc, const RECT rect, const HPEN hpen, int width = 0, int height = 0); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	void subclassButtonControl(HWND hwnd); | 
			
		
	
		
			
				
					|  |  |  |  | 	void subclassGroupboxControl(HWND hwnd); | 
			
		
	
		
			
				
					|  |  |  |  | 	void subclassTabControl(HWND hwnd); | 
			
		
	
		
			
				
					|  |  |  |  | 	void subclassComboBoxControl(HWND hwnd); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	bool subclassTabUpDownControl(HWND hwnd); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	void subclassAndThemeButton(HWND hwnd, NppDarkModeParams p); | 
			
		
	
		
			
				
					|  |  |  |  | 	void subclassAndThemeComboBox(HWND hwnd, NppDarkModeParams p); | 
			
		
	
		
			
				
					|  |  |  |  | 	void subclassAndThemeListBoxOrEditControl(HWND hwnd, NppDarkModeParams p, bool isListBox); | 
			
		
	
		
			
				
					|  |  |  |  | 	void subclassAndThemeListView(HWND hwnd, NppDarkModeParams p); | 
			
		
	
		
			
				
					|  |  |  |  | 	void themeTreeView(HWND hwnd, NppDarkModeParams p); | 
			
		
	
		
			
				
					|  |  |  |  | 	void themeToolbar(HWND hwnd, NppDarkModeParams p); | 
			
		
	
		
			
				
					|  |  |  |  | 	void themeRichEdit(HWND hwnd, NppDarkModeParams p); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	void autoSubclassAndThemeChildControls(HWND hwndParent, bool subclass = true, bool theme = true); | 
			
		
	
		
			
				
					|  |  |  |  | 	void autoThemeChildControls(HWND hwndParent); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	LRESULT darkToolBarNotifyCustomDraw(LPARAM lParam); | 
			
		
	
		
			
				
					|  |  |  |  | 	LRESULT darkListViewNotifyCustomDraw(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, bool isPlugin); | 
			
		
	
		
			
				
					|  |  |  |  | 	LRESULT darkTreeViewNotifyCustomDraw(LPARAM lParam); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	void autoSubclassAndThemePluginDockWindow(HWND hwnd); | 
			
		
	
		
			
				
					|  |  |  |  | 	ULONG autoSubclassAndThemePlugin(HWND hwnd, ULONG dmFlags); | 
			
		
	
		
			
				
					|  |  |  |  | 	void autoSubclassAndThemeWindowNotify(HWND hwnd); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	void setDarkTitleBar(HWND hwnd); | 
			
		
	
		
			
				
					|  |  |  |  | 	void setDarkExplorerTheme(HWND hwnd); | 
			
		
	
		
			
				
					|  |  |  |  | 	void setDarkScrollBar(HWND hwnd); | 
			
		
	
		
			
				
					|  |  |  |  | 	void setDarkTooltips(HWND hwnd, ToolTipsType type); | 
			
		
	
		
			
				
					|  |  |  |  | 	void setDarkLineAbovePanelToolbar(HWND hwnd); | 
			
		
	
		
			
				
					|  |  |  |  | 	void setDarkListView(HWND hwnd); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	void disableVisualStyle(HWND hwnd, bool doDisable); | 
			
		
	
		
			
				
					|  |  |  |  | 	void calculateTreeViewStyle(); | 
			
		
	
		
			
				
					|  |  |  |  | 	void setTreeViewStyle(HWND hwnd); | 
			
		
	
		
			
				
					|  |  |  |  | 	bool isThemeDark(); | 
			
		
	
		
			
				
					|  |  |  |  | 	void setBorder(HWND hwnd, bool border = true); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	BOOL CALLBACK enumAutocompleteProc(HWND hwnd, LPARAM lParam); | 
			
		
	
		
			
				
					|  |  |  |  | 	void setDarkAutoCompletion(); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	LRESULT onCtlColor(HDC hdc); | 
			
		
	
		
			
				
					|  |  |  |  | 	LRESULT onCtlColorSofter(HDC hdc); | 
			
		
	
		
			
				
					|  |  |  |  | 	LRESULT onCtlColorDarker(HDC hdc); | 
			
		
	
		
			
				
					|  |  |  |  | 	LRESULT onCtlColorError(HDC hdc); | 
			
		
	
		
			
				
					|  |  |  |  | 	LRESULT onCtlColorDarkerBGStaticText(HDC hdc, bool isTextEnabled); | 
			
		
	
		
			
				
					|  |  |  |  | 	INT_PTR onCtlColorListbox(WPARAM wParam, LPARAM lParam); | 
			
		
	
		
			
				
					|  |  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | //这些函数主要用于初始化和管理Notepad++的暗黑模式,包括颜色设置、主题样式、窗口控件的主题化等功能。
 |