1 unstable release
Uses new Rust 2024
new 0.1.2 | Apr 2, 2025 |
---|
#11 in #popup
40 downloads per month
Used in 35 crates
(2 directly)
1.5MB
14K
SLoC
aloe-callout-box
The aloe-callout-box
crate provides a sophisticated solution for implementing temporary pop-up windows in graphical user interfaces. A CallOutBox
is a versatile component that provides a modal-like display, useful for showing additional controls when a user interacts with a button or other GUI component.
Capabilities
- Dynamic Display: Features an arrow indicating the target component or area, enhancing user experience through visual cues. Ideal for creating a more intuitive and interactive user interface.
- Asynchronous Launch: Uses the
launch_asynchronously
method to dynamically manage the lifetime of a CallOutBox, avoiding traditional modal loops and enhancing performance. - Responsive Layout: Automatically adjusts its size and position to accommodate the content component, while respecting the constraints of a designated area within the parent component or desktop.
- Customizability: Offers functions to modify the arrow size and change dismissal behavior by either consuming mouse clicks or passing them to underlying components.
- Flexible Callback System: Supports customizable behavior through
CallOutBoxCallback
, allowing for additional user-specific functionalities.
Installation
To use aloe-callout-box
, add it to your Cargo.toml
:
[dependencies]
aloe-callout-box = "0.1.0"
Usage
Instantiate a new CallOutBox
using:
let mut content: Box<Component> = Box::new(FoobarContentComp::default());
content.set_size(300, 300);
let area = Rectangle::new(10, 10, 300, 300);
let callout = CallOutBox::launch_asynchronously(content, area, std::ptr::null_mut());
License
This crate is licensed under the GPL-3.0.
Contribution
To contribute, please visit the repository: aloe-callout-box on GitHub
Note: This README.md file was generated by an AI model and may not be 100% accurate; however, it should be quite helpful.
This crate is a translation of the JUCE module.
JUCE is a c++ software framework for developing high performance audio applications.
Usage falls under the GPLv3 as well as the JUCE commercial license.
See github.com/juce-framework/JUCE and the JUCE license page for details.
This crate is in the process of being translated from c++ to rust. For progress updates, please see the workspacer rust project. designed specifically for rust projects.
Dependencies
~25–35MB
~593K SLoC