Mercurial > libanimone
annotate include/animone/types.h @ 30:a76e55e098d1
util: rewrite functions in C-ish
there are C++ bindings still put in place. the code should be valid
C, except for the use of <regex>, which ought to go anyway. eventually
I'll actually *test* this stuff aside from the TrimRight crap
author | Paper <paper@tflc.us> |
---|---|
date | Sun, 09 Feb 2025 23:18:57 -0500 |
parents | fac2b2d242d3 |
children |
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 */ |
26
77a5ea5e996c
*: transfer back to cmake from autotools
Paper <paper@paper.us.eu.org>
parents:
25
diff
changeset
|
7 #ifdef _WIN32 |
77a5ea5e996c
*: transfer back to cmake from autotools
Paper <paper@paper.us.eu.org>
parents:
25
diff
changeset
|
8 # ifdef DLL_EXPORT |
77a5ea5e996c
*: transfer back to cmake from autotools
Paper <paper@paper.us.eu.org>
parents:
25
diff
changeset
|
9 # define ANIMONE_API __declspec(dllexport) |
77a5ea5e996c
*: transfer back to cmake from autotools
Paper <paper@paper.us.eu.org>
parents:
25
diff
changeset
|
10 # else |
77a5ea5e996c
*: transfer back to cmake from autotools
Paper <paper@paper.us.eu.org>
parents:
25
diff
changeset
|
11 # define ANIMONE_API __declspec(dllimport) |
77a5ea5e996c
*: transfer back to cmake from autotools
Paper <paper@paper.us.eu.org>
parents:
25
diff
changeset
|
12 # endif |
25
60ded877339b
dep/animone: fix tons of issues
Paper <paper@paper.us.eu.org>
parents:
21
diff
changeset
|
13 #else |
26
77a5ea5e996c
*: transfer back to cmake from autotools
Paper <paper@paper.us.eu.org>
parents:
25
diff
changeset
|
14 # define ANIMONE_API |
25
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 |
60ded877339b
dep/animone: fix tons of issues
Paper <paper@paper.us.eu.org>
parents:
21
diff
changeset
|
17 /* FIXME configure this in autoconf */ |
60ded877339b
dep/animone: fix tons of issues
Paper <paper@paper.us.eu.org>
parents:
21
diff
changeset
|
18 #ifndef _WIN32 |
60ded877339b
dep/animone: fix tons of issues
Paper <paper@paper.us.eu.org>
parents:
21
diff
changeset
|
19 #include <sys/types.h> |
60ded877339b
dep/animone: fix tons of issues
Paper <paper@paper.us.eu.org>
parents:
21
diff
changeset
|
20 #endif |
21
973734ebd2be
dep/animone: REFACTOR ALL THE THINGS
Paper <paper@paper.us.eu.org>
parents:
14
diff
changeset
|
21 |
14
27b988a1048c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
0
diff
changeset
|
22 namespace animone::internal { |
25
60ded877339b
dep/animone: fix tons of issues
Paper <paper@paper.us.eu.org>
parents:
21
diff
changeset
|
23 |
60ded877339b
dep/animone: fix tons of issues
Paper <paper@paper.us.eu.org>
parents:
21
diff
changeset
|
24 #ifdef _WIN32 |
21
973734ebd2be
dep/animone: REFACTOR ALL THE THINGS
Paper <paper@paper.us.eu.org>
parents:
14
diff
changeset
|
25 using pid_t = std::uint32_t; |
14
27b988a1048c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
0
diff
changeset
|
26 #else |
21
973734ebd2be
dep/animone: REFACTOR ALL THE THINGS
Paper <paper@paper.us.eu.org>
parents:
14
diff
changeset
|
27 using pid_t = ::pid_t; |
14
27b988a1048c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
0
diff
changeset
|
28 #endif |
27b988a1048c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
0
diff
changeset
|
29 |
25
60ded877339b
dep/animone: fix tons of issues
Paper <paper@paper.us.eu.org>
parents:
21
diff
changeset
|
30 /* different window systems have different sized IDs */ |
60ded877339b
dep/animone: fix tons of issues
Paper <paper@paper.us.eu.org>
parents:
21
diff
changeset
|
31 union ANIMONE_API wid_t { |
28 | 32 std::uintptr_t win32; // XXX this ought to be a `void *` |
25
60ded877339b
dep/animone: fix tons of issues
Paper <paper@paper.us.eu.org>
parents:
21
diff
changeset
|
33 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
|
34 std::uint32_t x11; |
60ded877339b
dep/animone: fix tons of issues
Paper <paper@paper.us.eu.org>
parents:
21
diff
changeset
|
35 }; |
60ded877339b
dep/animone: fix tons of issues
Paper <paper@paper.us.eu.org>
parents:
21
diff
changeset
|
36 |
60ded877339b
dep/animone: fix tons of issues
Paper <paper@paper.us.eu.org>
parents:
21
diff
changeset
|
37 } |
60ded877339b
dep/animone: fix tons of issues
Paper <paper@paper.us.eu.org>
parents:
21
diff
changeset
|
38 |
14
27b988a1048c
*: convert all files CRLF -> LF
Paper <paper@paper.us.eu.org>
parents:
0
diff
changeset
|
39 #endif // ANIMONE_ANIMONE_TYPES_H_ |