Commit graph

58 commits

Author SHA1 Message Date
Jonathan Johnson
d7d06e41fa
Fixing various mouse selection bugs
Realized that I was skipping invisible glyphs during construction of
MeasuredText. Once those were in, most of the issues vanished. A few
small tweaks and now it works surprisingly well.
2023-12-14 19:59:27 -08:00
Jonathan Johnson
353db9dc39
Added Opacity component
Closes #87
2023-12-13 14:02:39 -08:00
Jonathan Johnson
1ea9938198
Fixing style inheritance 2023-12-13 12:51:43 -08:00
Jonathan Johnson
a7efe9a3d5
Container Shadows 2023-12-12 13:49:03 -08:00
Jonathan Johnson
87fa4a3478
Moved arc path generation to Kludgine 2023-12-10 15:43:02 -08:00
Jonathan Johnson
c4151d649c
Added Spinner widget
Closes #80
2023-12-10 15:05:59 -08:00
Jonathan Johnson
35576f9214
Image widget
Closes #23

(Feels good to close a 3 year old issue!)
2023-12-09 13:18:46 -08:00
Jonathan Johnson
95555ce928
Tilemap updates 2023-12-09 08:20:18 -08:00
Jonathan Johnson
16af20269e
Updated figures + kludgine 2023-12-07 15:49:03 -08:00
Jonathan Johnson
2fe08fc9e9
Added hover support to OverlayLayer 2023-12-07 09:51:07 -08:00
Jonathan Johnson
9ee00106a3
Updated alot + Eq for CallbackHandle 2023-12-02 06:51:19 -08:00
Jonathan Johnson
3f8885efbe
Callback handles are now managed
Installing a callback now returns a CallbackHandle. All map-style APIs
install this handle automatically on the created dynamic, which keeps
the callback installed until the dynamic is freed. All other APIs
return the handle for the caller to either call persist() or store
somewhere.

Now, the dynamic system can be used for application-long data with
almost no fear of leaking data due to how callbacks are being installed.
Technically cycles are still possible by moving clones into the
callbacks, so a WeakDynamic type might be worth exposing.
2023-12-01 13:31:42 -08:00
Jonathan Johnson
d23226ffe6
Updating kempt 2023-11-29 14:31:25 -08:00
Jonathan Johnson
273aac65bb
Merge branch 'main' into feature/world-coords 2023-11-26 19:11:49 -08:00
Jonathan Johnson
46a0758d09
Vertical sliders/progress bars
Also fixed checkbox layout after Label no longer pads itself.
2023-11-21 20:41:56 -08:00
Jonathan Johnson
2201f2c83b
Ranged sliders, advance_focus, allow_blur
Closes #60

Stepping in sliders is a compromise due to the flexibility of the
current slider implementation. I don't want to force types to implement
Add, and I don't like forcing types to require a Step (ie, what's the
appropriate value for f32 to specify as its next value?). Using a
percentage combined with lerp keeps the implementation fairly
straightfoward, although I remember experiencing this type of
configuration in another UI framework a long time ago and thinking it
was a little annoying to work with.

Ultimately, setting actual step boundaries can be done by customizing
the type that the slider is operating over. I feel like that's a much
more powerful design than I've experienced in previous frameworks, so
I'm hoping this percent step behavior is a reasonable compromise.
2023-11-20 19:44:03 -08:00
Jonathan Johnson
9c1c77f9b1
Updated winit 2023-11-20 06:32:58 -08:00
Jonathan Johnson
ca58cb5fcf
Fixing password field clicking 2023-11-19 15:38:26 -08:00
Jonathan Johnson
9403e85901
MSAA + outlines are now inset
Inset outlines may not be the right approach, but it simplifies
potential alignment issues caused by insetting all filled background
drawing by half the width of the focus ring.
2023-11-19 14:29:21 -08:00
Jonathan Johnson
d5bde44e27
Subpixels + Feathering + figures refactor
Much curves
2023-11-19 10:34:06 -08:00
Jonathan Johnson
aea9def07d
Rounded rect drawing 2023-11-18 14:45:02 -08:00
Jonathan Johnson
8ae315e229
Drawing refactor from Kludgine 2023-11-17 08:07:37 -08:00
Jonathan Johnson
c39f8f33ad
Rewrote text input
Also implemnted secure/masked input

Closes #58
2023-11-16 15:34:26 -08:00
Jonathan Johnson
a8841e6f1c
Merge branch 'main' into feature/world-coords 2023-11-15 18:45:39 -08:00
Jonathan Johnson
1ed1a95a1d
Input copy/paste works now
Also updated to wgpu 0.18.1
2023-11-15 14:25:59 -08:00
Jonathan Johnson
54e01f1911
Checkbox, ButtonKind, linked/linked_string + more 2023-11-14 20:39:29 -08:00
Roland Fredenhagen
aec768617a
derive(LinearInterpolate) on enum 2023-11-14 20:03:30 +01:00
Jonathan Johnson
a04619a279
Layout caching, Lerp underflow fix, label fix 2023-11-14 07:38:39 -08:00
Togglebit
1d80f8467c removed comment 2023-11-14 08:23:09 +01:00
Togglebit
bb5a0a2ab2 fixed cargo.lock issue with rustix, removed duplicate methods from merge 2023-11-14 08:20:41 +01:00
Togglebit
fd362c7341 world coords and hover state for tilemap (this is very much debug) 2023-11-14 08:06:08 +01:00
Jonathan Johnson
cc7d4bac45
Merge pull request #74 from ModProg/button-fun
button outline without drawing
2023-11-13 16:29:41 -08:00
Jonathan Johnson
ee3813f44d
Switcher, h/v expand 2023-11-13 09:14:38 -08:00
Roland Fredenhagen
ea89531d00
make workspace 2023-11-13 17:03:53 +01:00
Roland Fredenhagen
4a4578bdd6
button outline without drawing 2023-11-13 17:03:51 +01:00
Jonathan Johnson
07b93397c5
Optimizations 2023-11-12 19:54:10 -08:00
Jonathan Johnson
27d5baef5d
ThemeMode 2023-11-11 13:41:34 -08:00
Jonathan Johnson
eb4b24f4a9
Slider 2023-11-11 09:42:53 -08:00
Jonathan Johnson
7439c6a68f
Updating kludgine 2023-11-10 19:31:27 -08:00
Jonathan Johnson
81f6f8c4d3
Theme example reacts 2023-11-10 18:11:31 -08:00
Roland Fredenhagen
244be0cf06
Support transparent windows 2023-11-11 00:31:03 +01:00
Jonathan Johnson
0c3206a2ff
Adding RUST_LOG support to tracing
Also default level has been upped to info
2023-11-10 13:47:40 -08:00
Jonathan Johnson
d7384b63d8
Added WIP theming system 2023-11-10 09:39:33 -08:00
Jonathan Johnson
724f6d7b18
Resize now accepts ranges, Window honors Resize
Closes #62, Closes #63
2023-11-09 14:54:41 -08:00
Jonathan Johnson
9596eaac17
Embracing tracing 2023-11-08 16:16:08 -08:00
Jonathan Johnson
57a689b8c8
Window focus/occlusion, recursive focus/activation 2023-11-07 20:16:59 -08:00
Jonathan Johnson
e7b4fe00b6
Updating to intentional 2023-11-06 14:30:03 -08:00
Jonathan Johnson
d766d906a6
Added async value test 2023-11-06 06:41:49 -08:00
Jonathan Johnson
501eecd7a5
Async, better scroll, Input::on_key 2023-11-03 07:15:34 -07:00
Jonathan Johnson
ed31805693
Tuple animations 2023-11-02 07:48:30 -07:00