zhouyang_branch
Zhouyang 1 year ago
parent 1006a53e68
commit 7d0ec755c1

@ -13,6 +13,21 @@
// //
// You should have received a copy of the GNU General Public License // You should have received a copy of the GNU General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>. // along with this program. If not, see <https://www.gnu.org/licenses/>.
//此文件是 Notepad++ 项目的一部分
//版权所有 C2021 Don HO <don.h@free.fr>
//该程序是免费软件:您可以重新分发和 / 或修改它
//它根据 GNU 通用公共许可证的条款,由
//自由软件基金会Free Software Foundation许可证的第 3 版,或
//由您选择任何更高版本。
//
//分发该程序是希望它有用,
//但没有任何保证; 甚至没有默示保证
//适销性或特定用途的适用性。请参阅
//GNU 通用公共许可证了解更多详情。
//
//您应该已经收到了 GNU 通用公共许可证的副本
//以及这个程序。 如果没有,请参阅 < https://www.gnu.org/licenses/>。
#pragma once #pragma once
@ -36,30 +51,33 @@
#ifdef _WIN64 #ifdef _WIN64
#ifdef _M_ARM64 #ifdef _M_ARM64
#define ARCH_TYPE IMAGE_FILE_MACHINE_ARM64 #define ARCH_TYPE IMAGE_FILE_MACHINE_ARM64//图像文件机常量
#else #else
#define ARCH_TYPE IMAGE_FILE_MACHINE_AMD64 #define ARCH_TYPE IMAGE_FILE_MACHINE_AMD64//图像文件机常量
#endif #endif
#else #else
#define ARCH_TYPE IMAGE_FILE_MACHINE_I386 #define ARCH_TYPE IMAGE_FILE_MACHINE_I386//图像文件机常量
#endif #endif
#define CMD_INTERPRETER TEXT("%COMSPEC%") #define CMD_INTERPRETER TEXT("%COMSPEC%")//指向CMD启动
class NativeLangSpeaker; class NativeLangSpeaker;
const bool POS_VERTICAL = true; const bool POS_VERTICAL = true;//垂直向量为1
const bool POS_HORIZOTAL = false; const bool POS_HORIZOTAL = false;//水平向量为0
const int UDD_SHOW = 1; // 0000 0001 const int UDD_SHOW = 1; // 0000 0001
const int UDD_DOCKED = 2; // 0000 0010 const int UDD_DOCKED = 2; // 0000 0010
// 0 : 0000 0000 hide & undocked //Docker 将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。
// 1 : 0000 0001 show & undocked // 程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了 Docker就不用担心环境问题。
// 2 : 0000 0010 hide & docked
// 3 : 0000 0011 show & docked // 0 : 0000 0000 hide & undocked 隐藏且非环境化 0
// 1 : 0000 0001 show & undocked 显示且非环境化 1
// 2 : 0000 0010 hide & docked 隐藏且环境化 2
// 3 : 0000 0011 show & docked 显示且环境化 3
const int TAB_DRAWTOPBAR = 1; //0000 0000 0001 const int TAB_DRAWTOPBAR = 1; //0000 0000 0001
const int TAB_DRAWINACTIVETAB = 2; //0000 0000 0010 const int TAB_DRAWINACTIVETAB = 2; //0000 0000 0010
@ -76,7 +94,7 @@ const int TAB_ALTICONS = 1024; //0100 0000 0000
const bool activeText = true; const bool activeText = true;
const bool activeNumeric = false; const bool activeNumeric = false;
enum class EolType: std::uint8_t enum class EolType: std::uint8_t//end of line 类型
{ {
windows, windows,
macos, macos,
@ -88,9 +106,9 @@ enum class EolType: std::uint8_t
}; };
/*! /*!
** \brief Convert an int into a FormatType ** \brief Convert an int into a FormatTypeint
** \param value An arbitrary int ** \param value An arbitrary intint
** \param defvalue The default value to use if an invalid value is provided ** \param defvalue The default value to use if an invalid value is provided使
*/ */
EolType convertIntToFormatType(int value, EolType defvalue = EolType::osdefault); EolType convertIntToFormatType(int value, EolType defvalue = EolType::osdefault);
@ -98,16 +116,16 @@ EolType convertIntToFormatType(int value, EolType defvalue = EolType::osdefault)
enum UniMode {uni8Bit=0, uniUTF8=1, uni16BE=2, uni16LE=3, uniCookie=4, uni7Bit=5, uni16BE_NoBOM=6, uni16LE_NoBOM=7, uniEnd}; enum UniMode {uni8Bit=0, uniUTF8=1, uni16BE=2, uni16LE=3, uniCookie=4, uni7Bit=5, uni16BE_NoBOM=6, uni16LE_NoBOM=7, uniEnd};
enum ChangeDetect { cdDisabled = 0x0, cdEnabledOld = 0x01, cdEnabledNew = 0x02, cdAutoUpdate = 0x04, cdGo2end = 0x08 }; enum ChangeDetect { cdDisabled = 0x0, cdEnabledOld = 0x01, cdEnabledNew = 0x02, cdAutoUpdate = 0x04, cdGo2end = 0x08 };//改变监控
enum BackupFeature {bak_none = 0, bak_simple = 1, bak_verbose = 2}; enum BackupFeature {bak_none = 0, bak_simple = 1, bak_verbose = 2};//备份和还原
enum OpenSaveDirSetting {dir_followCurrent = 0, dir_last = 1, dir_userDef = 2}; enum OpenSaveDirSetting {dir_followCurrent = 0, dir_last = 1, dir_userDef = 2};//打开已保存设置
enum MultiInstSetting {monoInst = 0, multiInstOnSession = 1, multiInst = 2}; enum MultiInstSetting {monoInst = 0, multiInstOnSession = 1, multiInst = 2};//
enum writeTechnologyEngine {defaultTechnology = 0, directWriteTechnology = 1}; enum writeTechnologyEngine {defaultTechnology = 0, directWriteTechnology = 1};
enum urlMode {urlDisable = 0, urlNoUnderLineFg, urlUnderLineFg, urlNoUnderLineBg, urlUnderLineBg, enum urlMode {urlDisable = 0, urlNoUnderLineFg, urlUnderLineFg, urlNoUnderLineBg, urlUnderLineBg,
urlMin = urlDisable, urlMin = urlDisable,
urlMax = urlUnderLineBg}; urlMax = urlUnderLineBg};
const int LANG_INDEX_INSTR = 0; const int LANG_INDEX_INSTR = 0;//语言索引指令
const int LANG_INDEX_INSTR2 = 1; const int LANG_INDEX_INSTR2 = 1;
const int LANG_INDEX_TYPE = 2; const int LANG_INDEX_TYPE = 2;
const int LANG_INDEX_TYPE2 = 3; const int LANG_INDEX_TYPE2 = 3;
@ -117,7 +135,7 @@ const int LANG_INDEX_TYPE5 = 6;
const int LANG_INDEX_TYPE6 = 7; const int LANG_INDEX_TYPE6 = 7;
const int LANG_INDEX_TYPE7 = 8; const int LANG_INDEX_TYPE7 = 8;
const int COPYDATA_PARAMS = 0; const int COPYDATA_PARAMS = 0;//数据拷贝参数
//const int COPYDATA_FILENAMESA = 1; // obsolete, no more useful //const int COPYDATA_FILENAMESA = 1; // obsolete, no more useful
const int COPYDATA_FILENAMESW = 2; const int COPYDATA_FILENAMESW = 2;
const int COPYDATA_FULL_CMDLINE = 3; const int COPYDATA_FULL_CMDLINE = 3;
@ -154,7 +172,7 @@ void cutStringBy(const TCHAR *str2cut, std::vector<std::wstring> & patternVect,
// style names // style names
const wchar_t g_npcStyleName[] = L"Non-printing characters custom color"; const wchar_t g_npcStyleName[] = L"Non-printing characters custom color";
struct Position struct Position//位置结构体初始值全部为0
{ {
intptr_t _firstVisibleLine = 0; intptr_t _firstVisibleLine = 0;
intptr_t _startPos = 0; intptr_t _startPos = 0;
@ -167,7 +185,7 @@ struct Position
}; };
struct MapPosition struct MapPosition//图位
{ {
private: private:
intptr_t _maxPeekLenInKB = 512; // 512 KB intptr_t _maxPeekLenInKB = 512; // 512 KB
@ -187,10 +205,11 @@ public:
bool _isWrap = false; bool _isWrap = false;
bool isValid() const { return (_firstVisibleDisplayLine != -1); }; bool isValid() const { return (_firstVisibleDisplayLine != -1); };
bool canScroll() const { return (_KByteInDoc < _maxPeekLenInKB); }; // _nbCharInDoc < _maxPeekLen : Don't scroll the document for the performance issue bool canScroll() const { return (_KByteInDoc < _maxPeekLenInKB); }; // _nbCharInDoc < _maxPeekLen : Don't scroll the document for the performance issue
//展开文件
}; };
struct sessionFileInfo : public Position struct sessionFileInfo : public Position//会话文件信息结构体
{ {
sessionFileInfo(const wchar_t* fn, const TCHAR *ln, int encoding, bool userReadOnly, const Position& pos, const TCHAR *backupFilePath, FILETIME originalFileLastModifTimestamp, const MapPosition & mapPos) : sessionFileInfo(const wchar_t* fn, const TCHAR *ln, int encoding, bool userReadOnly, const Position& pos, const TCHAR *backupFilePath, FILETIME originalFileLastModifTimestamp, const MapPosition & mapPos) :
Position(pos), _encoding(encoding), _isUserReadOnly(userReadOnly), _originalFileLastModifTimestamp(originalFileLastModifTimestamp), _mapPos(mapPos) Position(pos), _encoding(encoding), _isUserReadOnly(userReadOnly), _originalFileLastModifTimestamp(originalFileLastModifTimestamp), _mapPos(mapPos)
@ -218,7 +237,7 @@ struct sessionFileInfo : public Position
}; };
struct Session struct Session//会话结构体
{ {
size_t nbMainFiles() const {return _mainViewFiles.size();}; size_t nbMainFiles() const {return _mainViewFiles.size();};
size_t nbSubFiles() const {return _subViewFiles.size();}; size_t nbSubFiles() const {return _subViewFiles.size();};
@ -315,12 +334,12 @@ struct CmdLineParamsDTO
} }
}; };
struct FloatingWindowInfo struct FloatingWindowInfo//浮动窗口信息结构体
{ {
int _cont = 0; int _cont = 0;
RECT _pos = {}; RECT _pos = {};
FloatingWindowInfo(int cont, int x, int y, int w, int h) FloatingWindowInfo(int cont, int x, int y, int w, int h)//浮动窗口位置参数
: _cont(cont) : _cont(cont)
{ {
_pos.left = x; _pos.left = x;

Loading…
Cancel
Save