Commit graph

46 commits

Author SHA1 Message Date
Michael Aaron Murphy
b9c24d2421 feat(a11y): screen reader name and description support for button widgets 2026-01-09 23:35:28 +01:00
Michael Aaron Murphy
639326fcc3 feat(icon): optimize & bundle icons with crabtime for non-unix platforms 2025-11-21 18:37:49 +01:00
Cheong Lau
a27bb5e05d chore: apply clippy suggestions 2025-10-05 04:40:51 +02:00
Michael Aaron Murphy
8412dd5939
fix(image_button): improve rendering of selected image buttons 2025-08-13 21:39:29 +02:00
Ashley Wulber
96416c2a3f fix(button): return from draw if there is no content layout 2025-06-10 18:57:06 -04:00
Ashley Wulber
92ec78ba29
feat: menu bar popups 2025-06-10 18:22:07 +02:00
Ashley Wulber
1fce5df160 refactor: add optional parameter for layout offset and bounds for button handlers
Buttons are often used for toggling popups, so something allowing more straightforward positioning is important.
2025-05-23 19:19:42 +02:00
Michael Aaron Murphy
d011be6feb
fix(button): unfocus on click to prevent multiple focused buttons 2025-03-24 04:27:41 +01:00
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
a9c7c3cdbf
fix(iced): a11y tree focus 2024-11-25 06:52:32 +01:00
Ashley Wulber
795654610a fix: button 2024-10-22 19:11:44 -06:00
Ashley Wulber
722f30c724 fix: bounds for button 2024-10-22 15:46:35 -06:00
Ashley Wulber
0491c4baaa libcosmic updates 2024-10-18 14:04:39 -04:00
Michael Aaron Murphy
9e064e7fa0 feat: configurable fonts 2024-10-05 01:47:37 +02:00
Michael Aaron Murphy
f12de010ec fix!(widget): rename button function to button::custom 2024-09-16 11:36:42 -06:00
Victoria Brekenfeld
b40839638a fix: Use globals instead of thread-locals
Better support for multi-threaded applications,
especially cosmic-comp rendering in parallel on
multiple threads, each potentially accessing
global configurations such as the active theme,
icon_theme and more...
2024-08-02 20:27:08 +02:00
Ashley Wulber
6f2c893cf5 feat: add overlay option to appearance for vertical icon button 2024-07-17 22:31:21 +02:00
Ashley Wulber
33eec39268
fix: border artifacts in button and input 2024-06-15 22:04:42 +02:00
Michael Aaron Murphy
375a2d127b
chore(button): remove unused import 2024-05-28 15:31:34 +02:00
Michael Aaron Murphy
d559403f7f fix(image-button): fix rendering on wgpu 2024-05-28 09:04:07 +02:00
Michael Aaron Murphy
f9f8eb51cb
fix(menu_bar): root text will inherit icon color from header 2024-05-21 04:34:35 +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
2af549f5b1 feat(button): on_press_down 2024-05-18 03:07:42 +02:00
Michael Aaron Murphy
1355588723 improv(button): specialize button for cosmic, and apply alpha to header buttons 2024-05-17 20:58:38 +02:00
Michael Aaron Murphy
9e6d94c7eb
fix(button): use correct paddings for icon buttons 2024-03-15 22:38:49 +01:00
Ashley Wulber
e47684ffdb refactor: icon styling and headerbar icon styling
Headerbar icons are transparent when their window is not focused, but otherwise share the same style as icons with selection. This updates the icon styles to match figma when selected.
2024-03-11 16:26:48 -04:00
Michael Aaron Murphy
bd353c6b54 improv(widget): share object-select svg handle between widgets using it 2024-02-26 19:17:49 +01:00
Ashley Wulber
3c1a60cb05 fix: build with a11y feature 2024-02-08 17:29:02 -07:00
Ashley Wulber
82dfab633a refactor: make Theme a generic parameter for the button
This makes the button possible to use with custom themes in cosmic-time
2024-02-06 11:28:27 -05:00
Ashley Wulber
f4ad098647 wip: update to use latest iced 2024-02-06 11:28:27 -05:00
Ashley Wulber
310064ca1d refactor: use theme corner radii everywhere
not all values matched a default value but I picked the next closest in that case
2023-12-13 13:10:39 -05:00
Ashley Wulber
9202383596 chore: update to 0.12 2023-12-04 17:53:24 -05:00
danieleades
8e99406a8b
chore: fixing linter warnings 2023-11-28 20:02:08 +01:00
Michael Aaron Murphy
2c445d820f feat(image_button): add optional removable button overlay 2023-11-15 16:50:15 +01:00
Michael Aaron Murphy
14614e4e03 fix(button): image button rendering fixes 2023-11-13 12:14:51 +01:00
Michael Aaron Murphy
34386561b3 feat(button): add ImageButton widget variant 2023-11-03 16:41:31 +01:00
Michael Aaron Murphy
78647db0ea chore(widget): set Button width and height with impl Into 2023-09-19 17:22:20 +02:00
Michael Aaron Murphy
314e45e8ab feat(widget): make public more button builder properties 2023-09-18 16:47:38 +02:00
Michael Aaron Murphy
b404497e76
fix(widget): allow None for button text color to inherit from container 2023-09-18 08:28:57 +02:00
Michael Aaron Murphy
c2d62bad52 fix(button): icon style variant to inherit colors from container 2023-09-14 01:38:56 +02:00
Michael Aaron Murphy
2e11d62de5 feat(widget): custom style variant for button widget 2023-09-14 01:38:56 +02:00
Michael Aaron Murphy
9dbc1be269 refactor(widget): improvements to button and icon widgets 2023-09-14 01:38:56 +02:00
Michael Aaron Murphy
4e4eeaac12 feat!(widget): rewrite button & icon widget APIs 2023-09-14 01:38:56 +02:00