Commit graph

443 commits

Author SHA1 Message Date
Jonathan Johnson
8d653c2d6c
Modifiers support
Closes #162
2024-09-09 06:49:04 -07:00
Jonathan Johnson
1cb93e2af2
Moving non-generic code to its own function. 2024-09-08 13:29:44 -07:00
Jonathan Johnson
14d2069fec
MakeWindow + easy window centering 2024-09-08 13:19:55 -07:00
Jonathan Johnson
dd4c544ba6
Window sync edge cases
- synchronize_platform_window is now called prior to the first redraw.
  This allows the `visible` attribute to be changed from false to true.
- Some window attributes are automatically set based on the incoming
  dynamic.
- Some initial window values are delayed until after the first layout to
  minimze "noisy" values.

All of these changes now allow a window that is resize_to_fit to be
initially hidden and show itself centered after being initially resized
without any flashing or on-screen movement/resizing.
2024-09-08 11:29:29 -07:00
Jonathan Johnson
bbbc8151c4
cushy::main attribute macro 2024-09-08 09:31:35 -07:00
Jonathan Johnson
0953e5ab40
Window::icon 2024-09-07 10:13:48 -07:00
Jonathan Johnson
531e6c9ab6
Window positioning properties
Closes #165
2024-09-07 09:31:40 -07:00
Jonathan Johnson
bf78da333d
App::monitors + run()/on_startup()
Closes #163
2024-09-06 11:50:35 -07:00
Jonathan Johnson
a3c57d50d3
Fixing book example generation 2024-09-05 20:47:07 -07:00
Jonathan Johnson
634a4b7af8
Added most window settings from winit
Refs #160
2024-09-05 20:31:01 -07:00
Jonathan Johnson
9304165981
PendingWindow in PendingApp fix + resize_to_fit 2024-09-04 08:29:13 -07:00
Jonathan Johnson
6a346ea3ef
Added Watcher type 2024-09-02 09:23:52 -07:00
Jonathan Johnson
0dd18826c9
Switcher unmounts in all windows
Fixes #139
2024-08-28 08:49:26 -07:00
Jonathan Johnson
53d3c58cbb
Added missing to_ variants 2024-08-28 07:42:11 -07:00
Jonathan Johnson
20366698a6
Clippy
Apparently I had missed some warnings due to how I was editing this
through another project using Cushy.
2024-08-28 07:03:56 -07:00
Jonathan Johnson
94e473cdd3
Fixing nested collapse animations 2024-08-27 09:56:14 -07:00
Jonathan Johnson
9a148b8765
Making all easing functions themable 2024-08-27 08:32:51 -07:00
Jonathan Johnson
e773bc123a
Updated changelog 2024-08-20 16:05:26 -07:00
Jonathan Johnson
ba8d73b6b7
Bumping version 2024-08-20 12:30:41 -07:00
Jonathan Johnson
f660e1138d
bistream-io via ravif via image causing MSRV bump 2024-08-20 12:15:26 -07:00
Jonathan Johnson
06e9072a23
Noting Easing change 2024-08-20 12:13:09 -07:00
Jonathan Johnson
5f604c41dc
Switching to released kludgine 2024-08-20 12:09:26 -07:00
Jonathan Johnson
457962cc48
Removed dbg! statement 2024-08-20 12:03:09 -07:00
Jonathan Johnson
9b3e6c13f4
Fixed remounting WidgetInstances 2024-08-20 10:31:47 -07:00
Jonathan Johnson
7bd79b0662
Switched to released easing-function
Also added new easings example.
2024-08-18 10:58:44 -07:00
Jonathan Johnson
18d14a0275
Fixing example test compilation issues 2024-08-18 08:01:00 -07:00
Jonathan Johnson
df748a991d
Extracting easing functions + Clippy 2024-08-17 17:44:12 -07:00
Jonathan Johnson
6726855ed0
Cleaning up figures usage in examples 2024-07-26 10:34:30 -07:00
Jonathan Johnson
530f50e53c
Removing extra dbg statement 2024-07-26 09:53:26 -07:00
Jonathan Johnson
b33e06ac4e
Attempting to tweak glyph calculation 2024-07-26 09:51:29 -07:00
Jonathan Johnson
4c9dd5d7ca
Allowing partial glyph to be considered start 2024-07-26 09:46:50 -07:00
Jonathan Johnson
4a55a42011
More selection fixing 2024-07-26 09:44:41 -07:00
Jonathan Johnson
f0c1aec40e
Fixing selecting before/after the text 2024-07-26 09:33:33 -07:00
Jonathan Johnson
459dc3f96a
Renaming CushyWindowBuilder to Standalone
Closes #155
2024-07-26 09:20:39 -07:00
Jonathan Johnson
48133cdac3
Fixing an edge case in computing tab order
Removing widgets would affect the visual order, and sometimes nodes just
aren't available anymore. It might be that this should be cleaned up
more aggressively during widget removal, but by ignoring the removed
nodes, the code just becomes more resilliant to similar edge cases in
the future.
2024-07-26 08:59:23 -07:00
Jonathan Johnson
ffb1475e30
Fixing padding/shadow calculations on Container
Fixes #158
2024-07-26 08:58:59 -07:00
Jonathan Johnson
ba3a4b9b02
Added Zoom factor
Closes #146
2024-07-25 11:31:38 -07:00
Jonathan Johnson
83fe4b05ef
Switching to released Kludgine 2024-07-22 08:31:11 -07:00
Jonathan Johnson
3de9d0597f
Updating kludgine and figures 2024-07-22 08:06:03 -07:00
Jonathan Johnson
66b37bb88d
Updated msrv from wgpu update 2024-07-22 07:29:10 -07:00
Jonathan Johnson
553c4ab959
Updating Kludgine for wgpu
The dependence on git is just to let CI run before releasing a kludgine
update with wgpu 22.0.0 support.
2024-07-22 07:19:58 -07:00
Jonathan Johnson
fbabbdbd99
Reverting example change
Was an unrelated test, oops.
2024-07-08 17:07:00 -07:00
Jonathan Johnson
60c7ef8859
Honoring Window::inner_size's initial value
Refs #160
2024-07-08 16:50:50 -07:00
Jonathan Johnson
4d6196f4e7
Fixing default for no close-requested handler 2024-07-08 16:22:15 -07:00
Jonathan Johnson
24291772de
Added Window::on_close_requested
Closes #161
2024-07-08 16:06:45 -07:00
Jonathan Johnson
6a1f7f5462
Fixed deadlock with DynamicMutexGuard::unlocked
During the change callback process, unlocked is called to allow the
change callbacks to run while the dynamic is unlocked. The error with
the previous version of this code is that the during_callback_state was
always overwritten when being returned. The problem is that another
thread could currently have the mutex locked and could have stored its
own state -- which can happen if two threads are both trying to invoke
change callbacks at the same time.

By moving the state saving and reloading to only happen when the mutex
guard is acquired, we can ensure that interleaving threads will work
correctly.
2024-06-13 09:16:13 -07:00
Jonathan Johnson
f61cb2b91b
Fixing deadlock in debug window cleanup 2024-06-07 11:01:53 -07:00
Jonathan Johnson
a6d5b078f5
Added ForEach::for_each_subsequent
Refs #153

This turned out to be "needed" by the debug window due to how dynamic
locking was nested when a for_each call was being invoked. To keep the
code simple, for_each_subsequent was added.
2024-06-07 10:27:07 -07:00
Jonathan Johnson
7bd13e2a0a
Added for_each_subsequent
Refs #156

The ForEach trait currently doesn't have a subsequent version, but given
the discussion in the related issue I think that's OK.
2024-06-07 09:08:14 -07:00
Jonathan Johnson
8c8dca63ba
Clarified some window builder documentation
Really the functions should be renamed -- see #155
2024-05-17 15:00:24 -07:00