profile
viewpoint

zesterer/leon 13

A lightweight scripting language for Rust

Imberflur/conrod 0

An easy-to-use, 2D GUI library written entirely in Rust.

Imberflur/dot_vox 0

Rust parser for MagicaVoxel .vox files.

Imberflur/elefont 0

A font cache library for Rust

Imberflur/guillotiere 0

A dynamic texture atlas allocator with fast deallocation and rectangle coalescing.

Imberflur/iced 0

A cross-platform GUI library for Rust, inspired by Elm

Imberflur/minetest 0

Minetest, an open source infinite-world block sandbox game with survival and crafting. [also https://github.com/minetest/minetest_game]

IssuesEvent

issue closedhecrj/iced

Horizontal + vertical padding support

This library is awesome, will there ever be a horizontal/vertical padding support instead of just the normal padding?

closed time in 5 hours

raphtlw

issue commenthecrj/iced

Make iced::Result Send + Sync

A workaround is to do: pikelet_editor::run().map_err(|err| anyhow!("{}", err))

Tarnadas

comment created time in 8 hours

issue commenthecrj/iced

Make iced::Result Send + Sync

I'm running into this too. I think it might be because WindowCreationFailed(Box<dyn std::error::Error>) needs a more restrictive trait object?

Tarnadas

comment created time in 8 hours

issue commenthecrj/iced

Any way to increase iteration speed?

I don't believe it's thermals related, the 16" model has a redesigned body with much larger air intakes and bigger fans to improve airflow. But it shouldn't make a difference either way compiling what is essentially a Hello World app from idle.

I don't believe it's IO bound either, I had a Ryzen 3900X PC with 1TB Evo 970 NVMe SSD that compiled our whole monorepo at the same speed (slightly slower actually, maybe because Windows...) as this laptop, so it's not IO bound either.

yay

comment created time in 14 hours

issue commenthecrj/iced

Close Event

For now, I think you'd need to manage your own winit event loop so you can handle the winit::event::WindowEvent::CloseRequested event. Iced has an integration example of doing so here:

https://github.com/hecrj/iced/tree/master/examples/integration

It'd be nice if in the future, we could specify something like an Application::close_ready method that returned a bool which can be referenced behind the scenes in the winit loop, and it will only close when that returns true. And then have the winit::event::WindowEvent::CloseRequested event exposed on the native subscription, so we can handle that message and then appropriately allow true to be returned once we the application is safe to get closed

Mateholiker

comment created time in 15 hours

issue closedhecrj/iced

Dose not build/doc with all features

Since the 2.0 commit it is not possible to build/doc the crate with all features:

iced (master)> cargo build --all-features Compiling futures-io v0.3.5 Compiling adler32 v1.2.0 Compiling cache-padded v1.1.1 Compiling fastrand v1.3.5 Compiling parking v2.0.0 Compiling waker-fn v1.1.0 Compiling event-listener v2.4.0 Compiling vec-arena v0.5.2 Compiling async-task v3.0.0 Compiling send_wrapper v0.4.0 Compiling atomic-waker v1.0.0 Compiling parking v1.0.6 Compiling lzw v0.10.0 Compiling color_quant v1.0.1 Compiling pin-project-lite v0.2.0 Compiling scoped_threadpool v0.1.9 Compiling checked_int_cast v1.0.0 Compiling adler v0.2.3 Compiling matches v0.1.8 Compiling float-cmp v0.5.3 Compiling xmlparser v0.13.3 Compiling siphasher v0.2.3 Compiling unicode-script v0.5.2 Compiling unicode-vo v0.1.0 Compiling rctree v0.3.3 Compiling base64 v0.12.3 Compiling xmlwriter v0.1.0 Compiling sw-composite v0.7.13 Compiling glow v0.6.1 Compiling kurbo v0.6.3 Compiling futures-channel v0.3.5 Compiling concurrent-queue v1.2.2 Compiling miniz_oxide v0.3.7 Compiling inflate v0.4.5 Compiling async-mutex v1.3.0 Compiling unicode-bidi v0.3.4 Compiling data-url v0.1.0 Compiling miniz_oxide v0.4.1 Compiling gif v0.10.3 Compiling svgtypes v0.5.0 Compiling roxmltree v0.11.0 Compiling crc32fast v1.2.0 Compiling phf v0.8.0 Compiling multitask v0.2.0 Compiling async-channel v1.4.2 Compiling socket2 v0.3.15 Compiling shared_library v0.1.9 Compiling memmap2 v0.1.0 Compiling num-traits v0.2.12 Compiling polling v0.1.9 Compiling kv-log-macro v1.0.7 Compiling simplecss v0.2.0 Compiling deflate v0.8.6 Compiling tiff v0.5.0 Compiling deflate v0.7.20 Compiling futures-lite v0.1.11 Compiling flate2 v1.0.17 Compiling tokio v0.3.4 Compiling mio v0.6.22 Compiling osmesa-sys v0.1.2 Compiling calloop v0.6.5 Compiling wayland-sys v0.28.2 Compiling png v0.16.7 Compiling png v0.15.3 Compiling approx v0.3.2 Compiling euclid v0.22.1 Compiling num-integer v0.1.43 Compiling sid v0.6.1 Compiling ordered-float v1.1.0 Compiling spirv_headers v1.5.0 Compiling euclid v0.20.14 Compiling gfx-memory v0.2.0 Compiling gfx-backend-vulkan v0.6.1 Compiling gfx-backend-empty v0.6.0 Compiling gfx-descriptor v0.2.0 Compiling async-io v0.1.11 Compiling blocking v0.5.2 Compiling xcb v0.9.0 Compiling wayland-commons v0.28.2 Compiling glyph_brush_layout v0.2.0 Compiling mio-extras v2.0.6 Compiling num-iter v0.1.41 Compiling num-rational v0.3.0 Compiling lyon_geom v0.16.2 Compiling guillotiere v0.6.0 Compiling lyon_geom v0.15.3 Compiling async-executor v0.1.2 Compiling pathfinder_geometry v0.5.1 Compiling glutin_glx_sys v0.1.7 Compiling glutin_egl_sys v0.1.5 Compiling clipboard_x11 v0.1.0 Compiling twox-hash v1.5.0 Compiling futures-util v0.3.5 Compiling rgb v0.8.25 Compiling naga v0.2.0 Compiling wayland-client v0.28.2 Compiling lyon_path v0.16.2 Compiling raqote v0.8.0 Compiling wasm-bindgen v0.2.68 Compiling jpeg-decoder v0.1.20 Compiling svgfilters v0.1.0 Compiling lyon_algorithms v0.16.0 Compiling lyon_tessellation v0.16.2 Compiling smithay-client-toolkit v0.11.0 Compiling glyph_brush v0.7.0 Compiling harfbuzz-sys v0.3.4 Compiling js-sys v0.3.45 Compiling image v0.23.9 Compiling wayland-cursor v0.28.2 Compiling wayland-protocols v0.28.2 Compiling wayland-egl v0.28.2 Compiling wgpu-core v0.6.3 Compiling lyon v0.16.2 Compiling harfbuzz_rs v1.2.0 Compiling font-kit v0.8.0 Compiling palette v0.5.0 Compiling smithay-clipboard v0.5.2 Compiling futures-executor v0.3.5 Compiling usvg v0.9.1 Compiling glow_glyph v0.4.0 Compiling web-sys v0.3.45 Compiling clipboard_wayland v0.1.1 Compiling qrcode v0.12.0 Compiling futures v0.3.5 Compiling iced_core v0.3.0 (/home/jan/uni/Rust/GUI/iced/core) Compiling window_clipboard v0.1.2 Compiling smithay-client-toolkit v0.12.0 Compiling iced_style v0.2.0 (/home/jan/uni/Rust/GUI/iced/style) Compiling resvg v0.9.2 Compiling wgpu v0.6.0 Compiling winit v0.23.0 Compiling glutin v0.25.1 Compiling gloo-timers v0.2.1 Compiling wgpu_glyph v0.10.0 Compiling futures-timer v3.0.2 Compiling async-std v1.6.3 Compiling iced_futures v0.2.0 (/home/jan/uni/Rust/GUI/iced/futures) Compiling iced_native v0.3.0 (/home/jan/uni/Rust/GUI/iced/native) Compiling iced_graphics v0.1.0 (/home/jan/uni/Rust/GUI/iced/graphics) Compiling iced_winit v0.2.0 (/home/jan/uni/Rust/GUI/iced/winit) Compiling iced_wgpu v0.3.0 (/home/jan/uni/Rust/GUI/iced/wgpu) Compiling iced_glow v0.1.0 (/home/jan/uni/Rust/GUI/iced/glow) Compiling iced_glutin v0.1.0 (/home/jan/uni/Rust/GUI/iced/glutin) error[E0599]: no method named to_bgra8 found for enum image::DynamicImage in the current scope --> wgpu/src/image/raster.rs:46:40 | 46 | Memory::Host(image.to_bgra8()) | ^^^^^^^^ help: there is an associated function with a similar name: to_bgra

error[E0599]: no method named to_bgra8 found for enum image::DynamicImage in the current scope --> wgpu/src/image/raster.rs:53:40 | 53 | Memory::Host(image.to_bgra8()) | ^^^^^^^^ help: there is an associated function with a similar name: to_bgra

error: aborting due to 2 previous errors

For more information about this error, try rustc --explain E0599. error: could not compile iced_wgpu.

To learn more, run the command again with --verbose. warning: build failed, waiting for other jobs to finish... error: build failed

closed time in 2 days

Mateholiker

issue commenthecrj/iced

Dose not build/doc with all features

Thanks a lot now it works

Mateholiker

comment created time in 2 days

issue commenthecrj/iced

Dose not build/doc with all features

You may need to run cargo update.

Mateholiker

comment created time in 2 days

issue openedhecrj/iced

Close Event

Is there a way to get a close event? In most programs for example a text editor the user gets a "do you want to save the unsaved changes" message with the option to cancel the program exit. I want to do something similar.

created time in 2 days

issue commenthecrj/iced

Dose not build/doc with all features

The solution suggested by the compiler to call to_bgra() instead seems to work

Jan-Ellmers

comment created time in 2 days

issue openedhecrj/iced

Dose not build/doc with all features

Since the 2.0 commit it is not possible to build/doc the crate with all features:

iced (master)> cargo build --all-features Compiling futures-io v0.3.5 Compiling adler32 v1.2.0 Compiling cache-padded v1.1.1 Compiling fastrand v1.3.5 Compiling parking v2.0.0 Compiling waker-fn v1.1.0 Compiling event-listener v2.4.0 Compiling vec-arena v0.5.2 Compiling async-task v3.0.0 Compiling send_wrapper v0.4.0 Compiling atomic-waker v1.0.0 Compiling parking v1.0.6 Compiling lzw v0.10.0 Compiling color_quant v1.0.1 Compiling pin-project-lite v0.2.0 Compiling scoped_threadpool v0.1.9 Compiling checked_int_cast v1.0.0 Compiling adler v0.2.3 Compiling matches v0.1.8 Compiling float-cmp v0.5.3 Compiling xmlparser v0.13.3 Compiling siphasher v0.2.3 Compiling unicode-script v0.5.2 Compiling unicode-vo v0.1.0 Compiling rctree v0.3.3 Compiling base64 v0.12.3 Compiling xmlwriter v0.1.0 Compiling sw-composite v0.7.13 Compiling glow v0.6.1 Compiling kurbo v0.6.3 Compiling futures-channel v0.3.5 Compiling concurrent-queue v1.2.2 Compiling miniz_oxide v0.3.7 Compiling inflate v0.4.5 Compiling async-mutex v1.3.0 Compiling unicode-bidi v0.3.4 Compiling data-url v0.1.0 Compiling miniz_oxide v0.4.1 Compiling gif v0.10.3 Compiling svgtypes v0.5.0 Compiling roxmltree v0.11.0 Compiling crc32fast v1.2.0 Compiling phf v0.8.0 Compiling multitask v0.2.0 Compiling async-channel v1.4.2 Compiling socket2 v0.3.15 Compiling shared_library v0.1.9 Compiling memmap2 v0.1.0 Compiling num-traits v0.2.12 Compiling polling v0.1.9 Compiling kv-log-macro v1.0.7 Compiling simplecss v0.2.0 Compiling deflate v0.8.6 Compiling tiff v0.5.0 Compiling deflate v0.7.20 Compiling futures-lite v0.1.11 Compiling flate2 v1.0.17 Compiling tokio v0.3.4 Compiling mio v0.6.22 Compiling osmesa-sys v0.1.2 Compiling calloop v0.6.5 Compiling wayland-sys v0.28.2 Compiling png v0.16.7 Compiling png v0.15.3 Compiling approx v0.3.2 Compiling euclid v0.22.1 Compiling num-integer v0.1.43 Compiling sid v0.6.1 Compiling ordered-float v1.1.0 Compiling spirv_headers v1.5.0 Compiling euclid v0.20.14 Compiling gfx-memory v0.2.0 Compiling gfx-backend-vulkan v0.6.1 Compiling gfx-backend-empty v0.6.0 Compiling gfx-descriptor v0.2.0 Compiling async-io v0.1.11 Compiling blocking v0.5.2 Compiling xcb v0.9.0 Compiling wayland-commons v0.28.2 Compiling glyph_brush_layout v0.2.0 Compiling mio-extras v2.0.6 Compiling num-iter v0.1.41 Compiling num-rational v0.3.0 Compiling lyon_geom v0.16.2 Compiling guillotiere v0.6.0 Compiling lyon_geom v0.15.3 Compiling async-executor v0.1.2 Compiling pathfinder_geometry v0.5.1 Compiling glutin_glx_sys v0.1.7 Compiling glutin_egl_sys v0.1.5 Compiling clipboard_x11 v0.1.0 Compiling twox-hash v1.5.0 Compiling futures-util v0.3.5 Compiling rgb v0.8.25 Compiling naga v0.2.0 Compiling wayland-client v0.28.2 Compiling lyon_path v0.16.2 Compiling raqote v0.8.0 Compiling wasm-bindgen v0.2.68 Compiling jpeg-decoder v0.1.20 Compiling svgfilters v0.1.0 Compiling lyon_algorithms v0.16.0 Compiling lyon_tessellation v0.16.2 Compiling smithay-client-toolkit v0.11.0 Compiling glyph_brush v0.7.0 Compiling harfbuzz-sys v0.3.4 Compiling js-sys v0.3.45 Compiling image v0.23.9 Compiling wayland-cursor v0.28.2 Compiling wayland-protocols v0.28.2 Compiling wayland-egl v0.28.2 Compiling wgpu-core v0.6.3 Compiling lyon v0.16.2 Compiling harfbuzz_rs v1.2.0 Compiling font-kit v0.8.0 Compiling palette v0.5.0 Compiling smithay-clipboard v0.5.2 Compiling futures-executor v0.3.5 Compiling usvg v0.9.1 Compiling glow_glyph v0.4.0 Compiling web-sys v0.3.45 Compiling clipboard_wayland v0.1.1 Compiling qrcode v0.12.0 Compiling futures v0.3.5 Compiling iced_core v0.3.0 (/home/jan/uni/Rust/GUI/iced/core) Compiling window_clipboard v0.1.2 Compiling smithay-client-toolkit v0.12.0 Compiling iced_style v0.2.0 (/home/jan/uni/Rust/GUI/iced/style) Compiling resvg v0.9.2 Compiling wgpu v0.6.0 Compiling winit v0.23.0 Compiling glutin v0.25.1 Compiling gloo-timers v0.2.1 Compiling wgpu_glyph v0.10.0 Compiling futures-timer v3.0.2 Compiling async-std v1.6.3 Compiling iced_futures v0.2.0 (/home/jan/uni/Rust/GUI/iced/futures) Compiling iced_native v0.3.0 (/home/jan/uni/Rust/GUI/iced/native) Compiling iced_graphics v0.1.0 (/home/jan/uni/Rust/GUI/iced/graphics) Compiling iced_winit v0.2.0 (/home/jan/uni/Rust/GUI/iced/winit) Compiling iced_wgpu v0.3.0 (/home/jan/uni/Rust/GUI/iced/wgpu) Compiling iced_glow v0.1.0 (/home/jan/uni/Rust/GUI/iced/glow) Compiling iced_glutin v0.1.0 (/home/jan/uni/Rust/GUI/iced/glutin) error[E0599]: no method named to_bgra8 found for enum image::DynamicImage in the current scope --> wgpu/src/image/raster.rs:46:40 | 46 | Memory::Host(image.to_bgra8()) | ^^^^^^^^ help: there is an associated function with a similar name: to_bgra

error[E0599]: no method named to_bgra8 found for enum image::DynamicImage in the current scope --> wgpu/src/image/raster.rs:53:40 | 53 | Memory::Host(image.to_bgra8()) | ^^^^^^^^ help: there is an associated function with a similar name: to_bgra

error: aborting due to 2 previous errors

For more information about this error, try rustc --explain E0599. error: could not compile iced_wgpu.

To learn more, run the command again with --verbose. warning: build failed, waiting for other jobs to finish... error: build failed

created time in 2 days

issue commenthecrj/iced

Any way to increase iteration speed?

It's true that Rust has a slow compile time for several reasons, but 10 seconds for that is way too much. I'm suspicious it could be a hardware issue (from what I gathered, not sure if the 16" model has the same issue) as my air-cooled Ryzen 5 2400G recompiles my quite substantial hexview demo in half that time when changing a couple lines, sometimes even a little bit less.

But there's a way to reduce compile times a little bit, described here. Might be worth a try.

yay

comment created time in 2 days

issue commenthecrj/iced

Project Showcase

SMMDB Client - A save file editor for Super Mario Maker 2.


This software lets you easily download courses from SMMDB and puts them directly into your selected save file. It will automatically detect your Yuzu and Ryujinx save folder, but you can also manually select any SMM2 save file on your system.

justinmoon

comment created time in 2 days

issue commenthecrj/iced

Any way to increase iteration speed?

Maybe ramdisk will help you?

yay

comment created time in 2 days

issue openedhecrj/iced

Any way to increase iteration speed?

Hello, I'm playing with the basic examples, like a single button changing the window title on click. But every time I run the app after making a change to the title string it takes a little over 10 seconds to recompile (on a 16" i9 MPB). This is really disappointing coming from both web apps and native apps Swift, Delphi or Qt based. At least when we are talking about basic apps like this. Any way to improve this?

I'm using the recently released iced 0.2 and Rust 1.48 on macOS 11.0.1.

created time in 2 days

pull request commenthecrj/iced

Touch support

Does that PR also add IOS support for iced ? Might be totally unrelated, but is that project relevant for that PR ? And for IOS support in general ?
https://github.com/BrainiumLLC/cargo-mobile

simlay

comment created time in 3 days

pull request commenthecrj/iced

Create Tab Widget, and tweak Rule styling

It would also be nice if bold/font family was added to defaults::Text. There is currently no simple way to make the active tab have bold text while keeping the rest have normal text.

BillyDM

comment created time in 3 days

startedjonhoo/rust-evmap

started time in 3 days

issue commenthecrj/iced

examples crash on start on macOS Big Sur

@myfreeweb I am just trying to understand the issue.

If we decide to go against the guide recommendation and version the Cargo.lock file, at least I'd like to know why.

In particular, I don't believe we should maintain the lockfile just because users can forget to run cargo update every once in a while. So far, I suspect this is what is happening.

Is there any well-known library that versions the Cargo.lock file?

sassman

comment created time in 3 days

pull request commenthecrj/iced

iOS runtime using uikit.

Am I wrong or this is already almost implemented on iced = { git = "https://github.com/simlay/iced", branch = "ios-support-wip" } ? https://github.com/hecrj/iced/pull/57 Is this a matter of some widgets released later on not having the proper touch events support ?

simlay

comment created time in 3 days

issue commenthecrj/iced

examples crash on start on macOS Big Sur

Yes, everything shares the same lockfile in the root directory, but I don't see how this is a problem. Your favorite FAQ entry doesn't say Cargo.lock is harmful for libraries, just that it's unused by external library consumers, which is like, okay, you just have to know that :)

sassman

comment created time in 3 days

created taghecrj/iced

tag0.2.0

A cross-platform GUI library for Rust, inspired by Elm

created time in 3 days

release hecrj/iced

0.2.0

released time in 3 days

create barnchhecrj/iced

branch : 0.2

created branch time in 3 days

push eventhecrj/iced

Héctor Ramón Jiménez

commit sha 745aa49025a99f08680ffe44a5f40ad14abf5808

Update example links to point to `0.2` branch

view details

Héctor Ramón Jiménez

commit sha f78108a514563411e617715443bba53f4f4610ec

Bump versions :tada:

view details

Héctor Ramón

commit sha d16b9cf7cd98a3d65ea5408ac9b72298cb267e85

Merge pull request #637 from hecrj/0.2 Release `0.2` — Canvas interactivity, overlay support, a renderer alternative, and more!

view details

push time in 3 days

delete branch hecrj/iced

delete branch : 0.2

delete time in 3 days

PR merged hecrj/iced

Release `0.2` — Canvas interactivity, overlay support, a renderer alternative, and more! feature improvement

<p align="center"> <a href="https://github.com/hecrj/iced/tree/0.2/examples/game_of_life"> Game of Life </a> <a href="https://cryptowat.ch/apps/desktop"> Cryptowatch Desktop </a> </p>

Iced is an experimental cross-platform GUI library for Rust focused on simplicity and type-safety. Inspired by Elm.

This PR marks the end of the 0.2.0 milestone and the launch of a new release!

The library has taken some steps forward since the previous release, which landed way back in April.

New features

This release contains a bunch of new functionality, internal runtime improvements, and additional subcrates. The most important new features are:

Applications and examples

During this year, a bunch of awesome applications have been created with Iced! Here are some of the coolest ones:

  • Airshipper, a cross-platform launcher for Veloren, an open-world multiplayer voxel RPG made in Rust.
  • Ajour, a World of Warcraft addon manager with a strong focus on performance and simplicity.
  • Cryptowatch Desktop, a highly customizable cryptocurrency market tracker.
  • Ludusavi, a tool for backing up your PC video game save data.
  • Tolstack, an open source tolerance analysis application for building and analyzing 1D geometric tolerance models.

There are also smaller ones! Take a look at the Project Showcase if you want to learn more.

On a related note, the repository has additional examples that showcase some of the new features:

Feel free to try them out and report any issues!

Thank you! :tada:

Finally, I want to emphasize the work of everyone that has contributed to this release:

  • @AberrantWolf updated the Radio widget to make it consistent with Checkbox (#345).
  • @aentity updated winit in iced_winit to 0.23 (#542) and guillotiere to 0.6 (#600).
  • @AlisCode fixed some async examples by feature-gating the Command implementations (#322).
  • @atsuzaki added a transparent field to window::Settings (#484).
  • @Azorlogh implemented conversion traits for Point, Size, and [f32; 2] (#558).
  • @azriel91 introduced feature gates to disable the font-kit dependency (#370).
  • @bitshifter upgraded glam to 0.9 (#482).
  • @clarkmoody created the color_palette example showcasing conversion traits for palette (#200), improved the spacing of the PaneGrid widget (#361), and implemented scrollbar customization for the Scrollable widget (#575).
  • @derezzedex removed an empty bind group in the integration example (#390).
  • @ethanpailes improved the documentation of theimage::Handle constructors (#324).
  • @frapa introduced support to set a window icon (#285).
  • @Imberflur fixed the Clone trait implementation for the Text widget (#363).
  • @Kaiden42 implemented the From<Color> trait for Option<Background> (#487).
  • @Limeth fixed a typo in the hash_layout implementation of Column and Row (#563) and added conversion fuctions for Size and Vector (#583).
  • @Masterchef365 added an on_release handler to the Slider widget (#378).
  • @mobile-bungalow implemented an always_show_controls method for pane_grid::TitleBar (#463).
  • @MonliH removed an outdated comment in the documentation of Column and Row (#545).
  • @mtkennerly fixed a panic when pasting in a TextInput (#445).
  • @myfreeweb added explicit background color support, including transparency (#371).
  • @oknozor introduced a focus method to text_input::State (#598).
  • @rubik83 fixed a bug with empty ranges in ProgressBar and Slider (#527).
  • @sum-elier fixed the description of an error message in a window::icon (#592).
  • @TomPridham introduced accessibility attributes to the iced_web widgets (#292).
  • @twitchyliquid64 added support for always_on_top in window::Settings (#543).
  • @valbendan upgraded tokio to 0.3 (#595).
  • @Vanille-N fixed the ellipse implementation of path::Builder (#401).
  • @Veykril updated the dependencies of iced_wgpu (#334).
  • @Voker57 fixed the documentation of the progress_bar module (#396).
  • @ZakisM fixed a bug with "select all" in a text input on macOS (#605).

I really appreciate each one of these contributions and I am grateful for all of your efforts to improve the library. Thank you all!

+68 -65

0 comment

26 changed files

hecrj

pr closed time in 3 days

PR opened hecrj/iced

Release `0.2` — Canvas interactivity, overlay support, a renderer alternative, and more! feature improvement

<p align="center"> <a href="https://github.com/hecrj/iced/tree/0.2/examples/game_of_life"> Game of Life </a> <a href="https://cryptowat.ch/apps/desktop"> Cryptowatch Desktop </a> </p>

Iced is an experimental cross-platform GUI library for Rust focused on simplicity and type-safety. Inspired by Elm.

This PR marks the end of the 0.2.0 milestone and the launch of a new release!

The library has taken some steps forward since the previous release, which landed way back in April.

New features

This release contains a bunch of new functionality, internal runtime improvements, and additional subcrates. The most important new features are:

Applications and examples

During this year, a bunch of awesome applications have been created with Iced! Here are some of the coolest ones:

  • Airshipper, a cross-platform launcher for Veloren, an open-world multiplayer voxel RPG made in Rust.
  • Ajour, a World of Warcraft addon manager with a strong focus on performance and simplicity.
  • Cryptowatch Desktop, a highly customizable cryptocurrency market tracker.
  • Ludusavi, a tool for backing up your PC video game save data.
  • Tolstack, an open source tolerance analysis application for building and analyzing 1D geometric tolerance models.

There are also smaller ones! Take a look at the Project Showcase if you want to learn more.

On a related note, the repository has additional examples that showcase some of the new features:

Feel free to try them out and report any issues!

Thank you! :tada:

Finally, I want to emphasize the work of everyone that has contributed to this release:

  • @AberrantWolf updated the Radio widget to make it consistent with Checkbox (#345).
  • @aentity updated winit in iced_winit to 0.23 (#542) and guillotiere to 0.6 (#600).
  • @AlisCode fixed some async examples by feature-gating the Command implementations (#322).
  • @attsuzaki added a transparent field to window::Settings (#484).
  • @Azorlogh implemented conversion traits for Point, Size, and [f32; 2] (#558).
  • @azriel91 introduced feature gates to disable the font-kit dependency (#370).
  • @bitshifter upgraded glam to 0.9 (#482).
  • @clarkmoody created the color_palette example showcasing conversion traits for palette (#200), improved the spacing of the PaneGrid widget (#361), and implemented scrollbar customization for the Scrollable widget (#575).
  • @derezzedex removed an empty bind group in the integration example (#390).
  • @ethanpailes improved the documentation of theimage::Handle constructors (#324).
  • @frapa introduced support to set a window icon (#285).
  • @Imberflur fixed the Clone trait implementation for the Text widget (#363).
  • @Kaiden42 implemented the From<Color> trait for Option<Background> (#487).
  • @Limeth fixed a typo in the hash_layout implementation of Column and Row (#563) and added conversion fuctions for Size and Vector (#583).
  • @Masterchef365 added an on_release handler to the Slider widget (#378).
  • @mobile-bungalow implemented an always_show_controls method for pane_grid::TitleBar (#463).
  • @MonliH removed an outdated comment in the documentation of Column and Row (#545).
  • @mtkennerly fixed a panic when pasting in a TextInput (#445).
  • @myfreeweb added explicit background color support, including transparency (#371).
  • @oknozor introduced a focus method to text_input::State (#598).
  • @rubik23 fixed a bug with empty ranges in ProgressBar and Slider (#527).
  • @sum-elier fixed the description of an error message in a window::icon (#592).
  • @TomPridham introduced accessibility attributes to the iced_web widgets (#292).
  • @twitchyliquid64 added support for always_on_top in window::Settings (#543).
  • @valbendan upgraded tokio to 0.3 (#595).
  • @Vanille-N fixed the ellipse implementation of path::Builder (#401).
  • @Veykril updated the dependencies of iced_wgpu (#334).
  • @Voker57 fixed the documentation of the progress_bar module (#396).
  • @ZakisM fixed a bug with "select all" in a text input on macOS (#605).

I really appreciate each one of these contributions and I am grateful for all of your efforts to improve the library. Thank you all!

+68 -65

0 comment

26 changed files

pr created time in 3 days

create barnchhecrj/iced

branch : 0.2

created branch time in 3 days

more