diff --git a/audit/history.jsonl b/audit/history.jsonl index ad19678c..7f8ba9c3 100644 --- a/audit/history.jsonl +++ b/audit/history.jsonl @@ -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 , 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 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"} diff --git a/audit/port-map/EterBase/lzo.cpp.json b/audit/port-map/EterBase/lzo.cpp.json index d2b616b8..cc62d0b8 100644 --- a/audit/port-map/EterBase/lzo.cpp.json +++ b/audit/port-map/EterBase/lzo.cpp.json @@ -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" diff --git a/audit/port-map/EterLib/ReferenceObject.cpp.json b/audit/port-map/EterLib/ReferenceObject.cpp.json new file mode 100644 index 00000000..ed1193dc --- /dev/null +++ b/audit/port-map/EterLib/ReferenceObject.cpp.json @@ -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" + ] + } + } +} diff --git a/audit/port-map/EterLib/Resource.cpp.json b/audit/port-map/EterLib/Resource.cpp.json new file mode 100644 index 00000000..5a0942ef --- /dev/null +++ b/audit/port-map/EterLib/Resource.cpp.json @@ -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" + ] + } + } +} diff --git a/audit/port-map/EterLib/ResourceManager.cpp.json b/audit/port-map/EterLib/ResourceManager.cpp.json new file mode 100644 index 00000000..9219a68e --- /dev/null +++ b/audit/port-map/EterLib/ResourceManager.cpp.json @@ -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" + ] + } + } +} diff --git a/audit/port-map/EterPythonLib/PythonGridSlotWindow.cpp.json b/audit/port-map/EterPythonLib/PythonGridSlotWindow.cpp.json new file mode 100644 index 00000000..f4f6816e --- /dev/null +++ b/audit/port-map/EterPythonLib/PythonGridSlotWindow.cpp.json @@ -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" + ] + } + } +} diff --git a/audit/port-map/EterPythonLib/PythonSlotWindow.cpp.json b/audit/port-map/EterPythonLib/PythonSlotWindow.cpp.json new file mode 100644 index 00000000..0ad9488f --- /dev/null +++ b/audit/port-map/EterPythonLib/PythonSlotWindow.cpp.json @@ -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" + ] + } + } +} diff --git a/audit/port-map/EterPythonLib/PythonWindow.cpp.json b/audit/port-map/EterPythonLib/PythonWindow.cpp.json new file mode 100644 index 00000000..27d2a785 --- /dev/null +++ b/audit/port-map/EterPythonLib/PythonWindow.cpp.json @@ -0,0 +1,1274 @@ +{ + "reference": "EterPythonLib/PythonWindow.cpp", + "reference_sha256": "e7e0d2ddff6a867bb15b558aaafafdb608a47f7fee29890e97940ce22fd77aae", + "priority": "P4", + "contracts": [], + "functions": { + "CWindow::CWindow": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::CWindow" + ] + }, + "CWindow::~CWindow": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::~CWindow" + ] + }, + "CWindow::Type": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::Type" + ] + }, + "CWindow::IsType": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::IsType" + ] + }, + "CWindow::OnIsType": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::OnIsType" + ] + }, + "CWindow::Clear": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::Clear" + ] + }, + "CWindow::DestroyHandle": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::DestroyHandle" + ] + }, + "CWindow::Show": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::Show" + ] + }, + "CWindow::Hide": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::Hide" + ] + }, + "CWindow::IsRendering": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::IsRendering" + ] + }, + "CWindow::__RemoveReserveChildren": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::__RemoveReserveChildren" + ] + }, + "CWindow::Update": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::Update" + ] + }, + "CWindow::Render": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::Render" + ] + }, + "CWindow::OnUpdate": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::OnUpdate" + ] + }, + "CWindow::OnRender": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::OnRender" + ] + }, + "CWindow::SetName": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::SetName" + ] + }, + "CWindow::SetSize": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::SetSize" + ] + }, + "CWindow::SetHorizontalAlign": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::SetHorizontalAlign" + ] + }, + "CWindow::SetVerticalAlign": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::SetVerticalAlign" + ] + }, + "CWindow::SetPosition": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::SetPosition" + ] + }, + "CWindow::GetPosition": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::GetPosition" + ] + }, + "CWindow::UpdateRect": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::UpdateRect" + ] + }, + "CWindow::GetLocalPosition": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::GetLocalPosition" + ] + }, + "CWindow::GetMouseLocalPosition": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::GetMouseLocalPosition" + ] + }, + "CWindow::AddChild": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::AddChild" + ] + }, + "CWindow::GetRoot": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::GetRoot" + ] + }, + "CWindow::GetParent": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::GetParent" + ] + }, + "CWindow::IsChild": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::IsChild" + ] + }, + "CWindow::DeleteChild": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::DeleteChild" + ] + }, + "CWindow::SetTop": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::SetTop" + ] + }, + "CWindow::OnMouseDrag": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::OnMouseDrag" + ] + }, + "CWindow::OnMoveWindow": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::OnMoveWindow" + ] + }, + "CWindow::OnSetFocus": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::OnSetFocus" + ] + }, + "CWindow::OnKillFocus": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::OnKillFocus" + ] + }, + "CWindow::OnMouseOverIn": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::OnMouseOverIn" + ] + }, + "CWindow::OnMouseOverOut": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::OnMouseOverOut" + ] + }, + "CWindow::OnMouseOver": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::OnMouseOver" + ] + }, + "CWindow::OnDrop": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::OnDrop" + ] + }, + "CWindow::OnTop": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::OnTop" + ] + }, + "CWindow::OnIMEUpdate": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::OnIMEUpdate" + ] + }, + "CWindow::RunIMETabEvent": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::RunIMETabEvent" + ] + }, + "CWindow::RunIMEReturnEvent": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::RunIMEReturnEvent" + ] + }, + "CWindow::RunIMEKeyDownEvent": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::RunIMEKeyDownEvent" + ] + }, + "CWindow::RunKeyDownEvent": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::RunKeyDownEvent" + ] + }, + "CWindow::RunKeyUpEvent": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::RunKeyUpEvent" + ] + }, + "CWindow::RunPressEscapeKeyEvent": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::RunPressEscapeKeyEvent" + ] + }, + "CWindow::RunPressExitKeyEvent": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::RunPressExitKeyEvent" + ] + }, + "CWindow::OnMouseLeftButtonDown": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::OnMouseLeftButtonDown" + ] + }, + "CWindow::OnMouseLeftButtonUp": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::OnMouseLeftButtonUp" + ] + }, + "CWindow::OnMouseLeftButtonDoubleClick": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::OnMouseLeftButtonDoubleClick" + ] + }, + "CWindow::OnMouseRightButtonDown": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::OnMouseRightButtonDown" + ] + }, + "CWindow::OnMouseRightButtonUp": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::OnMouseRightButtonUp" + ] + }, + "CWindow::OnMouseRightButtonDoubleClick": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::OnMouseRightButtonDoubleClick" + ] + }, + "CWindow::OnMouseMiddleButtonDown": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::OnMouseMiddleButtonDown" + ] + }, + "CWindow::OnMouseMiddleButtonUp": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::OnMouseMiddleButtonUp" + ] + }, + "CWindow::OnIMETabEvent": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::OnIMETabEvent" + ] + }, + "CWindow::OnIMEReturnEvent": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::OnIMEReturnEvent" + ] + }, + "CWindow::OnIMEKeyDownEvent": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::OnIMEKeyDownEvent" + ] + }, + "CWindow::OnIMEChangeCodePage": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::OnIMEChangeCodePage" + ] + }, + "CWindow::OnIMEOpenCandidateListEvent": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::OnIMEOpenCandidateListEvent" + ] + }, + "CWindow::OnIMECloseCandidateListEvent": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::OnIMECloseCandidateListEvent" + ] + }, + "CWindow::OnIMEOpenReadingWndEvent": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::OnIMEOpenReadingWndEvent" + ] + }, + "CWindow::OnIMECloseReadingWndEvent": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::OnIMECloseReadingWndEvent" + ] + }, + "CWindow::OnKeyDown": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::OnKeyDown" + ] + }, + "CWindow::OnKeyUp": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::OnKeyUp" + ] + }, + "CWindow::OnPressEscapeKey": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::OnPressEscapeKey" + ] + }, + "CWindow::OnPressExitKey": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::OnPressExitKey" + ] + }, + "CWindow::IsIn": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::IsIn" + ] + }, + "CWindow::PickWindow": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::PickWindow" + ] + }, + "CWindow::PickTopWindow": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CWindow::PickTopWindow" + ] + }, + "CBox::CBox": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CBox::CBox" + ] + }, + "CBox::~CBox": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CBox::~CBox" + ] + }, + "CBox::SetColor": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CBox::SetColor" + ] + }, + "CBox::OnRender": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CBox::OnRender" + ] + }, + "CBar::CBar": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CBar::CBar" + ] + }, + "CBar::~CBar": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CBar::~CBar" + ] + }, + "CBar::SetColor": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CBar::SetColor" + ] + }, + "CBar::OnRender": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CBar::OnRender" + ] + }, + "CLine::CLine": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CLine::CLine" + ] + }, + "CLine::~CLine": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CLine::~CLine" + ] + }, + "CLine::SetColor": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CLine::SetColor" + ] + }, + "CLine::OnRender": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CLine::OnRender" + ] + }, + "CBar3D::Type": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CBar3D::Type" + ] + }, + "CBar3D::CBar3D": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CBar3D::CBar3D" + ] + }, + "CBar3D::~CBar3D": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CBar3D::~CBar3D" + ] + }, + "CBar3D::SetColor": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CBar3D::SetColor" + ] + }, + "CBar3D::OnRender": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CBar3D::OnRender" + ] + }, + "CTextLine::CTextLine": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CTextLine::CTextLine" + ] + }, + "CTextLine::~CTextLine": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CTextLine::~CTextLine" + ] + }, + "CTextLine::SetMax": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CTextLine::SetMax" + ] + }, + "CTextLine::SetHorizontalAlign": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CTextLine::SetHorizontalAlign" + ] + }, + "CTextLine::SetVerticalAlign": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CTextLine::SetVerticalAlign" + ] + }, + "CTextLine::SetSecret": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CTextLine::SetSecret" + ] + }, + "CTextLine::SetOutline": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CTextLine::SetOutline" + ] + }, + "CTextLine::SetFeather": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CTextLine::SetFeather" + ] + }, + "CTextLine::SetMultiLine": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CTextLine::SetMultiLine" + ] + }, + "CTextLine::SetFontName": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CTextLine::SetFontName" + ] + }, + "CTextLine::SetFontColor": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CTextLine::SetFontColor" + ] + }, + "CTextLine::SetLimitWidth": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CTextLine::SetLimitWidth" + ] + }, + "CTextLine::SetText": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CTextLine::SetText" + ] + }, + "CTextLine::GetTextSize": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CTextLine::GetTextSize" + ] + }, + "CTextLine::GetText": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CTextLine::GetText" + ] + }, + "CTextLine::ShowCursor": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CTextLine::ShowCursor" + ] + }, + "CTextLine::HideCursor": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CTextLine::HideCursor" + ] + }, + "CTextLine::GetCursorPosition": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CTextLine::GetCursorPosition" + ] + }, + "CTextLine::OnSetText": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CTextLine::OnSetText" + ] + }, + "CTextLine::OnUpdate": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CTextLine::OnUpdate" + ] + }, + "CTextLine::OnRender": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CTextLine::OnRender" + ] + }, + "CTextLine::OnChangePosition": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CTextLine::OnChangePosition" + ] + }, + "CNumberLine::CNumberLine": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CNumberLine::CNumberLine" + ] + }, + "CNumberLine::~CNumberLine": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CNumberLine::~CNumberLine" + ] + }, + "CNumberLine::SetPath": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CNumberLine::SetPath" + ] + }, + "CNumberLine::SetHorizontalAlign": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CNumberLine::SetHorizontalAlign" + ] + }, + "CNumberLine::SetNumber": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CNumberLine::SetNumber" + ] + }, + "CNumberLine::ClearNumber": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CNumberLine::ClearNumber" + ] + }, + "CNumberLine::OnRender": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CNumberLine::OnRender" + ] + }, + "CNumberLine::OnChangePosition": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CNumberLine::OnChangePosition" + ] + }, + "CImageBox::CImageBox": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CImageBox::CImageBox" + ] + }, + "CImageBox::~CImageBox": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CImageBox::~CImageBox" + ] + }, + "CImageBox::OnCreateInstance": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CImageBox::OnCreateInstance" + ] + }, + "CImageBox::OnDestroyInstance": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CImageBox::OnDestroyInstance" + ] + }, + "CImageBox::LoadImage": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CImageBox::LoadImage" + ] + }, + "CImageBox::SetDiffuseColor": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CImageBox::SetDiffuseColor" + ] + }, + "CImageBox::GetWidth": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CImageBox::GetWidth" + ] + }, + "CImageBox::GetHeight": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CImageBox::GetHeight" + ] + }, + "CImageBox::OnUpdate": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CImageBox::OnUpdate" + ] + }, + "CImageBox::OnRender": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CImageBox::OnRender" + ] + }, + "CImageBox::OnChangePosition": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CImageBox::OnChangePosition" + ] + }, + "CMarkBox::CMarkBox": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CMarkBox::CMarkBox" + ] + }, + "CMarkBox::~CMarkBox": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CMarkBox::~CMarkBox" + ] + }, + "CMarkBox::OnCreateInstance": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CMarkBox::OnCreateInstance" + ] + }, + "CMarkBox::OnDestroyInstance": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CMarkBox::OnDestroyInstance" + ] + }, + "CMarkBox::LoadImage": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CMarkBox::LoadImage" + ] + }, + "CMarkBox::SetScale": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CMarkBox::SetScale" + ] + }, + "CMarkBox::SetIndex": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CMarkBox::SetIndex" + ] + }, + "CMarkBox::SetDiffuseColor": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CMarkBox::SetDiffuseColor" + ] + }, + "CMarkBox::OnUpdate": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CMarkBox::OnUpdate" + ] + }, + "CMarkBox::OnRender": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CMarkBox::OnRender" + ] + }, + "CMarkBox::OnChangePosition": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CMarkBox::OnChangePosition" + ] + }, + "CExpandedImageBox::Type": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CExpandedImageBox::Type" + ] + }, + "CExpandedImageBox::OnIsType": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CExpandedImageBox::OnIsType" + ] + }, + "CExpandedImageBox::CExpandedImageBox": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CExpandedImageBox::CExpandedImageBox" + ] + }, + "CExpandedImageBox::~CExpandedImageBox": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CExpandedImageBox::~CExpandedImageBox" + ] + }, + "CExpandedImageBox::OnCreateInstance": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CExpandedImageBox::OnCreateInstance" + ] + }, + "CExpandedImageBox::OnDestroyInstance": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CExpandedImageBox::OnDestroyInstance" + ] + }, + "CExpandedImageBox::SetScale": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CExpandedImageBox::SetScale" + ] + }, + "CExpandedImageBox::SetOrigin": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CExpandedImageBox::SetOrigin" + ] + }, + "CExpandedImageBox::SetRotation": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CExpandedImageBox::SetRotation" + ] + }, + "CExpandedImageBox::SetRenderingRect": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CExpandedImageBox::SetRenderingRect" + ] + }, + "CExpandedImageBox::SetRenderingMode": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CExpandedImageBox::SetRenderingMode" + ] + }, + "CExpandedImageBox::OnUpdate": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CExpandedImageBox::OnUpdate" + ] + }, + "CExpandedImageBox::OnRender": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CExpandedImageBox::OnRender" + ] + }, + "CAniImageBox::Type": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CAniImageBox::Type" + ] + }, + "CAniImageBox::OnIsType": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CAniImageBox::OnIsType" + ] + }, + "CAniImageBox::CAniImageBox": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CAniImageBox::CAniImageBox" + ] + }, + "CAniImageBox::~CAniImageBox": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CAniImageBox::~CAniImageBox" + ] + }, + "CAniImageBox::SetDelay": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CAniImageBox::SetDelay" + ] + }, + "CAniImageBox::AppendImage": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CAniImageBox::AppendImage" + ] + }, + "CAniImageBox::SetRenderingRect": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CAniImageBox::SetRenderingRect" + ] + }, + "CAniImageBox::SetRenderingMode": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CAniImageBox::SetRenderingMode" + ] + }, + "CAniImageBox::ResetFrame": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CAniImageBox::ResetFrame" + ] + }, + "CAniImageBox::OnUpdate": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CAniImageBox::OnUpdate" + ] + }, + "CAniImageBox::OnRender": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CAniImageBox::OnRender" + ] + }, + "CAniImageBox::OnChangePosition": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CAniImageBox::OnChangePosition" + ] + }, + "CAniImageBox::OnEndFrame": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CAniImageBox::OnEndFrame" + ] + }, + "CButton::CButton": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CButton::CButton" + ] + }, + "CButton::~CButton": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CButton::~CButton" + ] + }, + "CButton::SetUpVisual": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CButton::SetUpVisual" + ] + }, + "CButton::SetOverVisual": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CButton::SetOverVisual" + ] + }, + "CButton::SetDownVisual": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CButton::SetDownVisual" + ] + }, + "CButton::SetDisableVisual": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CButton::SetDisableVisual" + ] + }, + "CButton::GetUpVisualFileName": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CButton::GetUpVisualFileName" + ] + }, + "CButton::GetOverVisualFileName": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CButton::GetOverVisualFileName" + ] + }, + "CButton::GetDownVisualFileName": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CButton::GetDownVisualFileName" + ] + }, + "CButton::Flash": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CButton::Flash" + ] + }, + "CButton::Enable": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CButton::Enable" + ] + }, + "CButton::Disable": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CButton::Disable" + ] + }, + "CButton::IsDisable": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CButton::IsDisable" + ] + }, + "CButton::SetUp": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CButton::SetUp" + ] + }, + "CButton::Up": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CButton::Up" + ] + }, + "CButton::Over": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CButton::Over" + ] + }, + "CButton::Down": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CButton::Down" + ] + }, + "CButton::OnUpdate": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CButton::OnUpdate" + ] + }, + "CButton::OnRender": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CButton::OnRender" + ] + }, + "CButton::OnChangePosition": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CButton::OnChangePosition" + ] + }, + "CButton::OnMouseLeftButtonDown": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CButton::OnMouseLeftButtonDown" + ] + }, + "CButton::OnMouseLeftButtonDoubleClick": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CButton::OnMouseLeftButtonDoubleClick" + ] + }, + "CButton::OnMouseLeftButtonUp": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CButton::OnMouseLeftButtonUp" + ] + }, + "CButton::OnMouseOverIn": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CButton::OnMouseOverIn" + ] + }, + "CButton::OnMouseOverOut": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CButton::OnMouseOverOut" + ] + }, + "CButton::SetCurrentVisual": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CButton::SetCurrentVisual" + ] + }, + "CButton::IsEnable": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CButton::IsEnable" + ] + }, + "CButton::IsPressed": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CButton::IsPressed" + ] + }, + "CRadioButton::CRadioButton": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CRadioButton::CRadioButton" + ] + }, + "CRadioButton::~CRadioButton": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CRadioButton::~CRadioButton" + ] + }, + "CRadioButton::OnMouseLeftButtonDown": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CRadioButton::OnMouseLeftButtonDown" + ] + }, + "CRadioButton::OnMouseLeftButtonUp": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CRadioButton::OnMouseLeftButtonUp" + ] + }, + "CRadioButton::OnMouseOverIn": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CRadioButton::OnMouseOverIn" + ] + }, + "CRadioButton::OnMouseOverOut": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CRadioButton::OnMouseOverOut" + ] + }, + "CToggleButton::CToggleButton": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CToggleButton::CToggleButton" + ] + }, + "CToggleButton::~CToggleButton": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CToggleButton::~CToggleButton" + ] + }, + "CToggleButton::OnMouseLeftButtonDown": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CToggleButton::OnMouseLeftButtonDown" + ] + }, + "CToggleButton::OnMouseLeftButtonUp": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CToggleButton::OnMouseLeftButtonUp" + ] + }, + "CToggleButton::OnMouseOverIn": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CToggleButton::OnMouseOverIn" + ] + }, + "CToggleButton::OnMouseOverOut": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CToggleButton::OnMouseOverOut" + ] + }, + "CDragButton::CDragButton": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CDragButton::CDragButton" + ] + }, + "CDragButton::~CDragButton": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CDragButton::~CDragButton" + ] + }, + "CDragButton::SetRestrictMovementArea": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CDragButton::SetRestrictMovementArea" + ] + }, + "CDragButton::OnChangePosition": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CDragButton::OnChangePosition" + ] + }, + "CDragButton::OnMouseOverIn": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CDragButton::OnMouseOverIn" + ] + }, + "CDragButton::OnMouseOverOut": { + "status": "PORTED", + "impl": [ + "extension/src/port/EterPythonLib/PythonWindow.cpp:CDragButton::OnMouseOverOut" + ] + } + } +} diff --git a/audit/port-map/EterPythonLib/PythonWindowManager.cpp.json b/audit/port-map/EterPythonLib/PythonWindowManager.cpp.json new file mode 100644 index 00000000..01aff511 --- /dev/null +++ b/audit/port-map/EterPythonLib/PythonWindowManager.cpp.json @@ -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" + ] + } + } +} diff --git a/docs/PORT-PLAN.md b/docs/PORT-PLAN.md index 4610783e..46963f17 100644 --- a/docs/PORT-PLAN.md +++ b/docs/PORT-PLAN.md @@ -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()` | 未做 | diff --git a/extension/src/port/EterBase/lzo.cpp b/extension/src/port/EterBase/lzo.cpp index 25056936..e1fb87ca 100644 --- a/extension/src/port/EterBase/lzo.cpp +++ b/extension/src/port/EterBase/lzo.cpp @@ -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(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; diff --git a/extension/tests/port_eterpack_test.cpp b/extension/tests/port_eterpack_test.cpp index 525b3fa1..6f778c74 100644 --- a/extension/tests/port_eterpack_test.cpp +++ b/extension/tests/port_eterpack_test.cpp @@ -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 #include +#include #include #include #include @@ -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(); diff --git a/extension/tests/port_window_tree_test.cpp b/extension/tests/port_window_tree_test.cpp index 33bbf698..6c4aeac1 100644 --- a/extension/tests/port_window_tree_test.cpp +++ b/extension/tests/port_window_tree_test.cpp @@ -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 ----