port(2V0-b): verify window tree and fix 64-bit LZO lengths
This commit is contained in:
@@ -501,3 +501,4 @@
|
||||
{"time": "2026-09-23T23:30:00Z", "event": "test_fix", "unit": "net 测试去 flaky:net_classic_session_test + net_loopback_test", "ported": [], "adapted": [], "deleted": [], "divergent": [], "needs_live": [], "trigger": "macOS 全量 ctest 连续两次各挂 1 个 net 测试,且每次挂的不是同一个(第一次 net.loopback_flow,第二次 net.classic_session)", "root_causes": ["accept_loopback(): poll() 的 `<= 0` 把 EINTR 当成对端从未连接;且单片 500ms 超时在有负载时不够。50 轮压测里 4 次失败全部源于此", "net_classic_session_test.cpp:570 的 pump 循环条件抄自上面的死端口用例,但此处 connect 会成功,stage 先经过 LoggingIn,循环提前一步退出", "同文件 5 处手写 pump 循环只给 10-20ms 等真实 loopback socket(非阻塞 connect 完成 / connect 被拒 / 对端 FIN)", "net_loopback_test.cpp 10 处 run(..., N, []{return false;}) 是固定空转而非等待条件,等不够就断言失败"], "fixes": ["accept_loopback() 改为 EINTR 重试 + 5s 截止时间(listener 本就是非阻塞,超时后 accept 不会挂住)", "新增 pump_until(session, want, max_ms=2000),替换全部 5 处手写循环;等的是断言真正关心的那个状态", "替换 replacement PHASE_LOGIN 处的单次 pump(前一条 CHECK 已经断言过「不在同一帧」,这里只需要后续某次 pump 收到)", "net_loopback_test 的 10 处固定空转改为条件等待;服务端批量收包用该批最后一个包的标志作条件(TCP 有序,最后一个到了说明前面都到了),客户端事件用 decltype 声明的本地累加器在谓词里 drain"], "speedup": {"net_classic_session_test": "61.2s -> 3.5s:两处 this-*-host-must-not-resolve.invalid 换成带空标签的名字。本机解析器不按 RFC 6761 本地拒绝 .invalid,每次发往上游等满 30s 超时;空标签让 getaddrinfo 在语法层返回同一个 EAI_NONAME,实测 <10ms", "net_loopback_test": "固定空转改条件退出后单跑 0.94s", "ctest_total": "78.7s -> 8.7s"}, "tests": "net_classic_session_test 100/100(修复前 50 轮挂 4 轮);net_loopback_test 100/100(修复前单独跑第 7 轮即挂);全量 ctest 27/27;port_map.py check 0 error;参考 EterPack.cpp 的 8 个 pack key 值逐个 git grep --cached -w,均未入库", "not_done": "只改测试,未改产品代码。这些都是测试自身的计时/错误处理缺陷,不是 mtnet 的行为问题"}
|
||||
{"time": "2026-09-23T11:00:00Z", "event": "port_round", "unit": "PORT-PLAN 批次 2P step 4 (macOS): the 40250 script layer starts inside the Godot process", "ported": [], "adapted": ["UserInterface/UserInterface.cpp:RunMainScript -> extension/src/platform/ScriptLib/PythonBoot.cpp (Start/RunMainScript/RunLine/Stop; 40250 keeps CPythonLauncher on Main()'s stack, Godot owns this process so the launcher has to outlive the call that starts it)", "EterBase/Debug.cpp:LogBox, EterBase/Debug.cpp:LogBoxf -> extension/src/platform/EterBase/Debug.cpp (stderr plus LastLogBoxMessage(); ScriptLib Traceback() reports through LogBoxf after PyErr_Fetch has cleared the exception, so this is the only place a script traceback survives)"], "deleted": [], "divergent": ["RunMainScript RegisterCommandLine passes the command line through unchanged: the -cs/-ncs auto-login decoding needs EterBase/Utils.cpp SplitLine and EterLib/Util.cpp base64_decode, both declared but not ported (批次 2V1). Nothing in this host passes -cs today.", "RunMainScript drops '--pause-before-create-window' (system(\"pause\")) and the XTrap init check: no console and no XTrap on macOS/Android.", "Of the 37 module initializers RunMainScript calls, only initpack() is called — the other 36 are 2V slices."], "needs_live": [], "staging": {"native": "extension/src/platform/ScriptLib/PythonBoot.{h,cpp} (godot-free, placed under ScriptLib because that is the directory port_logic/port_platform drop when `mtpython` is absent; compiled with the UserInterface library's definitions so its `#ifdef _DISTRIBUTE` gives __DEBUG__ = 0). extension/src/platform/EterBase/LogBox.h. extension/src/python_host_node.{h,cpp} -> GDScript class Metin2PythonHost (start/is_running/run_main_script/run_line/stop; each returns \"\" or the reason, and a build without the interpreter answers with a distinguishable message instead of failing to register).", "gdscript": "project/python_host_check.gd in two halves — the interpreter + stdlib half needs no 40250 pack and runs on any platform, the system.py half needs the pack and is skipped without it. project/python_host_test.gd (--script) is the desktop entry; MT_TEST_MODE=python in project/client_main.gd is the on-device entry, since export templates do not accept --script.", "boot": "Metin2PythonHost.start(\"\") stages the stdlib through Metin2Python.stdlib_path(), which until now had no caller outside python_stdlib_test.gd."}, "status_note": "macOS only. Android/iOS in-process is untouched: the APK cross-build is blocked on the GBK iconv issue (see the PORT-PLAN known-issue section, deferred by the user 2026-09-23), and a device has no 40250 Client/pack, so on a phone only the interpreter + stdlib half of the check can run. prototype.RunApp() is 2V0: system.py still stops at its first import. The real boot path (AppFlow) does not start the interpreter.", "tests": ["godot --headless --path project --script python_host_test.gd -> PASS: interpreter starts in-process, is_running(), a second start() is a no-op, `import os, string, types, codecs`, u'\\xe4'.encode('cp1252'), sys.path non-empty, system.py stops at ImportError: No module named app (identical to ctest port.python_launcher), stop() tears it down", "MT_TEST_MODE=python godot --headless --path project -> same result through client_main.gd", "ctest --test-dir build -> 27/27 passed (14.51s)"], "not_done": "Android/iOS 进程内验证;正式启动路径起解释器(2V0);RunMainScript 的 -cs 命令行解码(2V1)", "commit": "2P-step4-macos"}
|
||||
{"time": "2026-09-23T11:40:00Z", "event": "port_round", "unit": "PORT-PLAN 批次 2V0-a: the EterPythonLib window-system headers enter the mirror", "ported": ["EterPythonLib/StdAfx.h", "EterPythonLib/PythonGraphic.h", "EterPythonLib/PythonWindow.h", "EterPythonLib/PythonWindowManager.h", "EterPythonLib/PythonSlotWindow.h", "EterPythonLib/PythonGridSlotWindow.h"], "adapted": [], "deleted": [], "divergent": [], "needs_live": [], "staging": {"scope": "headers only; no .cpp unit and therefore no port-map entry — declarations, nothing to call. The EterPythonLib .cpp units are 2V0-b.", "mechanical": "port_copy.py copy, 0 of 6 with manual edits: every one compiles as a mechanical CP949->UTF-8 / CRLF->LF / include-case copy.", "stdafx": "EterPythonLib/StdAfx.h had to come first: port_header_gate compiles each header behind its library's StdAfx.h, as 40250 does, and without it these five see neither <Python.h>, the STL, nor CSingleton.", "slice_list_correction": "audit/slices/2V0.json lists EterLib/Dimm.h as a missing header. It is not: 40250 vendors the MIDL output of the Windows SDK <dimm.h> as EterLib/Dimm.h, and extension/src/port/common/shim/win32/Dimm.h already shims it (a mirror copy shadows the shim for EterLib/IME.h's quoted include and breaks the build on 'rpc.h'). Copied, found, and removed again."}, "status_note": "2V0 entry state measured: of the slice's 212 headers 164 were already in the mirror, 48 were not (1 EterLib = the SDK shim above, 5 EterPythonLib = this round, 42 UserInterface = 2V0-d, all behind UserInterface/PythonApplication.h). Of the 10 units, 2 are ported (ScriptLib/PythonLauncher.cpp, UserInterface/PythonPackModule.cpp) and 8 are not.", "tests": ["cmake --build build --target port_header_gate -> the 6 new gate translation units compile (each header alone, twice, behind EterPythonLib/StdAfx.h)", "ctest --test-dir build -> 27/27 passed"], "not_done": "EterPythonLib/*.cpp(2V0-b);wndMgr/grp/grpImage/grpText 模块(2V0-c);42 个 UserInterface 头 + PythonApplicationModule.cpp(2V0-d)", "commit": "2V0-a"}
|
||||
{"time": "2026-09-23T02:17:52Z", "event": "port_round", "unit": "PORT-PLAN 批次 2V0-b: window tree completion and 64-bit LZO boundary repair", "ported": ["EterPythonLib/PythonWindow.cpp (211 functions)", "EterPythonLib/PythonWindowManager.cpp (76)", "EterPythonLib/PythonSlotWindow.cpp (80)", "EterPythonLib/PythonGridSlotWindow.cpp (14)", "EterLib/ReferenceObject.cpp (9)", "EterLib/Resource.cpp (18)", "EterLib/ResourceManager.cpp (25)"], "adapted": ["EterBase/lzo.cpp: CLZObject::Compress and CLZObject::Decompress use native-width lzo_uint at the liblzo API while retaining 32-bit pack-header lengths"], "divergent": [], "needs_live": [], "status_note": "The seven units in b4c9d6ce are exact mechanical copies of 40250 (0 manual edits); their 433 functions are recorded in port-map. The original port.window_tree test had four expectations contrary to 40250: DeactivateWindow restores the previous active window and SetTop changes update order; corrected the expectations. A fresh 64-bit build exposed stack corruption in the older LZO caller because Win32 UINT (4 bytes) was passed as native lzo_uint* (8 bytes); fixed the boundary. The normal app path still does not load the UI shell; module registration and rendering remain 2V0-c through 2V0-f.", "tests": ["port_copy.py diff on seven units: 0 manual edits", "ctest -R port.window_tree: pass", "ctest -R port.eterpack: pass, including added LZO compress/decompress round trip and full pack inventory", "ctest -R port.python_launcher: pass", "ctest --test-dir build --output-on-failure -j6: 28/28 pass", "port_map.py check: 0 errors"], "not_done": "2V0-c through 2V0-f; normal app startup and visible interactive Logo/Popup are the whole 2V0 acceptance gate, not the 2V0-b substep.", "commit": "2V0-b-completion"}
|
||||
|
||||
@@ -41,7 +41,12 @@
|
||||
"status": "TODO"
|
||||
},
|
||||
"CLZObject::Compress": {
|
||||
"status": "TODO"
|
||||
"status": "ADAPTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterBase/lzo.cpp:CLZObject::Compress"
|
||||
],
|
||||
"note": "40250 passes a 32-bit UINT as lzo_uint* on Win32; on 64-bit hosts use a native-width lzo_uint and retain the 32-bit pack header (compression rejects an out-of-range length).",
|
||||
"test": "extension/tests/port_eterpack_test.cpp (port.eterpack)"
|
||||
},
|
||||
"CLZObject::BeginDecompress": {
|
||||
"impl": [
|
||||
@@ -53,7 +58,9 @@
|
||||
"impl": [
|
||||
"extension/src/port/EterBase/lzo.cpp:CLZObject::Decompress"
|
||||
],
|
||||
"status": "PORTED"
|
||||
"status": "ADAPTED",
|
||||
"note": "40250 passes a 32-bit UINT as lzo_uint* on Win32; on 64-bit hosts use a native-width lzo_uint and retain the 32-bit pack header (compression rejects an out-of-range length).",
|
||||
"test": "extension/tests/port_eterpack_test.cpp (port.eterpack)"
|
||||
},
|
||||
"CLZObject::Encrypt": {
|
||||
"status": "TODO"
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
{
|
||||
"reference": "EterLib/ReferenceObject.cpp",
|
||||
"reference_sha256": "2b2999958fac9a0d1d8412883d18bb23462732f720b803ac9ce9e8458464b8b1",
|
||||
"priority": "P4",
|
||||
"contracts": [],
|
||||
"functions": {
|
||||
"CReferenceObject::CReferenceObject": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/ReferenceObject.cpp:CReferenceObject::CReferenceObject"
|
||||
]
|
||||
},
|
||||
"CReferenceObject::~CReferenceObject": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/ReferenceObject.cpp:CReferenceObject::~CReferenceObject"
|
||||
]
|
||||
},
|
||||
"CReferenceObject::AddReference": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/ReferenceObject.cpp:CReferenceObject::AddReference"
|
||||
]
|
||||
},
|
||||
"CReferenceObject::GetReferenceCount": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/ReferenceObject.cpp:CReferenceObject::GetReferenceCount"
|
||||
]
|
||||
},
|
||||
"CReferenceObject::AddReferenceOnly": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/ReferenceObject.cpp:CReferenceObject::AddReferenceOnly"
|
||||
]
|
||||
},
|
||||
"CReferenceObject::Release": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/ReferenceObject.cpp:CReferenceObject::Release"
|
||||
]
|
||||
},
|
||||
"CReferenceObject::OnConstruct": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/ReferenceObject.cpp:CReferenceObject::OnConstruct"
|
||||
]
|
||||
},
|
||||
"CReferenceObject::OnSelfDestruct": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/ReferenceObject.cpp:CReferenceObject::OnSelfDestruct"
|
||||
]
|
||||
},
|
||||
"CReferenceObject::canDestroy": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/ReferenceObject.cpp:CReferenceObject::canDestroy"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,116 @@
|
||||
{
|
||||
"reference": "EterLib/Resource.cpp",
|
||||
"reference_sha256": "806c2cada8a168e1f019d6953348ede615c209ad5f1c049ee99890ae52e13157",
|
||||
"priority": "P4",
|
||||
"contracts": [],
|
||||
"functions": {
|
||||
"CResource::CResource": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/Resource.cpp:CResource::CResource"
|
||||
]
|
||||
},
|
||||
"CResource::~CResource": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/Resource.cpp:CResource::~CResource"
|
||||
]
|
||||
},
|
||||
"CResource::SetDeleteImmediately": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/Resource.cpp:CResource::SetDeleteImmediately"
|
||||
]
|
||||
},
|
||||
"CResource::OnConstruct": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/Resource.cpp:CResource::OnConstruct"
|
||||
]
|
||||
},
|
||||
"CResource::OnSelfDestruct": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/Resource.cpp:CResource::OnSelfDestruct"
|
||||
]
|
||||
},
|
||||
"CResource::Load": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/Resource.cpp:CResource::Load"
|
||||
]
|
||||
},
|
||||
"CResource::Reload": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/Resource.cpp:CResource::Reload"
|
||||
]
|
||||
},
|
||||
"CResource::StringToType": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/Resource.cpp:CResource::StringToType"
|
||||
]
|
||||
},
|
||||
"CResource::ConvertPathName": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/Resource.cpp:CResource::ConvertPathName"
|
||||
]
|
||||
},
|
||||
"CResource::SetFileName": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/Resource.cpp:CResource::SetFileName"
|
||||
]
|
||||
},
|
||||
"CResource::Clear": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/Resource.cpp:CResource::Clear"
|
||||
]
|
||||
},
|
||||
"CResource::IsType": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/Resource.cpp:CResource::IsType"
|
||||
]
|
||||
},
|
||||
"CResource::Type": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/Resource.cpp:CResource::Type"
|
||||
]
|
||||
},
|
||||
"CResource::OnIsType": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/Resource.cpp:CResource::OnIsType"
|
||||
]
|
||||
},
|
||||
"CResource::IsData": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/Resource.cpp:CResource::IsData"
|
||||
]
|
||||
},
|
||||
"CResource::IsEmpty": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/Resource.cpp:CResource::IsEmpty"
|
||||
]
|
||||
},
|
||||
"CResource::CreateDeviceObjects": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/Resource.cpp:CResource::CreateDeviceObjects"
|
||||
]
|
||||
},
|
||||
"CResource::DestroyDeviceObjects": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/Resource.cpp:CResource::DestroyDeviceObjects"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,158 @@
|
||||
{
|
||||
"reference": "EterLib/ResourceManager.cpp",
|
||||
"reference_sha256": "9c08265f68ef80a26fb8a19c2d81f63bc40deb907a1184c8e13973c001e9ae25",
|
||||
"priority": "P4",
|
||||
"contracts": [],
|
||||
"functions": {
|
||||
"CResourceManager::LoadStaticCache": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/ResourceManager.cpp:CResourceManager::LoadStaticCache"
|
||||
]
|
||||
},
|
||||
"CResourceManager::ProcessBackgroundLoading": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/ResourceManager.cpp:CResourceManager::ProcessBackgroundLoading"
|
||||
]
|
||||
},
|
||||
"CResourceManager::PushBackgroundLoadingSet": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/ResourceManager.cpp:CResourceManager::PushBackgroundLoadingSet"
|
||||
]
|
||||
},
|
||||
"CResourceManager::__DestroyCacheMap": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/ResourceManager.cpp:CResourceManager::__DestroyCacheMap"
|
||||
]
|
||||
},
|
||||
"CResourceManager::__DestroyDeletingResourceMap": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/ResourceManager.cpp:CResourceManager::__DestroyDeletingResourceMap"
|
||||
]
|
||||
},
|
||||
"CResourceManager::__DestroyResourceMap": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/ResourceManager.cpp:CResourceManager::__DestroyResourceMap"
|
||||
]
|
||||
},
|
||||
"CResourceManager::DestroyDeletingList": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/ResourceManager.cpp:CResourceManager::DestroyDeletingList"
|
||||
]
|
||||
},
|
||||
"CResourceManager::Destroy": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/ResourceManager.cpp:CResourceManager::Destroy"
|
||||
]
|
||||
},
|
||||
"CResourceManager::RegisterResourceNewFunctionPointer": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/ResourceManager.cpp:CResourceManager::RegisterResourceNewFunctionPointer"
|
||||
]
|
||||
},
|
||||
"CResourceManager::RegisterResourceNewFunctionByTypePointer": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/ResourceManager.cpp:CResourceManager::RegisterResourceNewFunctionByTypePointer"
|
||||
]
|
||||
},
|
||||
"CResourceManager::InsertResourcePointer": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/ResourceManager.cpp:CResourceManager::InsertResourcePointer"
|
||||
]
|
||||
},
|
||||
"__ConvertPathName": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/ResourceManager.cpp:__ConvertPathName"
|
||||
]
|
||||
},
|
||||
"CResourceManager::GetTypeResourcePointer": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/ResourceManager.cpp:CResourceManager::GetTypeResourcePointer"
|
||||
]
|
||||
},
|
||||
"CResourceManager::GetResourcePointer": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/ResourceManager.cpp:CResourceManager::GetResourcePointer"
|
||||
]
|
||||
},
|
||||
"CResourceManager::FindResourcePointer": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/ResourceManager.cpp:CResourceManager::FindResourcePointer"
|
||||
]
|
||||
},
|
||||
"CResourceManager::isResourcePointerData": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/ResourceManager.cpp:CResourceManager::isResourcePointerData"
|
||||
]
|
||||
},
|
||||
"CResourceManager::__GetFileCRC": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/ResourceManager.cpp:CResourceManager::__GetFileCRC"
|
||||
]
|
||||
},
|
||||
"DumpKBCompare": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/ResourceManager.cpp:DumpKBCompare"
|
||||
]
|
||||
},
|
||||
"DumpCostCompare": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/ResourceManager.cpp:DumpCostCompare"
|
||||
]
|
||||
},
|
||||
"CResourceManager::DumpFileListToTextFile": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/ResourceManager.cpp:CResourceManager::DumpFileListToTextFile"
|
||||
]
|
||||
},
|
||||
"CResourceManager::IsFileExist": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/ResourceManager.cpp:CResourceManager::IsFileExist"
|
||||
]
|
||||
},
|
||||
"CResourceManager::Update": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/ResourceManager.cpp:CResourceManager::Update"
|
||||
]
|
||||
},
|
||||
"CResourceManager::ReserveDeletingResource": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/ResourceManager.cpp:CResourceManager::ReserveDeletingResource"
|
||||
]
|
||||
},
|
||||
"CResourceManager::CResourceManager": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/ResourceManager.cpp:CResourceManager::CResourceManager"
|
||||
]
|
||||
},
|
||||
"CResourceManager::~CResourceManager": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterLib/ResourceManager.cpp:CResourceManager::~CResourceManager"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,92 @@
|
||||
{
|
||||
"reference": "EterPythonLib/PythonGridSlotWindow.cpp",
|
||||
"reference_sha256": "75a47271f90370b812f4426a51af5d7254332da0bb5514a24d0abdc694ff6de7",
|
||||
"priority": "P4",
|
||||
"contracts": [],
|
||||
"functions": {
|
||||
"CGridSlotWindow::OnRenderPickingSlot": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonGridSlotWindow.cpp:CGridSlotWindow::OnRenderPickingSlot"
|
||||
]
|
||||
},
|
||||
"CGridSlotWindow::GetPickedSlotPointer": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonGridSlotWindow.cpp:CGridSlotWindow::GetPickedSlotPointer"
|
||||
]
|
||||
},
|
||||
"CGridSlotWindow::GetPickedSlotList": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonGridSlotWindow.cpp:CGridSlotWindow::GetPickedSlotList"
|
||||
]
|
||||
},
|
||||
"CGridSlotWindow::GetGridSlotPointer": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonGridSlotWindow.cpp:CGridSlotWindow::GetGridSlotPointer"
|
||||
]
|
||||
},
|
||||
"CGridSlotWindow::GetPickedGridSlotPosition": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonGridSlotWindow.cpp:CGridSlotWindow::GetPickedGridSlotPosition"
|
||||
]
|
||||
},
|
||||
"CGridSlotWindow::ArrangeGridSlot": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonGridSlotWindow.cpp:CGridSlotWindow::ArrangeGridSlot"
|
||||
]
|
||||
},
|
||||
"CGridSlotWindow::OnRefreshSlot": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonGridSlotWindow.cpp:CGridSlotWindow::OnRefreshSlot"
|
||||
]
|
||||
},
|
||||
"CGridSlotWindow::CheckMoving": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonGridSlotWindow.cpp:CGridSlotWindow::CheckMoving"
|
||||
]
|
||||
},
|
||||
"CGridSlotWindow::Destroy": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonGridSlotWindow.cpp:CGridSlotWindow::Destroy"
|
||||
]
|
||||
},
|
||||
"CGridSlotWindow::__Initialize": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonGridSlotWindow.cpp:CGridSlotWindow::__Initialize"
|
||||
]
|
||||
},
|
||||
"CGridSlotWindow::Type": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonGridSlotWindow.cpp:CGridSlotWindow::Type"
|
||||
]
|
||||
},
|
||||
"CGridSlotWindow::OnIsType": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonGridSlotWindow.cpp:CGridSlotWindow::OnIsType"
|
||||
]
|
||||
},
|
||||
"CGridSlotWindow::CGridSlotWindow": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonGridSlotWindow.cpp:CGridSlotWindow::CGridSlotWindow"
|
||||
]
|
||||
},
|
||||
"CGridSlotWindow::~CGridSlotWindow": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonGridSlotWindow.cpp:CGridSlotWindow::~CGridSlotWindow"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,488 @@
|
||||
{
|
||||
"reference": "EterPythonLib/PythonSlotWindow.cpp",
|
||||
"reference_sha256": "05487c54de74cac5c748c51633128d7e639d53c48b266d00e7c6359096664ecb",
|
||||
"priority": "P4",
|
||||
"contracts": [],
|
||||
"functions": {
|
||||
"CSlotWindow::SetSlotType": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::SetSlotType"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::SetSlotStyle": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::SetSlotStyle"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::AppendSlot": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::AppendSlot"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::SetCoverButton": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::SetCoverButton"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::EnableCoverButton": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::EnableCoverButton"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::DisableCoverButton": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::DisableCoverButton"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::SetAlwaysRenderCoverButton": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::SetAlwaysRenderCoverButton"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::ShowSlotBaseImage": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::ShowSlotBaseImage"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::HideSlotBaseImage": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::HideSlotBaseImage"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::IsDisableCoverButton": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::IsDisableCoverButton"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::SetSlotBaseImage": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::SetSlotBaseImage"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::AppendSlotButton": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::AppendSlotButton"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::AppendRequirementSignImage": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::AppendRequirementSignImage"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::HasSlot": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::HasSlot"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::SetSlot": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::SetSlot"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::SetSlotCount": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::SetSlotCount"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::SetSlotCountNew": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::SetSlotCountNew"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::SetSlotCoolTime": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::SetSlotCoolTime"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::ActivateSlot": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::ActivateSlot"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::DeactivateSlot": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::DeactivateSlot"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::ClearSlot": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::ClearSlot"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::ClearAllSlot": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::ClearAllSlot"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::RefreshSlot": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::RefreshSlot"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::OnRefreshSlot": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::OnRefreshSlot"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::GetSlotCount": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::GetSlotCount"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::LockSlot": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::LockSlot"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::UnlockSlot": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::UnlockSlot"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::SetCantUseSlot": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::SetCantUseSlot"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::SetUseSlot": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::SetUseSlot"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::EnableSlot": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::EnableSlot"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::DisableSlot": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::DisableSlot"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::SelectSlot": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::SelectSlot"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::isSelectedSlot": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::isSelectedSlot"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::ClearSelected": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::ClearSelected"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::GetSelectedSlotCount": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::GetSelectedSlotCount"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::GetSelectedSlotNumber": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::GetSelectedSlotNumber"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::ShowSlotButton": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::ShowSlotButton"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::HideAllSlotButton": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::HideAllSlotButton"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::ShowRequirementSign": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::ShowRequirementSign"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::HideRequirementSign": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::HideRequirementSign"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::OnMouseLeftButtonDown": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::OnMouseLeftButtonDown"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::OnMouseLeftButtonUp": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::OnMouseLeftButtonUp"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::OnMouseRightButtonDown": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::OnMouseRightButtonDown"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::OnMouseLeftButtonDoubleClick": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::OnMouseLeftButtonDoubleClick"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::OnMouseOverOut": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::OnMouseOverOut"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::OnMouseOver": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::OnMouseOver"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::OnSelectEmptySlot": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::OnSelectEmptySlot"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::OnSelectItemSlot": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::OnSelectItemSlot"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::OnUnselectEmptySlot": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::OnUnselectEmptySlot"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::OnUnselectItemSlot": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::OnUnselectItemSlot"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::OnUseSlot": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::OnUseSlot"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::OnOverInItem": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::OnOverInItem"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::OnOverOutItem": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::OnOverOutItem"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::OnPressedSlotButton": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::OnPressedSlotButton"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::OnUpdate": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::OnUpdate"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::OnRender": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::OnRender"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::RenderSlotBaseImage": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::RenderSlotBaseImage"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::OnRenderPickingSlot": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::OnRenderPickingSlot"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::OnRenderSelectedSlot": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::OnRenderSelectedSlot"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::RenderLockedSlot": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::RenderLockedSlot"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::GetSlotPointer": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::GetSlotPointer"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::GetSelectedSlotPointer": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::GetSelectedSlotPointer"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::GetPickedSlotPointer": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::GetPickedSlotPointer"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::SetUseMode": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::SetUseMode"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::SetUsableItem": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::SetUsableItem"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::ReserveDestroyCoolTimeFinishEffect": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::ReserveDestroyCoolTimeFinishEffect"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::Type": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::Type"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::OnIsType": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::OnIsType"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::__CreateToggleSlotImage": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::__CreateToggleSlotImage"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::__CreateSlotEnableEffect": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::__CreateSlotEnableEffect"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::__CreateFinishCoolTimeEffect": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::__CreateFinishCoolTimeEffect"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::__CreateBaseImage": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::__CreateBaseImage"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::__DestroyToggleSlotImage": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::__DestroyToggleSlotImage"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::__DestroySlotEnableEffect": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::__DestroySlotEnableEffect"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::__DestroyFinishCoolTimeEffect": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::__DestroyFinishCoolTimeEffect"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::__DestroyBaseImage": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::__DestroyBaseImage"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::__Initialize": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::__Initialize"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::Destroy": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::Destroy"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::CSlotWindow": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::CSlotWindow"
|
||||
]
|
||||
},
|
||||
"CSlotWindow::~CSlotWindow": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonSlotWindow.cpp:CSlotWindow::~CSlotWindow"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,464 @@
|
||||
{
|
||||
"reference": "EterPythonLib/PythonWindowManager.cpp",
|
||||
"reference_sha256": "021e4f01f5e57ae23f614e82f3e300a1143ec979f817f5e1ac92f2e85c1307c7",
|
||||
"priority": "P4",
|
||||
"contracts": [],
|
||||
"functions": {
|
||||
"CWindowManager::CWindowManager": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::CWindowManager"
|
||||
]
|
||||
},
|
||||
"CWindowManager::~CWindowManager": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::~CWindowManager"
|
||||
]
|
||||
},
|
||||
"CWindowManager::Destroy": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::Destroy"
|
||||
]
|
||||
},
|
||||
"CWindowManager::SetMouseHandler": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::SetMouseHandler"
|
||||
]
|
||||
},
|
||||
"CWindowManager::RegisterWindow": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::RegisterWindow"
|
||||
]
|
||||
},
|
||||
"CWindowManager::__NewWindow": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::__NewWindow"
|
||||
]
|
||||
},
|
||||
"CWindowManager::RegisterTypeWindow": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::RegisterTypeWindow"
|
||||
]
|
||||
},
|
||||
"CWindowManager::RegisterSlotWindow": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::RegisterSlotWindow"
|
||||
]
|
||||
},
|
||||
"CWindowManager::RegisterGridSlotWindow": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::RegisterGridSlotWindow"
|
||||
]
|
||||
},
|
||||
"CWindowManager::RegisterTextLine": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::RegisterTextLine"
|
||||
]
|
||||
},
|
||||
"CWindowManager::RegisterImageBox": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::RegisterImageBox"
|
||||
]
|
||||
},
|
||||
"CWindowManager::RegisterMarkBox": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::RegisterMarkBox"
|
||||
]
|
||||
},
|
||||
"CWindowManager::RegisterExpandedImageBox": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::RegisterExpandedImageBox"
|
||||
]
|
||||
},
|
||||
"CWindowManager::RegisterAniImageBox": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::RegisterAniImageBox"
|
||||
]
|
||||
},
|
||||
"CWindowManager::RegisterButton": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::RegisterButton"
|
||||
]
|
||||
},
|
||||
"CWindowManager::RegisterRadioButton": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::RegisterRadioButton"
|
||||
]
|
||||
},
|
||||
"CWindowManager::RegisterToggleButton": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::RegisterToggleButton"
|
||||
]
|
||||
},
|
||||
"CWindowManager::RegisterDragButton": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::RegisterDragButton"
|
||||
]
|
||||
},
|
||||
"CWindowManager::RegisterBox": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::RegisterBox"
|
||||
]
|
||||
},
|
||||
"CWindowManager::RegisterBar": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::RegisterBar"
|
||||
]
|
||||
},
|
||||
"CWindowManager::RegisterLine": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::RegisterLine"
|
||||
]
|
||||
},
|
||||
"CWindowManager::RegisterBar3D": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::RegisterBar3D"
|
||||
]
|
||||
},
|
||||
"CWindowManager::RegisterNumberLine": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::RegisterNumberLine"
|
||||
]
|
||||
},
|
||||
"CWindowManager::NotifyDestroyWindow": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::NotifyDestroyWindow"
|
||||
]
|
||||
},
|
||||
"CWindowManager::DestroyWindow": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::DestroyWindow"
|
||||
]
|
||||
},
|
||||
"CWindowManager::IsDragging": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::IsDragging"
|
||||
]
|
||||
},
|
||||
"CWindowManager::IsAttaching": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::IsAttaching"
|
||||
]
|
||||
},
|
||||
"CWindowManager::GetAttachingType": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::GetAttachingType"
|
||||
]
|
||||
},
|
||||
"CWindowManager::GetAttachingIndex": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::GetAttachingIndex"
|
||||
]
|
||||
},
|
||||
"CWindowManager::GetAttachingSlotNumber": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::GetAttachingSlotNumber"
|
||||
]
|
||||
},
|
||||
"CWindowManager::GetAttachingIconSize": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::GetAttachingIconSize"
|
||||
]
|
||||
},
|
||||
"CWindowManager::AttachIcon": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::AttachIcon"
|
||||
]
|
||||
},
|
||||
"CWindowManager::SetAttachingFlag": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::SetAttachingFlag"
|
||||
]
|
||||
},
|
||||
"CWindowManager::DeattachIcon": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::DeattachIcon"
|
||||
]
|
||||
},
|
||||
"CWindowManager::SetParent": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::SetParent"
|
||||
]
|
||||
},
|
||||
"CWindowManager::SetPickAlways": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::SetPickAlways"
|
||||
]
|
||||
},
|
||||
"CWindowManager::OnceIgnoreMouseLeftButtonUpEvent": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::OnceIgnoreMouseLeftButtonUpEvent"
|
||||
]
|
||||
},
|
||||
"CWindowManager::LockWindow": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::LockWindow"
|
||||
]
|
||||
},
|
||||
"CWindowManager::UnlockWindow": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::UnlockWindow"
|
||||
]
|
||||
},
|
||||
"CWindowManager::ActivateWindow": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::ActivateWindow"
|
||||
]
|
||||
},
|
||||
"CWindowManager::DeactivateWindow": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::DeactivateWindow"
|
||||
]
|
||||
},
|
||||
"CWindowManager::SetTop": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::SetTop"
|
||||
]
|
||||
},
|
||||
"CWindowManager::SetTopUIWindow": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::SetTopUIWindow"
|
||||
]
|
||||
},
|
||||
"CWindowManager::GetActivateWindow": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::GetActivateWindow"
|
||||
]
|
||||
},
|
||||
"CWindowManager::ResetCapture": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::ResetCapture"
|
||||
]
|
||||
},
|
||||
"CWindowManager::SetResolution": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::SetResolution"
|
||||
]
|
||||
},
|
||||
"CWindowManager::GetAspect": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::GetAspect"
|
||||
]
|
||||
},
|
||||
"CWindowManager::SetScreenSize": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::SetScreenSize"
|
||||
]
|
||||
},
|
||||
"CWindowManager::__ClearReserveDeleteWindowList": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::__ClearReserveDeleteWindowList"
|
||||
]
|
||||
},
|
||||
"CWindowManager::Update": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::Update"
|
||||
]
|
||||
},
|
||||
"CWindowManager::Render": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::Render"
|
||||
]
|
||||
},
|
||||
"CWindowManager::__PickWindow": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::__PickWindow"
|
||||
]
|
||||
},
|
||||
"CWindowManager::SetMousePosition": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::SetMousePosition"
|
||||
]
|
||||
},
|
||||
"CWindowManager::GetMousePosition": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::GetMousePosition"
|
||||
]
|
||||
},
|
||||
"CWindowManager::RunMouseMove": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::RunMouseMove"
|
||||
]
|
||||
},
|
||||
"CWindowManager::RunMouseLeftButtonDown": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::RunMouseLeftButtonDown"
|
||||
]
|
||||
},
|
||||
"CWindowManager::RunMouseLeftButtonUp": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::RunMouseLeftButtonUp"
|
||||
]
|
||||
},
|
||||
"CWindowManager::RunMouseLeftButtonDoubleClick": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::RunMouseLeftButtonDoubleClick"
|
||||
]
|
||||
},
|
||||
"CWindowManager::RunMouseRightButtonDown": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::RunMouseRightButtonDown"
|
||||
]
|
||||
},
|
||||
"CWindowManager::RunMouseRightButtonUp": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::RunMouseRightButtonUp"
|
||||
]
|
||||
},
|
||||
"CWindowManager::RunMouseRightButtonDoubleClick": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::RunMouseRightButtonDoubleClick"
|
||||
]
|
||||
},
|
||||
"CWindowManager::RunMouseMiddleButtonDown": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::RunMouseMiddleButtonDown"
|
||||
]
|
||||
},
|
||||
"CWindowManager::RunMouseMiddleButtonUp": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::RunMouseMiddleButtonUp"
|
||||
]
|
||||
},
|
||||
"CWindowManager::RunIMEUpdate": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::RunIMEUpdate"
|
||||
]
|
||||
},
|
||||
"CWindowManager::RunIMETabEvent": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::RunIMETabEvent"
|
||||
]
|
||||
},
|
||||
"CWindowManager::RunIMEReturnEvent": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::RunIMEReturnEvent"
|
||||
]
|
||||
},
|
||||
"CWindowManager::RunIMEKeyDown": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::RunIMEKeyDown"
|
||||
]
|
||||
},
|
||||
"CWindowManager::RunChangeCodePage": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::RunChangeCodePage"
|
||||
]
|
||||
},
|
||||
"CWindowManager::RunOpenCandidate": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::RunOpenCandidate"
|
||||
]
|
||||
},
|
||||
"CWindowManager::RunCloseCandidate": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::RunCloseCandidate"
|
||||
]
|
||||
},
|
||||
"CWindowManager::RunOpenReading": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::RunOpenReading"
|
||||
]
|
||||
},
|
||||
"CWindowManager::RunCloseReading": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::RunCloseReading"
|
||||
]
|
||||
},
|
||||
"CWindowManager::RunKeyDown": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::RunKeyDown"
|
||||
]
|
||||
},
|
||||
"CWindowManager::RunKeyUp": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::RunKeyUp"
|
||||
]
|
||||
},
|
||||
"CWindowManager::RunPressEscapeKey": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::RunPressEscapeKey"
|
||||
]
|
||||
},
|
||||
"CWindowManager::RunPressExitKey": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/EterPythonLib/PythonWindowManager.cpp:CWindowManager::RunPressExitKey"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -396,7 +396,7 @@ extension/third_party/cpython-2.7.18/ # 静态库(2P 批次
|
||||
| 子步骤 | 内容 | 状态 |
|
||||
| --- | --- | --- |
|
||||
| 2V0-a | `EterPythonLib/StdAfx.h` + 5 个窗口系统头进镜像,门禁绿 | 完成 |
|
||||
| 2V0-b | `EterPythonLib/PythonWindow.cpp`、`PythonWindowManager.cpp`(窗口树逻辑) | 未做 |
|
||||
| 2V0-b | `EterPythonLib/PythonWindow.cpp`、`PythonWindowManager.cpp`(窗口树逻辑;含 Slot/GridSlot 与资源层依赖) | 完成:原版源码机械移植,`port.window_tree` 通过;正式 UI 渲染仍属 2V0-f |
|
||||
| 2V0-c | `wndMgr` / `grp` / `grpImage` / `grpText` / `grpThing` 模块 | 未做 |
|
||||
| 2V0-d | 42 个 `UserInterface` 头(都在 `PythonApplication.h` 后面)+ `PythonApplicationModule.cpp`(`app`) | 未做 |
|
||||
| 2V0-e | `dbg` 等桩模块补齐,`system.py` 跑到 `prototype.RunApp()` | 未做 |
|
||||
|
||||
@@ -157,7 +157,8 @@ void CLZObject::BeginCompressInBuffer(const void * pvIn, UINT uiInLen, void * /*
|
||||
|
||||
bool CLZObject::Compress()
|
||||
{
|
||||
UINT iOutLen;
|
||||
// PORT: lzo_uint is 64-bit here; the original UINT out parameter is 32-bit on Win32.
|
||||
lzo_uint iOutLen;
|
||||
BYTE * pbBuffer;
|
||||
|
||||
pbBuffer = m_pbBuffer + sizeof(THeader);
|
||||
@@ -165,9 +166,9 @@ bool CLZObject::Compress()
|
||||
pbBuffer += sizeof(DWORD);
|
||||
|
||||
#if defined( LZO1X_999_MEM_COMPRESS )
|
||||
int r = lzo1x_999_compress((BYTE *) m_pbIn, m_pHeader->dwRealSize, pbBuffer, (lzo_uint*) &iOutLen, CLZO::Instance().GetWorkMemory());
|
||||
int r = lzo1x_999_compress((BYTE *) m_pbIn, m_pHeader->dwRealSize, pbBuffer, &iOutLen, CLZO::Instance().GetWorkMemory());
|
||||
#else
|
||||
int r = lzo1x_1_compress((BYTE *) m_pbIn, m_pHeader->dwRealSize, pbBuffer, (lzo_uint*) &iOutLen, CLZO::Instance().GetWorkMemory());
|
||||
int r = lzo1x_1_compress((BYTE *) m_pbIn, m_pHeader->dwRealSize, pbBuffer, &iOutLen, CLZO::Instance().GetWorkMemory());
|
||||
#endif
|
||||
|
||||
if (LZO_E_OK != r)
|
||||
@@ -176,7 +177,9 @@ bool CLZObject::Compress()
|
||||
return false;
|
||||
}
|
||||
|
||||
m_pHeader->dwCompressedSize = iOutLen;
|
||||
if (iOutLen > UINT32_MAX)
|
||||
return false;
|
||||
m_pHeader->dwCompressedSize = static_cast<DWORD>(iOutLen);
|
||||
m_bCompressed = true;
|
||||
return true;
|
||||
}
|
||||
@@ -260,7 +263,8 @@ private:
|
||||
|
||||
bool CLZObject::Decompress(DWORD * pdwKey)
|
||||
{
|
||||
UINT uiSize;
|
||||
// PORT: liblzo writes a native-width lzo_uint, while the pack header stays 32-bit.
|
||||
lzo_uint uiSize;
|
||||
int r;
|
||||
|
||||
if (m_pHeader->dwEncryptSize)
|
||||
@@ -277,7 +281,7 @@ bool CLZObject::Decompress(DWORD * pdwKey)
|
||||
return false;
|
||||
}
|
||||
|
||||
if (LZO_E_OK != (r = lzo1x_decompress(pbDecryptedBuffer + sizeof(DWORD), m_pHeader->dwCompressedSize, m_pbBuffer, (lzo_uint*) &uiSize, NULL)))
|
||||
if (LZO_E_OK != (r = lzo1x_decompress(pbDecryptedBuffer + sizeof(DWORD), m_pHeader->dwCompressedSize, m_pbBuffer, &uiSize, NULL)))
|
||||
{
|
||||
TraceError("LZObject: Decompress failed(decrypt) ret %d\n", r);
|
||||
return false;
|
||||
@@ -288,7 +292,7 @@ bool CLZObject::Decompress(DWORD * pdwKey)
|
||||
uiSize = m_pHeader->dwRealSize;
|
||||
|
||||
//if (LZO_E_OK != (r = lzo1x_decompress_safe(m_pbIn, m_pHeader->dwCompressedSize, m_pbBuffer, (lzo_uint*) &uiSize, NULL)))
|
||||
if (LZO_E_OK != (r = lzo1x_decompress(m_pbIn, m_pHeader->dwCompressedSize, m_pbBuffer, (lzo_uint*) &uiSize, NULL)))
|
||||
if (LZO_E_OK != (r = lzo1x_decompress(m_pbIn, m_pHeader->dwCompressedSize, m_pbBuffer, &uiSize, NULL)))
|
||||
{
|
||||
TraceError("LZObject: Decompress failed : ret %d, CompressedSize %d\n", r, m_pHeader->dwCompressedSize);
|
||||
return false;
|
||||
|
||||
@@ -9,10 +9,12 @@
|
||||
#include "EterPack/StdAfx.h"
|
||||
#include "EterPack/EterPackManager.h"
|
||||
#include "EterBase/CRC32.h"
|
||||
#include "EterBase/lzo.h"
|
||||
#include "../src/platform/UserInterface/UserInterface.h"
|
||||
|
||||
#include <cstdio>
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
#include <fstream>
|
||||
#include <map>
|
||||
#include <set>
|
||||
@@ -73,6 +75,16 @@ int main(int argc, char** argv)
|
||||
}
|
||||
|
||||
PackSingletons();
|
||||
// A 32-bit pack header must round-trip through liblzo's native-width output parameter.
|
||||
const char sample[] = "40250 pack LZO length on a 64-bit host";
|
||||
CLZObject compressed;
|
||||
compressed.BeginCompress(sample, sizeof(sample));
|
||||
CHECK(compressed.Compress());
|
||||
CLZObject restored;
|
||||
CHECK(restored.BeginDecompress(compressed.GetBuffer()));
|
||||
CHECK(restored.Decompress());
|
||||
CHECK(restored.GetSize() == sizeof(sample));
|
||||
CHECK(std::memcmp(restored.GetBuffer(), sample, sizeof(sample)) == 0);
|
||||
CHECK(PackInitialize("pack"));
|
||||
CEterPackManager& mgr = CEterPackManager::Instance();
|
||||
|
||||
|
||||
@@ -244,8 +244,11 @@ static void run(UI::CWindowManager& wm)
|
||||
CHECK(wm.IsFocusWindow(c) && !wm.IsFocusWindow(a));
|
||||
CHECK(take_log() == "A:blur C:focus");
|
||||
wm.DeactivateWindow();
|
||||
CHECK(wm.IsFocusWindow(a));
|
||||
CHECK(take_log() == "C:blur A:focus");
|
||||
wm.DeactivateWindow();
|
||||
CHECK(!wm.IsFocus());
|
||||
take_log();
|
||||
CHECK(take_log() == "A:blur");
|
||||
|
||||
// ---- 按键:RunKeyDownEvent 从 root 往下走,第一个 OnKeyDown 返回真的窗口吃掉它并被记成捕获者 ----
|
||||
a->Hide(); // A 的处理器返回 0,藏起来让这段日志只剩 C
|
||||
@@ -262,10 +265,10 @@ static void run(UI::CWindowManager& wm)
|
||||
// ---- Update 沿着树走,Hide 的分支整支跳过 ----
|
||||
take_log();
|
||||
wm.Update();
|
||||
CHECK(take_log() == "A:update B:update C:update");
|
||||
CHECK(take_log() == "C:update A:update B:update");
|
||||
b->Hide();
|
||||
wm.Update();
|
||||
CHECK(take_log() == "A:update C:update");
|
||||
CHECK(take_log() == "C:update A:update");
|
||||
b->Show();
|
||||
|
||||
// ---- 销毁:先从管理器的各个指针里摘干净,再从父窗口摘掉,真正的 delete 留到下一次 Update ----
|
||||
|
||||
Reference in New Issue
Block a user