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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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_