Skip to content

Releases: leftger/embedded-gui

v0.2.7

Choose a tag to compare

@github-actions github-actions released this 24 Sep 04:31
1153b52

What's Changed

  • chore(deps): bump the actions group with 3 updates by @dependabot[bot] in #10
  • chore(deps): bump the dependencies group with 14 updates by @dependabot[bot] in #11
  • chore(deps): bump the dependencies group with 3 updates by @dependabot[bot] in #12
  • chore(deps): bump the dependencies group with 5 updates by @dependabot[bot] in #13

New Contributors

Full Changelog: v0.1.5...v0.2.7

v0.1.5

Choose a tag to compare

@leftger leftger released this 30 Jul 18:35

Summary

Runtime-agnostic async present APIs and optional Embassy integration for overlapping CPU render with DMA transfer.

crates.io: https://crates.io/crates/embedded-gui/0.1.5

Highlights

Async present stack (no executor required)

  • CompletionSlot — ISR-safe DMA completion flag with waker support
  • WaitTransfer / WaitTransferFuture — wire display DMA tokens to async wait
  • SwapChain — present_async, present_region_async, wait_for_vsync_async, and non-blocking try_present
  • DisplayBackend / AsyncDmaTransfer — backend trait extensions for async DMA
  • GUI helpers — try_present_dirty, present_dirty_async, try_present_frame for dirty-region present

Optional Embassy feature

  • Enable with embassy feature (pulls in embassy-time + embassy-sync)
  • EmbassyWaitTransfer and FrameClock for Embassy-based frame loops
  • Examples: completion_swapchain_sim, embassy_gui_frame

Other changes since 0.1.4

  • Gate full widget catalog behind rich-widgets feature; keep essential widgets always on
  • Sweeping-arc perf: skip trig at cardinal angles; cross-product sector test
  • Context module refactor and expanded test coverage

Features

Feature Default Description
embassy off Embassy wakers + FrameClock
embassy-time off Time types for Embassy integration
triple-buffering off Triple-buffered swapchain APIs

Upgrade

embedded-gui = "0.1.5"

Rasterization stays synchronous; async is for present/wait/DMA overlap only — see README for RTIC/Embassy patterns.

v0.1.2

Choose a tag to compare

@leftger leftger released this 19 Jul 10:09

What's new

  • Optional, feature-gated interop adapters bridging embedded-gui to the wider embedded-graphics ecosystem:
    • embedded-layout feature: RectView, a Rect wrapper implementing embedded_layout::View, so embedded-layout's LinearLayout/alignment/spacing algorithms can arrange embedded-gui widget rects.
    • embedded-text feature: text_box/text_box_with_style helpers to build an embedded_text::TextBox over a Rect, plus RenderCtx::draw_embedded_graphics as a generic escape hatch for drawing any embedded_graphics::Drawable.
    • Both are purely additive — the crate's own layout.rs/text.rs/font.rs remain the default, dependency-light path with no behavior change.
  • New example: interop_showcase (cargo run --example interop_showcase --features embedded-text,embedded-layout).
  • Fixed a pre-existing clippy::manual_slice_fill lint in test_buffer.rs.

Full Changelog: db9e9c5...v0.1.2