Release 0.6.0
Pre-release
Pre-release
[0.6.0] - 2022-06-20
Added
- Added
PixState::ui_widthandPoixState::ui_heightmethods which take into
account remaining screen space with regards to current UI cursor position and
frame padding. - Added configurable
scroll_sizeto the UI theme for the width of rendered
scrollbars. - Added
PixState::mouse_dbl_clickedmethod indicating mouse was double clicked
last frame. - Added
PixState::dbl_clickedmethod indicating mouse was double clicked on
the previous UI widget drawn. - Added
PixState::set_column_offsetandPixState::reset_column_offsetto
allow controlling thex-offsetcursor position when rendering UI elements. - Added
ThemeBuildertopix_engine::prelude. - Added
PixState::focused_windowthat takes aWindowIdto check for focus. - Added
PixState::audio_sizeto query the current size of the audio queue
device. - Added
TrianglecontainsPointimplementation. - Added arrow keyboard navigation to
PixState::select_boxwhile focused.
Changed
- Improved element focus and blur.
- Increased the relative font size of
PixState::monospace. - Removed indent of children under
PixState::collapsing_header. - Fixed UI elements being able to take focus if disabled.
- Blur focus by clicking outside on UI elements and by pressing escape/enter in
input fields. - Default types and dimensions for
Point,Vector,Line,Triangle,
Quad,LightandLightSourceare now defined. - Changed how
PixState::on_updatehandles frame rates and no longer sleeps
whenvsyncis enabled. - Changed vertical scroll direction to be natural.
- Set default audio buffer size to 4096.
- Updated audio buffer doucmentation.
- Changed default audio settings to use device defaults.
- Swapped
lazy_staticforonce_cell.
Fixed
- Fixed widgets to properly render the label with the current
fillcolor. - Fixed
PixState::bulletto be more indented. - Fixed
PixState::tabsize - Fixed
PixState::select_listpadding - Fixed
PixState::mod_downto correctly returntruewhen multiple modifiers
are pressed. - Fixed off-by-one error in
Ellipse::bounding_rect. - Fixed
target_frame_rateepsilon. - Fixed update rate limiting when
vsyncis disabled and notarget_frame_rate - set.
- Fixed
PixState::select_boxexpanding on focus and unexpanding when focus
is lost. - Fixed
PixState::font_sizeaffectingThemefont size.
Breaking
- Changed
PixState::tab_barto take aselectedparameter to control the
initial selected tab and changed the callback to take a generic type instead
of ausize. PixState::enqueue_audionow returns aPixResultin the event the audio
device fails, or the max queue size is reached.- Removed clearing the screen by default in
AppState::on_update, leaving it to
the application to choose when to clear the screen. - Changed
PixState::focusedto returntruewhether any active windows have
focus. - Renamed
PixState::keymodstoPixState::keymodwhich now returns a single
&KeyModvalue instead of aHashSet<KeyMod>sinceKeyModis already a
set of bitflags. - Changed
PixState::delta_timeandPixState::elapsedto return aDuration
instead of milliseconds. - Changed
PixState::avg_frame_rateto return anf32instead ofusize. - Changed
PixState::stroke_weightto accept au16instead of au8. - Removed generic type aliases for all types that now have reasonable defaults.
- Removed
PixState::no_*(e.g.no_stroke,no_fill, etc) methods in favor
of the main setter method acceptingfalseorNone. - Added
PartialEqtoNumtrait. - Modified
ContainsandIntersectstraits to be more generic and have a
singlecontainsorintersectsmethod to allow for future implementations
of other shapes. - Added
PixState::audio_queued_sizeand changedPixState::audio_sizeto
return the buffer capacity instead of the queued size. - Added support for multiple concrete channel types for
AudioCallbackvia
an associated trait type. - Removed
vcpkgfeature support due to flaky error rates.Windowsbuilds now
can utilize a build script with static linking.macOSandLinuxcan
continue usinghomebrewor their distros package manager. - Changed
PixEngineBuilder::scaleto only set rendering scale and to not
affect window size, to mirrorPixState::scale. Removed
WindowBuilder::scale. - Renamed all primitive
as_bytesandas_arraymethods topoints
andcoords.