Commit graph

20 commits

Author SHA1 Message Date
Michael Aaron Murphy
0aa518984e
chore: format for 2024 edition 2025-03-21 13:33:07 +01:00
Michael Aaron Murphy
8cf372c9b9
perf: inline public getters/setters, and use non-generic inner functions
To reduce compile-times and avoid some overhead to binary size, this will modify some of our
generic functions to use non-generic inner functions where possible. The inner functions are
marked carefully with `#[inline(never)]` to prevent being inlined by LLVM at their callsites

While looking for generic functions to optimize, I have also taken the opportunity to annotate
public non-generic getters and setters with `#[inline]` to ensure that LLVM will inline them
across crate boundaries. By default, only generic functions are automatically inlined, and
only when enabling fat LTO are constant functions reliably inlined across crate boundaries.
2025-03-21 13:31:34 +01:00
Ashley Wulber
a3525ef56e refactor: track virtual offset in the layout 2025-03-21 03:45:30 +01:00
Ashley Wulber
337b80d4ca
feat: Tooltips and Better Surface Management 2025-03-14 16:56:21 +01:00
Ashley Wulber
0491c4baaa libcosmic updates 2024-10-18 14:04:39 -04:00
Ashley Wulber
173ddca60f fix: refactor dnd impl to support responsive widget 2024-05-31 19:14:58 -04:00
Michael Aaron Murphy
289db87373 improv(grid): add justify_content and fix padding 2024-05-30 13:57:47 +02:00
Michael Aaron Murphy
c39fd5103f fix(grid): use content_size as size of widget's root node 2024-05-30 13:57:47 +02:00
Michael Aaron Murphy
f4936344f0
chore(doc): add documentation for a handful of widgets 2024-05-20 20:01:47 +02:00
Ashley Wulber
745cba1c2c feat: add drag_destinations for container widgets 2024-04-01 22:14:42 +02:00
Jeremy Soller
e12d625338
fix(grid): layout swapped row and column spacing 2024-02-29 09:13:10 -07:00
Ashley Wulber
f4ad098647 wip: update to use latest iced 2024-02-06 11:28:27 -05:00
Ashley Wulber
9202383596 chore: update to 0.12 2023-12-04 17:53:24 -05:00
Ian Douglas Scott
d1537b4c39
fix: compilation with latest taffy commit
Also adds `rev =` to `Cargo.toml` specifying the latest commit.

A library like `libcosmic` shouldn't use git dependencies without
specifying a commit or tag.
2023-11-22 20:12:59 +01:00
Michael Aaron Murphy
21cc4124f0 chore(grid): remove unused Item struct 2023-10-12 16:37:38 +02:00
Ian Douglas Scott
2c55285ad4
fix(grid): missing generic argument of Taffy 2023-10-11 22:01:34 +02:00
Michael Aaron Murphy
971a1fa89c fix(grid): width set to Length::Fill causes 0-width layout 2023-10-04 16:08:37 +02:00
Michael Aaron Murphy
369cede7da fix(grid): span of widgets across columns and rows 2023-10-04 16:08:37 +02:00
Michael Aaron Murphy
c937332322 fix(grid): enable configurable column and row alignment 2023-10-04 16:08:37 +02:00
Michael Aaron Murphy
e1d1b0bad5 feat(widget): initial implementation of Grid widget 2023-10-02 17:32:39 +02:00