a3f9419f89
add locale class
2025-11-09 14:12:25 +00:00
a5b1113633
e
2025-11-08 23:03:14 +00:00
c012282933
clankers
2025-11-08 23:02:26 +00:00
98a1d4f734
better fallbacks
2025-11-08 22:14:23 +00:00
7761e862c9
i18n: add i18n engine
...
fixes https://github.com/hyprwm/hyprutils/issues/82
2025-11-08 19:12:23 +00:00
9637961a55
string/constVarList: fix UAF
2025-11-05 15:04:02 +00:00
Freevatar
164a30b3d8
animation/bezier: Fix OOB in getYForPoint for non-monotonic 4-point curves ( #81 )
2025-11-03 22:25:56 +00:00
9ab64319e9
math/region: reinit region for scale()
...
Apparently on some setups directly modifying the rectangles is a no-go, see #78 .
Pixman is another piece of undocumented shit. I hope whomever wrote this stubs their toe.
Note to self: drop pixman, rewrite region. Fucking idiots.
2025-10-04 21:22:03 +01:00
1f80045da1
bezier: fix with first point being non-0
2025-09-30 15:05:40 +01:00
a20932e200
bezier: add setup4
2025-09-30 13:56:37 +01:00
Tom Englund
64446e1a4c
vector2d: make vector trivial
...
while profiling vector showed up as a marginal waster because it wasnt a
trivial class, a few if(m_someVector != Vector()) was causing a lot of
churn because of not being trivial and doing a lot of allocaitons and
destructions. make it trivial by defaulting constructor, and destructor,
and while we are at it make it constexpr friendly on constructors and
operators.
2025-09-28 00:01:31 +02:00
61e295340d
region: avoid tons of allocations for scale()
...
pixman_region32_rectangles returns the actual rects, so we shouldnt waste cycles when scaling em
2025-09-26 23:17:45 +01:00
Ikalco
bc193efa4b
os/process: add setStdinFD ( #74 )
2025-08-25 12:04:44 +02:00
Kamikadze
df6b8820c4
memory: Add C++ cast aliases; replace existing casts and remove redundant casts ( #71 )
...
* Add and use c++ cast aliases
* wrap cast aliases in namespace
* remove redundant pragma once
2025-08-06 14:00:50 +02:00
Tom Englund
8dd20c73e0
mat3x3: check for finite in toString ( #70 )
...
if values are NaN or inf it will crash std::format, safeguard it.
2025-07-23 12:14:37 +02:00
Tom Englund
bcabcbada9
signal: reserve vector size to avoid reallocations
...
reserve the vector size to avoid reallocations.
2025-07-11 18:45:10 +02:00
Tom Englund
86905e2590
mat3x3: use float versions of sin/cos reduce dereferencing
...
use the sinf, cosf versions instead of casting the double one to float.
reduce the derefencing in multiply by pointing to the data directly.
2025-07-11 18:45:10 +02:00
Tom Englund
e21b18ff8f
region: introduce foreach and cleanup clangd warnings ( #65 )
...
* CRegion: introduce forEachRect
makes us able to directly call a function on each rect instead of using
getRects() allocating a vector every single time, especially when its
used in hot paths like the renderer.
* CRegion: cleanup CRegion of clangd warnings
overload pixman() with const, remove const_cast, mark move as noexcept.
ensure self assignment doesnt occur.
2025-07-10 11:12:26 +02:00
FrancisTheCat
e89269578a
math/vector: Added transform method to Vector2D class ( #64 )
2025-07-05 23:18:58 +02:00
boundlessvoid0
4737241eaf
animation/beziercurve: add getter for control points (hyprwm/Hyprland#10413) ( #63 )
...
Signed-off-by: boundlessvoid <boundlessvoid0@gmail.com>
2025-06-28 00:04:42 +02:00
93246269d4
signal: Typed signals (part 2) ( #60 )
...
* signals: make CSignalT API compatible with CSignal
Also fixes emitting reference types
* signals: add a lot of tests
* animation: use CSignalT
* signals: automatically const-ref non arithmetic value types
* signals: allow listeners to ignore args
* signals: add forward()
2025-06-26 12:27:31 +02:00
1b8090e5d8
signals: add typed signals with CSignalT<> ( #58 )
...
Also more tests
2025-06-23 22:51:38 +02:00
d46bd32da5
os/process: add env to async calls too
2025-06-23 20:25:26 +02:00
7f00411949
string: add ConstVarList
2025-05-07 17:26:37 +01:00
5f51dcea4a
os/process: add exitCode()
2025-04-30 02:16:30 +01:00
966d0c0b6a
os/process: add fd control for async
2025-04-06 15:34:33 +01:00
Sergey Fedorov
7248194a2c
animations: minor follow-up fix for std::string ( #49 )
2025-03-26 11:17:49 +01:00
fbd02eb032
animation: avoid using constexpr std::string
...
fixes #48
2025-03-26 01:13:40 +00:00
77d7ea3498
os/process: populate pid when ran sync
2025-02-18 14:14:20 +00:00
Honkazel
9aad80acd4
core: clang, clang-tidy fixes and comp options ( #45 )
...
* clang-tidy/clang fixes and comp options
* clang-format
* cmake: silence reorder for now
27 of them... Damn
2025-02-02 20:36:28 +01:00
Maximilian Seidler
dd790b90d7
animation: fix end callbacks readding the animation var ( #43 )
...
* animation: fix end callbacks readding the animation var
* include fix
2025-02-02 18:33:44 +01:00
Maximilian Seidler
de58286a21
animation: fix crashes and cleanup of active vars ( #42 )
...
Minor stuff
---------
Co-authored-by: Vaxry <vaxry@vaxry.net>
2025-01-27 12:45:01 +01:00
59414c4cee
math/region: fix scale using x scale as y scale ( #39 )
2025-01-22 09:35:48 +01:00
5dd4f4a9f7
animation: don't fire update events if the avar is not being animated
2025-01-10 16:44:32 +01:00
Maximilian Seidler
6a26d08bac
animation: add CAnimationConfigTree ( #29 )
...
Co-authored-by: Maximilian Seidler <paideia_dilemma@losfuzzys.net>
2025-01-02 14:02:21 +00:00
Maximilian Seidler
8af7e4b9de
animation: add BezierCurve, AnimationManager and AnimatedVariable ( #27 )
2024-12-29 19:26:01 +00:00
nyx
9be03a8562
misc: fix some compile warnings ( #25 )
...
- Cleans up compile warnings
- Formats code
- Cleans up unused vars
- etc
2024-12-25 19:10:14 +00:00
c3331116eb
os/process: add pid()
2024-12-21 15:47:53 +00:00
Tom Englund
2e21319c8e
os: implent a new FileDescriptor class ( #21 )
...
makes you able to RAII the filedescriptor making it somewhat easier to
not leak.
2024-11-21 15:26:34 +00:00
e74177e025
os: add setEnv to process
2024-11-15 20:28:59 +00:00
315fba5d21
process: avoid zombies
...
fixes #20
2024-11-13 17:19:47 +00:00
4c5f18d06b
process: better reading for spawnSync
2024-11-11 22:34:56 +00:00
8d21d1dfa9
os: fixup process possible deadlock
...
Sloppy, but should work... Process shouldn't be used in performance-critical paths anyways.
ref https://github.com/hyprwm/Hyprland/issues/8425
2024-11-11 22:12:44 +00:00
Jan Beich
d504d45114
os: add missing header for BSDs after fd4be8b9ca ( #16 )
...
src/os/Process.cpp:105:9: error: use of undeclared identifier 'sigemptyset'
105 | sigemptyset(&set);
| ^
src/os/Process.cpp:106:21: error: use of undeclared identifier 'SIG_SETMASK'
106 | sigprocmask(SIG_SETMASK, &set, NULL);
| ^
2024-11-09 20:30:25 +00:00
fd4be8b9ca
os: Add process
2024-10-14 22:27:36 +01:00
Vaxry
a9f85a4bca
Math: add Mat3x3 ( #14 )
2024-09-24 18:18:25 +01:00
aadf9a27dd
string: fixup isNumber not accepting -1.0
...
fixes #12
2024-08-28 18:53:00 +02:00
0252fd13e7
utils: add ScopeGuard
2024-08-05 16:45:41 +02:00
a950624669
math: add Edges ( #10 )
2024-07-27 17:38:55 +01:00
6174a2a25f
path: add findConfig and dir utils ( #8 )
2024-07-09 19:11:16 +02:00