Releases: RibirX/Ribir
Releases Β· RibirX/Ribir
ribir-v0.4.0-alpha.23
Features
- core: The
Render::dirty_phase
method has been added to allow widgets to mark only the paint phase as dirty when it is modified. (#689 @M-Adoo) - core: Supports
Provider
to dirty the tree if it's a state writer. (#689 @M-Adoo) - core: Added the built-in field
providers
to provide data to its descendants. (#690 @M-Adoo) - core: Added
Variant
to support building widgets with variables acrossProviders
. (#690 @M-Adoo) - macros: Added the
part_reader!
macro to generate a partial reader from a reference of a reader. (#688 @M-Adoo) - macros: The
simple_declare
now supports thestateless
meta attribute,#[simple_declare(stateless)]
. (#688 @M-Adoo)
Fixed
- Core:
PartData
allows the use of a reference to create a write reference, which is unsafe. IntroducePartRef
andPartMut
to replace it. (#690 @M-Adoo)
Breading
ribir-v0.4.0-alpha.22
ribir-v0.4.0-alpha.21
ribir-v0.4.0-alpha.20
Features
- core: Added
Measure
to enable support for percentage values for position, andAnchor
now supports percentage values. (#672 @M-Adoo) - core: Added APIs
AppCtx::once_next_frame
,Window::once_next_frame
,Window::once_frame_finished
andWindow::once_before_layout
. (#672 @M-Adoo) - painter: Typography now supports baselines (middle and alphabetic). (#674 @M-Adoo)
- Widgets: Added new layout widgets,
HorizontalLine
andVerticalLine
. (#679 @M-Adoo)
Changed
Fixed
- core: Fix set opacity zero no work to it's children. (#671 @wjian23)
- core: Fix TextStyle cause providers mismatched (#671 @wjian23)
- core: Running an animation that is already in progress does not trigger a smooth transition. (#672 @M-Adoo)
- core: The framework incorrectly clamps the layout result of the render widget. (#672 @M-Adoo)
- core: Padding will not change the child's size; otherwise, child elements like
Icon
may not work correctly. (#674 @M-Adoo) - core: Allow children to be hit outside their parent's boundaries for non-fixed-size containers. (#676 @M-Adoo)
- painter: Fixed text line height does not work correctly. (#674 @M-Adoo)
- painter: Fixed issue with text not being drawn at the middle baseline by default. (#674 @M-Adoo)
Changed
ribir-v0.4.0-alpha.19
ribir-v0.4.0-alpha.18
Features
- core: Enhanced support for built-in fields such as
font_size
,font_face
,letter_spacing
,text_line_height
, andtext_overflow
throughTextStyleWidget
. (#668 @M-Adoo) - widgets: Icon size should be maintained even if its container is not sufficiently large. (#668 @M-Adoo)
- core: Added the builtin widget of tooltips (#664 @wjian23)
Changed
ribir-v0.4.0-alpha.17
Features
- core: Added the
named_svgs
module to enable sharing SVGs using string keys, replacing the need forIconTheme
. (#658 @M-Adoo) - core: The
keyframes!
macro has been introduced to manage the intermediate steps of animation states. (#653 @M-Adoo) - core: Added
QueryId
as a replacement forTypeId
to facilitate querying types by Provider across different binaries. (#656 @M-Adoo) - core: Added
OverrideClass
to override a single class within a subtree. (#657 @M-Adoo) - widgets: Added
LinearProgress
andSpinnerProgress
widgets along with their respective material themes. (#630 @wjian23 @M-Adoo) - painter: SVG now supports switching the default color, allowing for icon color changes. (#661 @M-Adoo)
Changed
- widgets: The
Checkbox
widget uses classes to style and simplify its label syntax. (#666 @M-Adoo) - widgets: The
Icon
widget utilizes classes to configure its style, and it does not have a size property. (#660 @M-Adoo) - theme: Refactor the
Ripple
andStateLayer
of the material theme to enhance their visual effects. (#666 @M-Adoo)
Fixed
-
core: The size of the
Root
container is too small, which could lead to potential missed hits. (#654 @M-Adoo) -
core: The hit test for the
TransformWidget
is not applied at the correct position. (#654 @M-Adoo) -
core: Switching to a style class may result in missing widgets. (#655 @M-Adoo)
-
core: The animation does not restore the state value correctly when multiple animations are applied to the same state. (#662 @M-Adoo)
-
macros: the top-level
rdl!
,pipe!
andwatch!
do not capture built-in widgets as intended. (#666 @M-Adoo) -
core: fix query render object with multi target hits (#665 @wjian23)
-
core: Use track_id track WidgetId, which may changed when created by pipe or class. (#665 @wjian23)
ribir-v0.4.0-alpha.15
Features
- macros: Every widget that derives
Declare
will automatically implement a macro with the same name to declare a function widget using it as the root widget. (#651 @M-Adoo) - core: Added the smooth widgets for transitioning the layout position and size. (#645 @M-Adoo)
- widgets: Added three widgets
FractionallyWidthBox
,FractionallyHeightBox
, andFractionallySizedBox
to enable fractional sizing of widgets. (#647 @M-Adoo) - widgets: Add widget of radio button (#649 @wjian23)
- core:
BuildCtx::get()
andBuildCtx::get_mut()
have been added to facilitate access from anywhere within a build context. (#650 @M-Adoo)
Fixed
- core: The
Provider
might be missing in a pipe class. (#648 @M-Adoo) - core: The child generated by the class may not be mounted. (#648 @M-Adoo)
- widgets: Changing the
flex
ofExpanded
does not trigger a relayout. (#652 @M-Adoo)
Breaking
- core:
Expanded
andKeyWidget
are not declared withFatObj
, so they do not currently support built-in widgets. (#648 @M-Adoo) - core:
DeclareObj::finish
does not accept aBuildCtx
parameter. (#650 @M-Adoo) - core: function widget no longer requires a
&mut BuildCtx
parameter. (#650 @M-Adoo) - macros: Removed the
ctx!
macro. (#650 @M-Adoo)
ribir-v0.4.0-alpha.14
Features
- macros: Added the
part_writer!
macro to generate a partial writer from a mutable reference of a writer. (#642 @M-Adoo)
Fixed
- core: Setting the theme before running the app results in the tree being constructed twice. (#637, @M-Adoo)
- core: Resolve a crash occurring in a class implementation with multiple children. (#637 @M-Adoo)
- core: Nodes created by a class implementation may not be disposed of when switching to another class. (#637 @M-Adoo)
- core: When merge multiple
MixBuiltin
widgets, there may be a premature dropping of the outerMixBuiltin
before it should occur. (#639 @M-Adoo) - core:
watch!
does not notify the initial value. (#640 @M-Adoo) - core: fix watch multi builtin events not work (#641 @wjian23)
- core: fix widget layout when h_algin and v_align are embedded in each other (#641 @wjian23)
- painter: fix elements may not be painted after window resize. (#644 @M-Adoo)