Mercurial > minori
comparison dep/animone/src/win/win32.cc @ 342:adb79bdde329
dep/animone: fix tons of issues
for example, the window ID stuff was just... completely wrong. since we're
supporting multiple different window systems, it *has* to be a union rather
than just a single integer type. HWND is also not a DWORD, it's a pointer(!),
so now it's stored as a std::uintptr_t.
(this probably breaks things)
| author | Paper <paper@paper.us.eu.org> |
|---|---|
| date | Thu, 20 Jun 2024 03:03:05 -0400 |
| parents | a7d4e5107531 |
| children |
comparison
equal
deleted
inserted
replaced
| 341:052ec053ee37 | 342:adb79bdde329 |
|---|---|
| 61 return false; | 61 return false; |
| 62 | 62 |
| 63 return true; | 63 return true; |
| 64 } | 64 } |
| 65 | 65 |
| 66 static bool VerifyClassName(const std::wstring& name) { | 66 static bool VerifyClassName(const std::string& name) { |
| 67 static const std::set<std::wstring> invalid_names = { | 67 static const std::set<std::string> invalid_names = { |
| 68 // System classes | 68 // System classes |
| 69 "#32770", // Dialog box | 69 "#32770", // Dialog box |
| 70 "CabinetWClass", // Windows Explorer | 70 "CabinetWClass", // Windows Explorer |
| 71 "ComboLBox", | 71 "ComboLBox", |
| 72 "DDEMLEvent", | 72 "DDEMLEvent", |
| 91 if (!VerifyWindowStyle(hwnd)) | 91 if (!VerifyWindowStyle(hwnd)) |
| 92 return TRUE; | 92 return TRUE; |
| 93 | 93 |
| 94 Window window; | 94 Window window; |
| 95 window.platform = WindowPlatform::Win32; | 95 window.platform = WindowPlatform::Win32; |
| 96 window.id = static_cast<unsigned int>(reinterpret_cast<ULONG_PTR>(hwnd)); | 96 window.id.win32 = reinterpret_cast<std::uintptr_t>(hwnd); |
| 97 window.text = ToUtf8String(GetWindowText(hwnd)); | 97 window.text = ToUtf8String(GetWindowText(hwnd)); |
| 98 window.class_name = ToUtf8String(GetWindowClassName(hwnd)); | 98 window.class_name = ToUtf8String(GetWindowClassName(hwnd)); |
| 99 if (!VerifyClassName(window.class_name)) | 99 if (!VerifyClassName(window.class_name)) |
| 100 return TRUE; | 100 return TRUE; |
| 101 | 101 |
