Commit Graph

39 Commits

Author SHA1 Message Date
Emil Ernerfeldt bcebfecb84
Use more workspace dependencies (#3975) 2024-02-05 12:43:58 +01:00
Emil Ernerfeldt 8f2c8664e7
Emilk/revert workspace deps (#3942)
* Closes https://github.com/emilk/egui/issues/3941

Workspace dependencies can be annoying.

If you don't set them to `default-features=false`, then you cannot opt
out of their default features anywhere else, and get warnings if you
try.

So you set `default-features=false`, and then you need to manually opt
in to the default features everywhere else.
Or, as in my case, don't.

I don't have the energy to do this tonight, so I'll just revert.
2024-02-01 21:29:48 +01:00
Emil Ernerfeldt 00cd671ad8 Use workspace dependencies for the egui crates 2024-02-01 20:25:31 +01:00
Emil Ernerfeldt dda9f79838 Remove `version` field for path-dependencies 2024-02-01 20:11:40 +01:00
Emil Ernerfeldt f01d337fa8
Update to ehttp 0.4 (#3834) 2024-01-17 15:39:28 +01:00
Emil Ernerfeldt 12ad9e7b36 Release 0.25.0 - Better keyboard input 2024-01-08 12:25:43 +01:00
PingPongun 963be247f2
Update resvg dependency of egui_extras (#3719)
Update `resvg` from v0.28 to v0.37. 
Remove related, unnecessary entries from `deny.toml`.

⚠ In example `images` ferris is scaled differently, but I guess that now
it scales in expected way (takes all available space; before this PR it
takes up to space that, was available at first render- it does not
upscale).

This PR is minimal adaptation to new `resvg` api and small related
simplification, however it should be considered to update loaders
(currently if svg image initially was small and was scaled up it will be
blurred, see https://github.com/emilk/egui/issues/3501). As svg image
now scales over render size, problem will be more often seen now.

(currently `SvgLoader` theoretically should rerender for different sizes
(but I guess it will result in memory leak in that case), but refreshing
is stopped earlier in `DefaultTextureLoader`).

I have initial version of loaders update, that will fix issue with svg
scaling (and also enable e.g. reloading image if file has been changed),
I will submit these changes in separate PR once this one is merged.

Closes <https://github.com/emilk/egui/issues/3652>.
2023-12-20 08:09:03 +01:00
Fredrik Fornwall 8e5959d55d
Update to winit 0.29 (#3649)
* Closes https://github.com/emilk/egui/issues/3542
* Closes https://github.com/emilk/egui/issues/2977
* Closes https://github.com/emilk/egui/issues/3303

---------

Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>
2023-12-18 14:53:14 +01:00
Emil Ernerfeldt d17613c242 Release 0.24.1 - Bug fixes 2023-11-30 17:46:25 +01:00
Emil Ernerfeldt bd087ffb8d Release 0.24.0 - Multi-viewport 2023-11-23 15:56:46 +01:00
Emil Ernerfeldt 96bc34a66d Use workspace definitions of edition,license,rust-version,version 2023-11-23 15:45:11 +01:00
Emil Ernerfeldt bfadb90d42
Update MSRV to Rust 1.72 (#3595)
Required to update to puffin 0.18
2023-11-21 17:26:35 +01:00
Emil Ernerfeldt 7bfaf49636
Update to puffin 0.17 (#3581) 2023-11-19 21:28:42 +01:00
Clement Rey fd75adb3a0
migrate to mime_guess2 (#3456) 2023-10-11 14:24:55 +02:00
Emil Ernerfeldt 5a0186fa2b Release 0.23.0 - New image API 2023-09-28 08:44:33 +02:00
Emil Ernerfeldt 9a947e5547 Final image API doc tweaks 2023-09-27 16:40:26 +02:00
Emil Ernerfeldt a9272e0e55
Update dependencies in Cargo.lock (#3401)
* Update to ehttp 0.3.1 with better error messages

* Explain why we are using an old cocoa

* cargo update

❯ cargo update
    Updating crates.io index
    Updating accesskit v0.11.0 -> v0.11.2
    Updating accesskit_consumer v0.15.0 -> v0.15.2
    Updating accesskit_macos v0.7.0 -> v0.9.0
    Updating accesskit_unix v0.5.0 -> v0.5.2
    Updating accesskit_windows v0.14.0 -> v0.14.3
    Updating accesskit_winit v0.14.0 -> v0.14.4
    Updating addr2line v0.19.0 -> v0.21.0
    Removing ahash v0.7.6
    Updating aho-corasick v1.0.1 -> v1.1.1
      Adding allocator-api2 v0.2.16
    Updating android-activity v0.4.1 -> v0.4.3
      Adding android-tzdata v0.1.1
    Updating anyhow v1.0.71 -> v1.0.75
    Updating arboard v3.2.0 -> v3.2.1
    Updating arrayvec v0.7.2 -> v0.7.4
    Updating async-channel v1.8.0 -> v1.9.0
    Updating async-executor v1.5.1 -> v1.5.3
      Adding async-fs v1.6.0
    Updating async-lock v2.7.0 -> v2.8.0
      Adding async-process v1.8.0
    Updating async-recursion v1.0.4 -> v1.0.5
      Adding async-signal v0.2.1
    Updating async-task v4.4.0 -> v4.4.1
    Updating async-trait v0.1.68 -> v0.1.73
      Adding atomic-waker v1.1.2
    Updating backtrace v0.3.67 -> v0.3.69
      Adding base64 v0.21.4
    Updating bindgen v0.65.1 -> v0.68.1
    Updating bitflags v2.3.1 -> v2.4.0
      Adding blocking v1.4.0
    Updating bumpalo v3.13.0 -> v3.14.0
    Updating bytemuck v1.13.1 -> v1.14.0
    Updating bytemuck_derive v1.4.1 -> v1.5.0
    Updating bytes v1.4.0 -> v1.5.0
    Updating calloop v0.10.5 -> v0.10.6
    Updating cc v1.0.79 -> v1.0.83
    Updating cfg-expr v0.15.1 -> v0.15.5
    Updating chrono v0.4.24 -> v0.4.31
    Updating cocoa-foundation v0.1.1 -> v0.1.2
    Updating concurrent-queue v2.2.0 -> v2.3.0
    Updating core-graphics-types v0.1.1 -> v0.1.2
    Updating cpufeatures v0.2.7 -> v0.2.9
    Updating crossbeam-utils v0.8.15 -> v0.8.16
      Adding deranged v0.3.8
    Removing dirs v4.0.0
    Removing dirs-sys v0.3.7
    Updating dlib v0.5.0 -> v0.5.2
    Updating dyn-clone v1.0.11 -> v1.0.14
    Updating either v1.8.1 -> v1.9.0
    Updating enum-map v2.5.0 -> v2.6.3
    Updating enum-map-derive v0.11.0 -> v0.14.0
    Updating enumflags2 v0.7.7 -> v0.7.8
    Updating enumflags2_derive v0.7.7 -> v0.7.8
    Updating enumn v0.1.8 -> v0.1.12
      Adding equivalent v1.0.1
    Updating errno v0.3.1 -> v0.3.3
      Adding event-listener v3.0.0
    Updating fancy-regex v0.7.1 -> v0.11.0
      Adding fastrand v2.0.1
      Adding fdeflate v0.3.0
    Updating flate2 v1.0.25 -> v1.0.27
    Updating form_urlencoded v1.1.0 -> v1.2.0
    Updating getrandom v0.2.9 -> v0.2.10
    Updating gimli v0.27.2 -> v0.28.0
    Updating glutin v0.30.8 -> v0.30.10
    Updating glutin_egl_sys v0.5.0 -> v0.5.1
    Updating gpu-descriptor v0.2.3 -> v0.2.4
    Updating gpu-descriptor-types v0.1.1 -> v0.1.2
      Adding hashbrown v0.14.0
    Updating hermit-abi v0.3.1 -> v0.3.3
    Updating iana-time-zone v0.1.56 -> v0.1.57
    Updating idna v0.3.0 -> v0.4.0
    Updating image v0.24.6 -> v0.24.7
      Adding indexmap v2.0.0
    Updating io-lifetimes v1.0.10 -> v1.0.11
    Updating is-terminal v0.4.7 -> v0.4.9
    Updating itoa v1.0.6 -> v1.0.9
    Updating libc v0.2.144 -> v0.2.148
      Adding linux-raw-sys v0.4.7
    Updating lock_api v0.4.9 -> v0.4.10
    Updating log v0.4.17 -> v0.4.20
    Updating memchr v2.5.0 -> v2.6.3
      Adding memoffset v0.7.1
    Updating miniz_oxide v0.6.2 -> v0.7.1
    Updating mio v0.8.6 -> v0.8.8
      Adding nix v0.26.4
    Updating num-traits v0.2.15 -> v0.2.16
      Adding num_enum v0.6.1
      Adding num_enum_derive v0.6.1
    Updating object v0.30.3 -> v0.32.1
    Updating once_cell v1.17.1 -> v1.18.0
    Updating orbclient v0.3.45 -> v0.3.46
    Updating os_str_bytes v6.5.0 -> v6.5.1
    Updating parking v2.1.0 -> v2.1.1
    Updating parking_lot_core v0.9.7 -> v0.9.8
    Updating paste v1.0.12 -> v1.0.14
    Updating percent-encoding v2.2.0 -> v2.3.0
    Updating pin-project-lite v0.2.9 -> v0.2.13
      Adding piper v0.2.1
    Updating plist v1.4.0 -> v1.5.0
    Updating png v0.17.7 -> v0.17.10
    Updating prettyplease v0.2.5 -> v0.2.15
    Updating proc-macro2 v1.0.58 -> v1.0.67
    Updating profiling v1.0.8 -> v1.0.11
    Updating quick-xml v0.26.0 -> v0.29.0
    Updating quote v1.0.27 -> v1.0.33
    Updating regex v1.8.2 -> v1.9.5
      Adding regex-automata v0.3.8
    Removing regex-syntax v0.6.29
    Removing regex-syntax v0.7.2
      Adding regex-syntax v0.7.5
    Updating ron v0.8.0 -> v0.8.1
    Removing rustix v0.37.19
      Adding rustix v0.37.23
      Adding rustix v0.38.14
    Updating rustls v0.20.8 -> v0.21.7
      Adding rustls-webpki v0.100.3
      Adding rustls-webpki v0.101.6
    Updating ryu v1.0.13 -> v1.0.15
    Updating scopeguard v1.1.0 -> v1.2.0
    Updating serde v1.0.163 -> v1.0.188
    Updating serde_derive v1.0.163 -> v1.0.188
    Updating serde_json v1.0.96 -> v1.0.107
    Updating serde_repr v0.1.12 -> v0.1.16
    Updating serde_spanned v0.6.2 -> v0.6.3
    Updating sha1 v0.10.5 -> v0.10.6
    Updating shlex v1.1.0 -> v1.2.0
      Adding signal-hook-registry v1.4.1
      Adding simd-adler32 v0.3.7
    Updating siphasher v0.3.10 -> v0.3.11
    Updating slab v0.4.8 -> v0.4.9
    Updating smallvec v1.10.0 -> v1.11.1
    Updating smithay-client-toolkit v0.16.0 -> v0.16.1
    Updating strict-num v0.1.0 -> v0.1.1
    Updating syn v2.0.16 -> v2.0.37
    Updating syntect v5.0.0 -> v5.1.0
    Updating system-deps v6.1.0 -> v6.1.1
    Updating target-lexicon v0.12.7 -> v0.12.11
    Updating tempfile v3.5.0 -> v3.8.0
    Updating termcolor v1.2.0 -> v1.3.0
    Updating thiserror v1.0.40 -> v1.0.49
    Updating thiserror-impl v1.0.40 -> v1.0.49
    Removing time v0.1.45
    Removing time v0.3.21
      Adding time v0.3.29
    Updating time-core v0.1.1 -> v0.1.2
    Updating time-macros v0.2.9 -> v0.2.15
    Updating toml v0.7.4 -> v0.7.8
    Updating toml_datetime v0.6.2 -> v0.6.3
    Updating toml_edit v0.19.9 -> v0.19.15
    Updating tracing-attributes v0.1.24 -> v0.1.26
    Updating ttf-parser v0.19.0 -> v0.19.2
    Updating tts v0.25.5 -> v0.25.6
    Updating typenum v1.16.0 -> v1.17.0
    Updating unicode-ident v1.0.8 -> v1.0.12
    Updating unicode-width v0.1.10 -> v0.1.11
    Updating ureq v2.6.2 -> v2.7.1
    Updating url v2.3.1 -> v2.4.1
    Updating waker-fn v1.1.0 -> v1.1.1
    Updating walkdir v2.3.3 -> v2.4.0
    Removing wasi v0.10.0+wasi-snapshot-preview1
    Updating wasm-bindgen-futures v0.4.36 -> v0.4.37
    Updating webbrowser v0.8.10 -> v0.8.11
    Removing webpki v0.22.1
    Updating webpki-roots v0.22.6 -> v0.23.1
    Updating which v4.4.0 -> v4.4.2
    Updating winapi-util v0.1.5 -> v0.1.6
      Adding windows v0.51.1
      Adding windows-core v0.51.1
    Updating windows-implement v0.44.0 -> v0.48.0
    Updating windows-interface v0.44.0 -> v0.48.0
    Updating windows-targets v0.48.0 -> v0.48.5
    Updating windows_aarch64_gnullvm v0.48.0 -> v0.48.5
    Updating windows_aarch64_msvc v0.48.0 -> v0.48.5
    Updating windows_i686_gnu v0.48.0 -> v0.48.5
    Updating windows_i686_msvc v0.48.0 -> v0.48.5
    Updating windows_x86_64_gnu v0.48.0 -> v0.48.5
    Updating windows_x86_64_gnullvm v0.48.0 -> v0.48.5
    Updating windows_x86_64_msvc v0.48.0 -> v0.48.5
    Updating winnow v0.4.6 -> v0.5.15
      Adding xdg-home v1.0.0
    Updating xml-rs v0.8.15 -> v0.8.19
    Updating zbus v3.10.0 -> v3.14.1
    Updating zbus_macros v3.10.0 -> v3.14.1
    Updating zbus_names v2.5.1 -> v2.6.0
    Updating zvariant v3.14.0 -> v3.15.0
    Updating zvariant_derive v3.14.0 -> v3.15.0

❯ cargo update -p ureq --precise 2.6.2
    Updating crates.io index
 Downgrading rustls v0.21.7 -> v0.20.9
    Removing rustls-webpki v0.100.3
    Removing rustls-webpki v0.101.6
 Downgrading ureq v2.7.1 -> v2.6.2
      Adding webpki v0.22.1
 Downgrading webpki-roots v0.23.1 -> v0.22.6

❯ cargo update -p plist --precise 1.4.0
    Updating crates.io index
 Downgrading plist v1.5.0 -> v1.4.0
 Downgrading quick-xml v0.29.0 -> v0.26.0

❯ cargo update -p ron --precise 0.8.0
    Updating crates.io index
    Removing base64 v0.21.4
 Downgrading ron v0.8.1 -> v0.8.0

* Remove unnecessary mut

* Silence over-eager clippy

* Add misisng `'static` lifetime to `run_simple_native`

* ❯ cargo update -p android-activity --precise 0.4.1

    Updating crates.io index
 Downgrading android-activity v0.4.2 -> v0.4.1
    Removing num_enum v0.6.1
    Removing num_enum_derive v0.6.1
2023-09-27 12:49:24 +02:00
Emil Ernerfeldt d7d222d3f6
Polish image API (#3338)
* Imoprove docs for callback shapes

* Improve docs for loader traits

* Use snake_case for feature `all_loaders`

* Make loaders publix

* Slightly better error message on image load failure

* Improve image loading error messages

* Use `bytes://` schema for included bytes loader

* Try user loaders first

* Move `image_loading_spinners` to `Visuals`

* Unify and simplify code

* Make the main text of `Button` optional

This largely makes ImageButton obsolete

* Fix docstrings

* Better docs

* typos

* Use the more explicit `egui_extras::install_image_loaders`

* Simplify `Image::paint_at` function
2023-09-14 16:33:10 +02:00
Emil Ernerfeldt e367c20779
`egui_extras`: always depend on `log` crate (#3336)
* egui_extras: always depend on `log` crate

* syntax_highlighting fix: "serde" is always on

* Add "serde" flag to egui when using egui_extras
2023-09-14 11:20:34 +02:00
Emil Ernerfeldt 5e785ae00a
Add syntax highlighing feature to `egui_extras` (#3333)
* Add syntax highlighing feature to egui_extras

Enable "syntect" feature for great syntax highlighting of any language.

If not a simple fallback is used that works fine for C++, Rust, Python

* Check --no-default-features of egui_extras on CI

* spelling

* Fix building egui_extras without additional features
2023-09-13 20:39:40 +02:00
Jan Procházka 2bc6814acc
Improved texture loading (#3315)
* rework loading around `Arc<Loaders>`

* use `Bytes` instead of splitting api

* remove unwraps in `texture_handle`

* make `FileLoader` optional under `file` feature

* hide http load error stack trace from UI

* implement image fit

* support more image sources

* center spinner if we know size ahead of time

* allocate final size for spinner

* improve image format guessing

* remove `ui.image`, `Image`, add `RawImage`

* deprecate `RetainedImage`

* `image2` -> `image`

* add viewer example

* update `examples/image` + remove `svg` and `download_image` exapmles

* fix lints and tests

* fix doc link

* add image controls to `images` example

* add more `From` str-like types

* add api to forget all images

* fix max size

* do not scale original size unless necessary

* fix doc link

* add more docs for `Image` and `RawImage`

* make paint_at `pub`

* update `ImageButton` to use new `Image` API

* fix double rendering

* `SizeHint::Original` -> `Scale` + remove `Option` wrapper

* Update crates/egui/src/load.rs

Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>

* remove special `None` value for `forget`

* Update crates/egui/src/load.rs

Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>

* add more examples to `ui.image` + add `include_image` macro

* Update crates/egui/src/ui.rs

Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>

* update `menu_image_button` to use `ImageSource`

* `OrderedFloat::get` -> `into_inner`

* derive `Eq` on `SizedTexture`

* add `id` to loaders + `is_installed` check

* move `images` to demo + simplify `images` example

* log trace when installing loaders

* fix lint

* fix doc link

* add more documentation

* more `egui_extras::loaders` docs

* Update examples/images/src/main.rs

Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>

* update `images` example screenshots + readme

* remove unused `rfd` from `images` example

* Update crates/egui_extras/src/loaders/ehttp_loader.rs

Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>

* add `must_use` on `Image` and `RawImage`

* document `loaders::install` multiple call safety

* Update crates/egui_extras/Cargo.toml

Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>

* reshuffle `is_loader_installed`

* make `include_image` produce `ImageSource` + update docs

* update `include_image` docs

* remove `None` mentions from loader `forget`

* inline `From` texture id + size for `SizedTexture`

* add warning about statically known path

* change image load error + use in image button

* add `.size()` to `Image`

* Update crates/egui_demo_app/Cargo.toml

Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>

* add explanations to image viewer ui

---------

Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>
2023-09-12 10:39:17 +02:00
Jan Procházka ec671e754f
Managed texture loading (#3297)
* add types from proposal

* add load methods on `egui::Context`

* implement loaders from proposal in `egui_extras`

* impl `From<Vec2>` for `SizeHint`

* re-export `SizeHint` from `egui` root

* rework `svg` example to use new managed `Image`

* split loaders into separate files + add logging

* add `log_trace`

* clean up `RetainedImage` from `svg` example

* refactor ehttp loader response to bytes mapping

* remove spammy trace

* load images even without extension

* fix lints

* remove unused imports

* use `Image2` in `download_image`

* use `visuals.error_fg_color` in `Image2` error state

* update lockfile

* use `Arc<ColorImage>` in `ImageData` + add `forget` API

* add `ui.image2`

* add byte size query api

* use iterators to sum loader byte sizes

* add static image loading

* use static image in `svg` example

* small refactor of `Image2::ui` texture loading code

* add `ImageFit` to size images properly

* remove println calls

* add bad image load to `download_image` example

* add loader file extension support tests

* fix lint errors in `loaders`

* remove unused `poll-promise` dependency

* add some docs to `Image2`

* add some docs to `egui_extras::loaders::install`

* explain `loaders::install` in examples

* fix lint

* upgrade `ehttp` to `0.3` for some crates

* Remove some unused dependencies

* Remove unnecessary context clone

* Turn on the `log` create feature of egui_extras in all examples

* rename `forget` and document it

* derive `Debug` on `SizeHint`

Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>

* round when converting SizeHint from vec2

Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>

* add `load` module docs

* docstring `add_loader` methods

* expose + document `load_include_bytes`

* cache texture handles in `DefaultTextureLoader`

* add `image2` doctest + further document `Image2`

* use `Default` for default `Image2` options

* update `image2` doc comment

* mention immediate-mode safety

* more fit calculation into inherent impl

* add hover text on spinner

* add `all-loaders` feature

* clarify `egui_extras::loaders::install` behavior

* explain how to enable image formats

* properly format `uri`

* use `thread::Builder` instead of `spawn`

* use eq op instead of `matches`

* inline `From<Arc<ColorImage>>` for `ImageData`

* allow non-`'static` bytes + `forget` in `DefaultTextureLoader`

* sort features

* change `ehttp` feature to `http`

* update `Image2` docs

* refactor loader cache type

---------

Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>
2023-09-06 10:51:51 +02:00
Emil Ernerfeldt 82704bebbf
Update MSRV to Rust 1.70.0 (#3310)
* Update to Rust 1.70

* Fix renamed clippy lint

* Use let-else more

* Code cleanup

* Remove derelict Safety comments

* Enable more clippy lints
2023-09-06 07:59:24 +02:00
Emil Ernerfeldt 707ca04c08
Add opt-in `puffin` feature to `egui-extras` (#3307)
* Add opt-in `puffin` feature to `egui-extras`

Image loading can be slow.

Related to https://github.com/emilk/egui/pull/3297

* Silence warning
2023-09-05 14:11:29 +02:00
Emil Ernerfeldt 08fb447fb5
Increase MSRV to 1.67 (#3234)
* Bump MSRV to 1.67

* clippy fixes

* cargo clippy: inline format args

* Add `clippy::uninlined_format_args` to cranky lints

* Fix clippy on wasm

* More clippy fixes
2023-08-11 13:54:02 +02:00
Emil Ernerfeldt 307565efa5 Release 0.22.0 - A plethora of small improvements 2023-05-23 19:58:04 +02:00
Emil Ernerfeldt b07a675439 Fix egui_extras chonos dependency list 2023-05-23 13:30:54 +02:00
Emil Ernerfeldt bb252e2788
Check `egui_extras --all-features` on CI (#3019)
* Check egui_extras --all-features on CI

* Fix egui_extras with `datepicker` feature
2023-05-23 09:26:40 +02:00
Emil Ernerfeldt 7583a44e32 Format Cargo.toml 2023-05-22 21:40:16 +02:00
Amirhossein Akhlaghpour 7195645a1a
chore: disable default feature for chrono (#2993) 2023-05-22 19:33:06 +02:00
Emil Ernerfeldt 9c9a54ce36
Replace `tracing` with `log` (#2928)
* Replace tracing crate with log

It's just so much simpler to use

* Add `bacon wasm` job

* eframe: add a WebLogger for piping log events to the web console
2023-04-18 21:11:26 +02:00
Emil Ernerfeldt ae722ab0cf Release 0.21.0 - Deadlock fix and winit update 2023-02-08 20:11:21 +01:00
Emil Ernerfeldt 06d753c289
Update SVG crates (#2670)
* Update resvg, tiny-skia and usv to latest

* Remove default features from svg crates

Users can always opt-in to them themselves

* Update png 0.17.6 -> 0.17.7
2023-02-04 13:00:04 +01:00
Emil Ernerfeldt 7d91e90481 Release 0.20.0 - AccessKit, prettier text, overlapping widgets 2022-12-08 15:11:54 +01:00
Emil Ernerfeldt 2dc2a5540d
`egui_extras::Table` improvements (#2369)
* Use simple `ui.interact` for the resize line

* Introduce TableReizeState

* Simplify some code

* Add striped options to table demo

* Auto-size table columns by double-clicking the resize line

* Table: add option to auto-size the columns

* Table: don't let column width gets too small, unless clipping is on

* egui_extras: always use serde

Otherwise using `get_persisted` etc is impossible,
and working around that tedious.

* Avoid clipping last column in a resizable table

* Some better naming

* Table: Use new `Column` for setting column sizes and properties

Also make `clip` a per-column property

* All Table:s store state for auto-sizing purposes

* Customize each column wether or not it is resizable

* fix some auto-sizing bugs

* Fix shrinkage of adaptive column content

* Rename `scroll` to `vscroll` for clarity

* Add Table::scroll_to_row

* scroll_to_row takes alignment

* Fix bug in table sizing

* Strip: turn clipping OFF by default, because it is dangerous and sucks

* Add TableBody::mac_rect helper

* Table: add options to control the scroll area height.

* Docstring fixes

* Cleanup
2022-11-30 19:56:06 +01:00
Emil Ernerfeldt eca5e6a4d2
Update to Rust 1.65 (#2314)
* Update to Rust 1.65

Because then you can use dynamic linking on Linux

* Fix a bunch of clippy lints

* Update changelogs

* More clippy fixes
2022-11-16 19:08:03 +01:00
ItsEthra 4d1e858a52
Use total_cmp for clamping drag value in order to avoid floating point ambiguities (#2213)
* Use total_cmp for clamping DragValue

* Added test for clamping

* Increase MSRV in all crates

* Increased rust version for github actions and lib.rs

* Inversed ranges are now working properply with clamp_to_range

* Added more tests
2022-11-02 19:38:39 +01:00
Emil Ernerfeldt 97ce103209 Release 0.19.0 - wgpu backend, repaint_after, continue-after-close 2022-08-20 16:49:58 +02:00
Emil Ernerfeldt 041f2e64ba
Move all crates into a `crates` directory (#1940) 2022-08-20 10:41:49 +02:00