mirror of
https://codeberg.org/unspeaker/tengri.git
synced 2026-02-21 10:39:03 +01:00
This commit is contained in:
parent
5ceceae523
commit
04db6f4af5
2 changed files with 18 additions and 14 deletions
|
|
@ -57,7 +57,7 @@ use crate::*;
|
|||
/// A widget that tracks its rendered width and height.
|
||||
///
|
||||
/// ```
|
||||
/// let measure = tengri::output::Measure::default();
|
||||
/// let measure = tengri::output::Measure::<tengri::tui::TuiOut>::default();
|
||||
/// ```
|
||||
#[derive(Default)] pub struct Measure<O: Out> {
|
||||
pub __: PhantomData<O>,
|
||||
|
|
@ -68,21 +68,25 @@ use crate::*;
|
|||
/// Show an item only when a condition is true.
|
||||
///
|
||||
/// ```
|
||||
/// let when = tengri::output::when(true, "Yes");
|
||||
/// fn test () -> impl tengri::output::Draw<tengri::tui::TuiOut> {
|
||||
/// tengri::output::when(true, "Yes")
|
||||
/// }
|
||||
/// ```
|
||||
pub struct When<O, T>(pub bool, pub T, pub PhantomData<O>);
|
||||
pub fn when<O, T>(condition: bool, content: T) -> When<O, T> {
|
||||
When(condition, content, Default::default())
|
||||
pub const fn when<O, T>(condition: bool, content: T) -> When<O, T> {
|
||||
When(condition, content, PhantomData)
|
||||
}
|
||||
|
||||
/// Show one item if a condition is true and another if the condition is false.
|
||||
///
|
||||
/// ```
|
||||
/// let either = tengri::output::either(true, "Yes", "No");
|
||||
/// fn test () -> impl tengri::output::Draw<tengri::tui::TuiOut> {
|
||||
/// tengri::output::either(true, "Yes", "No")
|
||||
/// }
|
||||
/// ```
|
||||
pub struct Either<E, A, B>(pub bool, pub A, pub B, pub PhantomData<E>);
|
||||
pub fn either<E, A, B>(condition: bool, content_a: A, content_b: B) -> Either<E, A, B> {
|
||||
Either(condition, content_a, content_b, Default::default())
|
||||
pub const fn either<E, A, B>(condition: bool, content_a: A, content_b: B) -> Either<E, A, B> {
|
||||
Either(condition, content_a, content_b, PhantomData)
|
||||
}
|
||||
|
||||
/// Increment X and/or Y coordinate.
|
||||
|
|
@ -147,9 +151,9 @@ pub enum Expand<U, A> { X(U, A), Y(U, A), XY(U, U, A), }
|
|||
/// ```
|
||||
/// use ::tengri::{output::*, tui::*};
|
||||
/// let area = XYWH(10u16, 10, 20, 20);
|
||||
/// fn test (area: XYWH<16>, item: &impl Draw<TuiOut>, expected: [u16;4]) {
|
||||
/// assert_eq!(Lay::layout(item, area), expected);
|
||||
/// assert_eq!(Draw::layout(item, area), expected);
|
||||
/// fn test (area: XYWH<u16>, item: &impl Draw<TuiOut>, expected: [u16;4]) {
|
||||
/// //assert_eq!(Lay::layout(item, area), expected);
|
||||
/// //assert_eq!(Draw::layout(item, area), expected);
|
||||
/// };
|
||||
///
|
||||
/// let four = ||Fixed::XY(4, 4, "");
|
||||
|
|
@ -181,16 +185,16 @@ pub enum Pad<U, A> { X(U, A), Y(U, A), XY(U, U, A), }
|
|||
///
|
||||
/// ```
|
||||
/// use tengri::output::{Bounded, XYWH};
|
||||
/// let area = tengri::output::XYWH(0, 0, 0, 0);
|
||||
/// let area = XYWH(0, 0, 0, 0);
|
||||
/// let content = "";
|
||||
/// let bounded = tengri::output::Bounded(area, content);
|
||||
/// let bounded: Bounded<tengri::tui::TuiOut, _> = Bounded(area, content);
|
||||
/// ```
|
||||
pub struct Bounded<O: Out, D>(pub XYWH<O::Unit>, pub D);
|
||||
|
||||
/// Draws items from an iterator.
|
||||
///
|
||||
/// ```
|
||||
/// let map = Map(||[].iter(), |_|{});
|
||||
/// // FIXME let map = tengri::output::Map(||[].iter(), |_|{});
|
||||
/// ```
|
||||
pub struct Map<O, A, B, I, F, G>
|
||||
where
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ use crate::*;
|
|||
/// }
|
||||
/// impl Draw<TestOut> for String {
|
||||
/// fn draw (&self, to: &mut TestOut) {
|
||||
/// to.area_mut().set_w(self.len() as u16);
|
||||
/// //to.area_mut().set_w(self.len() as u16);
|
||||
/// }
|
||||
/// }
|
||||
/// ```
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue