Releases: iced-rs/iced
0.2.0
New features
-
Canvas
interactivity (#325)
A trait-based approach to react to mouse and keyboard interactions in theCanvas
widget. -
iced_graphics
subcrate (#354)
A backend-agnostic graphics subcrate that can be leveraged to build new renderers. -
OpenGL renderer (#354)
An OpenGL renderer powered byiced_graphics
,glow
, andglutin
. It is an alternative to the defaultwgpu
renderer. -
Overlay support (#444)
Basic support for superpositioning interactive widgets on top of other widgets. -
Faster event loop (#597)
The event loop now takes advantage of the data dependencies in The Elm Architecture and leverages the borrow checker to keep the widget tree alive between iterations, avoiding unnecessary rebuilds. -
Event capturing (#614)
The runtime now can tell whether a widget has handled an event or not, easing integration with existing applications. -
PickList
widget (#444)
A drop-down selector widget built on top of the new overlay support. -
QRCode
widget (#622)
A widget that displays a QR code, powered by theqrcode
crate.
Thank you! 🎉
- @AberrantWolf updated the
Radio
widget to make it consistent withCheckbox
(#345). - @aentity updated
winit
iniced_winit
to0.23
(#542) andguillotiere
to0.6
(#600). - @AlisCode fixed some async examples by feature-gating the
Command
implementations (#322). - @atsuzaki added a
transparent
field towindow::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
to0.9
(#482). - @clarkmoody created the
color_palette
example showcasing conversion traits forpalette
(#200), improved the spacing of thePaneGrid
widget (#361), and implemented scrollbar customization for theScrollable
widget (#575). - @derezzedex removed an empty bind group in the
integration
example (#390). - @ethanpailes improved the documentation of the
image::Handle
constructors (#324). - @frapa introduced support to set a window icon (#285).
- @Imberflur fixed the
Clone
trait implementation for theText
widget (#363). - @Kaiden42 implemented the
From<Color>
trait forOption<Background>
(#487). - @Limeth fixed a typo in the
hash_layout
implementation ofColumn
andRow
(#563) and added conversion fuctions forSize
andVector
(#583). - @Masterchef365 added an
on_release
handler to theSlider
widget (#378). - @mobile-bungalow implemented an
always_show_controls
method forpane_grid::TitleBar
(#463). - @MonliH removed an outdated comment in the documentation of
Column
andRow
(#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 totext_input::State
(#598). - @rubik83 fixed a bug with empty ranges in
ProgressBar
andSlider
(#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
inwindow::Settings
(#543). - @valbendan upgraded
tokio
to0.3
(#595). - @Vanille-N fixed the
ellipse
implementation ofpath::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).
0.1.1
Added
Settings::with_flags
to easily initialize some default settings with flags. #266Default
implementation forcanvas::layer::Cache
. #267Ctrl + Del
support forTextInput
. #268- Helper methods in
canvas::Path
to easily draw lines, rectangles, and circles. #293 From<Color>
implementation forcanvas::Fill
. #293From<String>
implementation forcanvas::Text
. #293From<&str>
implementation forcanvas::Text
. #293
Changed
new
method ofRadio
andCheckbox
now take a genericInto<String>
for the label. #260Frame::fill
now takes a genericInto<canvas::Fill>
. #293Frame::stroke
now takes a genericInto<canvas::Stroke>
. #293Frame::fill_text
now takes a genericInto<canvas::Text>
. #293
Fixed
- Feature flags not being referenced in documentation. #259
- Crash in some graphics drivers when displaying an empty
Canvas
. #278 - Text measuring when spaces where present at the beginning of a
TextInput
value. #279 TextInput
producing aClip
primitive when unnecessary. #279- Alignment of
Text
primitive iniced_wgpu
. #281 CursorEntered
andCursorLeft
not being generated. #289
Removed
- Unnecessary
'static
lifetimes inRenderer
bounds. #290
0.1.0
New features
-
Custom styling (#146)
A simple, trait-based approach for customizing the appearance of different widgets. -
Event subscriptions (#122)
A declarative way to listen to external events asynchronously by leveraging streams. -
Canvas
widget (#193)
A widget for drawing 2D graphics with an interface inspired by the Web Canvas API and powered bylyon
. -
PaneGrid
widget (#224)
A widget that dynamically organizes layout by splitting panes that can be resized and drag and dropped. -
Svg
widget (#111)
A widget that renders vector graphics on top ofresvg
andraqote
. Thanks to @Maldela! -
ProgressBar
widget (#141)
A widget to notify progress of asynchronous tasks to your users. Thanks to @Songtronix! -
Configurable futures executor (#164)
Support for pluggingtokio
,async-std
,wasm-bindgen-futures
, or your own custom futures executor to an application. -
Compatibility with existing
wgpu
projects (#183)
A bunch of improvements to the flexibility oficed_wgpu
to allow integration in existing codebases. -
Text selection for
TextInput
(#202)
Thanks to @FabianLars and @Finnerale! -
Texture atlas for
iced_wgpu
(#154)
An atlas on top ofguillotiere
for batching draw calls. Thanks to @Maldela!
More examples
bezier_tool
, a Paint-like tool for drawing Bézier curves usinglyon
.clock
, an application that uses theCanvas
widget to draw a clock and its hands to display the current time.counter
, the classic counter example explained in theREADME
.custom_widget
, a custom widget that draws a circle.download_progress
, a basic application that asynchronously downloads a dummy file of 100 MB and tracks the download progress.events
, a log of native events displayed using a conditionalSubscription
.geometry
, a custom widget showcasing how to draw geometry with theMesh2D
primitive iniced_wgpu
.integration
, an example demonstrating how to integrate Iced in an existing graphical application.pane_grid
, a grid of panes that can be split, resized, and reorganized.pokedex
, an application that displays a random Pokédex entry (sprite included!) by using the PokéAPI.progress_bar
, a simple progress bar that can be filled by using a slider.styling
, an example showcasing custom styling with a light and dark theme.solar_system
, an animated solar system drawn using theCanvas
widget and showcasing how to compose different transforms.stopwatch
, a watch with start/stop and reset buttons showcasing how to listen to time.svg
, an application that renders the Ghostscript Tiger by leveraging theSvg
widget.
Thank you! 🎉
- @AlisCode created
iced-pancurses
, started a great issue to find a project logo (#143), and worked on a potential website (#115). - @artursapek contributed a
Mesh2D
primitive foriced_wgpu
(#140) which ended up being the foundations of theCanvas
widget. - @clarkmoody added customization support for the
Checkbox
widget (#192). - @daxpedda improved the
Node
API (#187) and has been working on theGrid
widget (#189). - @ejmahler removed the
Clone
bound on theMessage
associated type ofApplication
(#155). - @FabianLars contributed text selection for
TextInput
(#202) on top of @Finnerale's work. - @Friz64 enhanced the scrolling behavior of the
Scrollable
widget (#95). - @Gohla introduced missing style attributes in
iced_web
(#127), removed unnecessary bounds (#128), and built a cool Space Engineers calculator. - @hatoo added platform-specific settings to
iced_winit
(#94), implemented thebezier_tool
example (#144), and provided feedback related to using the library for building VST plugins (#118). - @Imberflur updated
winit
to0.21
(#181) and exposed theClipboard
type iniced_winit
(#178). - @kaimast removed unnecessary lifetimes in the
integration
example (#240) and contributed other minor code cleanups (#242). - @maaku fixed some formatting to comply with
cargo fmt
(#228). - @Maldela implemented the
Svg
widget (#111) and a texture atlas foriced_wgpu
(#154). - @memoryruins cleaned up some code and made it more idiomatic (#45).
- @michael-swan implemented
Ctrl+Backspace
behavior forTextInput
(#249). - @mrkgnao added support for displaying already-decoded images (#211).
- @nvzqz made a bunch of functions
const
(#91) and added someFrom
implementations (#92). - @piaoger fixed the file path of the
svg
example (#196). - @Plecra improved the scaling of the hands in the
clock
example (#251). - @rowungiles introduced a
with_children
method forColumn
andRow
(#220). - @Shootertrex fixed the
hash_layout
implementation of theImage
widget (#101). - @simlay experimented with iOS support and touch events (#57) while contributing to
winit
. - @Songtronix wrote the
ProgressBar
widget (#141), contributed thedownload_progress
example (#232), and has been using the library in Airshipper, a cross-platform launcher for Veloren. - @sumibi-yakitori enabled custom fonts for
TextInput
(#171). - @tirz removed unnecessary
'static
lifetimes in a bunch of generic types (#245).
0.1.0-beta
Changed
- The old
iced
becomesiced_native
. The currenticed
crate turns into a batteries-included, cross-platform GUI library.
0.1.0-alpha
Added
- First release! 🎉