Mercurial > minori
comparison dep/animone/include/animone.h @ 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 |
---|---|
7 #include "animone/player.h" | 7 #include "animone/player.h" |
8 #include "animone/types.h" | 8 #include "animone/types.h" |
9 | 9 |
10 namespace animone { | 10 namespace animone { |
11 | 11 |
12 struct Process { | 12 struct ANIMONE_API Process { |
13 internal::pid_t pid = 0; /* platform-dependent PID */ | 13 internal::pid_t pid = 0; /* platform-dependent PID */ |
14 ExecutablePlatform platform = ExecutablePlatform::Unknown; /* platform of the executable */ | 14 ExecutablePlatform platform = ExecutablePlatform::Unknown; /* platform of the executable */ |
15 std::string comm; /* the full filename of the executable */ | 15 std::string comm; /* the full filename of the executable */ |
16 }; | 16 }; |
17 | 17 |
18 struct Window { | 18 struct ANIMONE_API Window { |
19 std::uint32_t id = 0; /* platform-dependent window id */ | 19 internal::wid_t id = {0}; /* union of window IDs. depends on the platform which one is correct */ |
20 WindowPlatform platform = WindowPlatform::Unknown; /* platform of the window */ | 20 WindowPlatform platform = WindowPlatform::Unknown; /* platform of the window */ |
21 std::string class_name; /* class name on win32 and x11, bundle ID on macos */ | 21 std::string class_name; /* class name on win32 and x11, bundle ID on macos */ |
22 std::string text; /* title bar text if available */ | 22 std::string text; /* title bar text if available */ |
23 }; | 23 }; |
24 | 24 |
25 struct Result { | 25 struct ANIMONE_API Result { |
26 Player player; | 26 Player player; |
27 Process process; | 27 Process process; |
28 Window window; /* has nothing under process mode */ | 28 Window window; /* has nothing under process mode */ |
29 std::vector<Media> media; | 29 std::vector<Media> media; |
30 }; | 30 }; |
31 | 31 |
32 bool GetResults(const std::vector<Player>& players, std::vector<Result>& results); | 32 ANIMONE_API bool GetResults(const std::vector<Player>& players, std::vector<Result>& results); |
33 | 33 |
34 } // namespace animone | 34 } // namespace animone |
35 | 35 |
36 #endif // ANIMONE_ANIMONE_H_ | 36 #endif // ANIMONE_ANIMONE_H_ |