Mercurial > libanimone
annotate include/animone/types.h @ 25:60ded877339b
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 | 973734ebd2be |
| children | 77a5ea5e996c |
| rev | line source |
|---|---|
|
14
27b988a1048c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
0
diff
changeset
|
1 #ifndef ANIMONE_ANIMONE_TYPES_H_ |
|
27b988a1048c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
0
diff
changeset
|
2 #define ANIMONE_ANIMONE_TYPES_H_ |
|
27b988a1048c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
0
diff
changeset
|
3 |
|
25
60ded877339b
dep/animone: fix tons of issues
Paper <paper@paper.us.eu.org>
parents:
21
diff
changeset
|
4 #include <cstdint> |
|
60ded877339b
dep/animone: fix tons of issues
Paper <paper@paper.us.eu.org>
parents:
21
diff
changeset
|
5 |
|
60ded877339b
dep/animone: fix tons of issues
Paper <paper@paper.us.eu.org>
parents:
21
diff
changeset
|
6 /* windows is so annoying */ |
|
60ded877339b
dep/animone: fix tons of issues
Paper <paper@paper.us.eu.org>
parents:
21
diff
changeset
|
7 #ifdef ANIMONE_STATIC |
|
60ded877339b
dep/animone: fix tons of issues
Paper <paper@paper.us.eu.org>
parents:
21
diff
changeset
|
8 # define ANIMONE_API |
|
60ded877339b
dep/animone: fix tons of issues
Paper <paper@paper.us.eu.org>
parents:
21
diff
changeset
|
9 #else |
|
60ded877339b
dep/animone: fix tons of issues
Paper <paper@paper.us.eu.org>
parents:
21
diff
changeset
|
10 # ifdef _WIN32 |
|
60ded877339b
dep/animone: fix tons of issues
Paper <paper@paper.us.eu.org>
parents:
21
diff
changeset
|
11 # ifdef DLL_EXPORT |
|
60ded877339b
dep/animone: fix tons of issues
Paper <paper@paper.us.eu.org>
parents:
21
diff
changeset
|
12 # define ANIMONE_API __declspec(dllexport) |
|
60ded877339b
dep/animone: fix tons of issues
Paper <paper@paper.us.eu.org>
parents:
21
diff
changeset
|
13 # else |
|
60ded877339b
dep/animone: fix tons of issues
Paper <paper@paper.us.eu.org>
parents:
21
diff
changeset
|
14 # define ANIMONE_API __declspec(dllimport) |
|
60ded877339b
dep/animone: fix tons of issues
Paper <paper@paper.us.eu.org>
parents:
21
diff
changeset
|
15 # endif |
|
60ded877339b
dep/animone: fix tons of issues
Paper <paper@paper.us.eu.org>
parents:
21
diff
changeset
|
16 # else |
|
60ded877339b
dep/animone: fix tons of issues
Paper <paper@paper.us.eu.org>
parents:
21
diff
changeset
|
17 # define ANIMONE_API |
|
60ded877339b
dep/animone: fix tons of issues
Paper <paper@paper.us.eu.org>
parents:
21
diff
changeset
|
18 # endif |
|
60ded877339b
dep/animone: fix tons of issues
Paper <paper@paper.us.eu.org>
parents:
21
diff
changeset
|
19 #endif |
|
60ded877339b
dep/animone: fix tons of issues
Paper <paper@paper.us.eu.org>
parents:
21
diff
changeset
|
20 |
|
60ded877339b
dep/animone: fix tons of issues
Paper <paper@paper.us.eu.org>
parents:
21
diff
changeset
|
21 /* FIXME configure this in autoconf */ |
|
60ded877339b
dep/animone: fix tons of issues
Paper <paper@paper.us.eu.org>
parents:
21
diff
changeset
|
22 #ifndef _WIN32 |
|
60ded877339b
dep/animone: fix tons of issues
Paper <paper@paper.us.eu.org>
parents:
21
diff
changeset
|
23 #include <sys/types.h> |
|
60ded877339b
dep/animone: fix tons of issues
Paper <paper@paper.us.eu.org>
parents:
21
diff
changeset
|
24 #endif |
|
21
973734ebd2be
dep/animone: REFACTOR ALL THE THINGS
Paper <paper@paper.us.eu.org>
parents:
14
diff
changeset
|
25 |
|
14
27b988a1048c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
0
diff
changeset
|
26 namespace animone::internal { |
|
25
60ded877339b
dep/animone: fix tons of issues
Paper <paper@paper.us.eu.org>
parents:
21
diff
changeset
|
27 |
|
60ded877339b
dep/animone: fix tons of issues
Paper <paper@paper.us.eu.org>
parents:
21
diff
changeset
|
28 #ifdef _WIN32 |
|
21
973734ebd2be
dep/animone: REFACTOR ALL THE THINGS
Paper <paper@paper.us.eu.org>
parents:
14
diff
changeset
|
29 using pid_t = std::uint32_t; |
|
14
27b988a1048c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
0
diff
changeset
|
30 #else |
|
21
973734ebd2be
dep/animone: REFACTOR ALL THE THINGS
Paper <paper@paper.us.eu.org>
parents:
14
diff
changeset
|
31 using pid_t = ::pid_t; |
|
14
27b988a1048c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
0
diff
changeset
|
32 #endif |
|
27b988a1048c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
0
diff
changeset
|
33 |
|
25
60ded877339b
dep/animone: fix tons of issues
Paper <paper@paper.us.eu.org>
parents:
21
diff
changeset
|
34 /* different window systems have different sized IDs */ |
|
60ded877339b
dep/animone: fix tons of issues
Paper <paper@paper.us.eu.org>
parents:
21
diff
changeset
|
35 union ANIMONE_API wid_t { |
|
60ded877339b
dep/animone: fix tons of issues
Paper <paper@paper.us.eu.org>
parents:
21
diff
changeset
|
36 std::uintptr_t win32; |
|
60ded877339b
dep/animone: fix tons of issues
Paper <paper@paper.us.eu.org>
parents:
21
diff
changeset
|
37 std::int64_t quartz; // FIXME is this correct? |
|
60ded877339b
dep/animone: fix tons of issues
Paper <paper@paper.us.eu.org>
parents:
21
diff
changeset
|
38 std::uint32_t x11; |
|
60ded877339b
dep/animone: fix tons of issues
Paper <paper@paper.us.eu.org>
parents:
21
diff
changeset
|
39 }; |
|
60ded877339b
dep/animone: fix tons of issues
Paper <paper@paper.us.eu.org>
parents:
21
diff
changeset
|
40 |
|
60ded877339b
dep/animone: fix tons of issues
Paper <paper@paper.us.eu.org>
parents:
21
diff
changeset
|
41 } |
|
60ded877339b
dep/animone: fix tons of issues
Paper <paper@paper.us.eu.org>
parents:
21
diff
changeset
|
42 |
|
14
27b988a1048c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
0
diff
changeset
|
43 #endif // ANIMONE_ANIMONE_TYPES_H_ |
