switch to element defined span lens + better size fn
This commit is contained in:
@@ -8,6 +8,7 @@ use ui::prelude::*;
|
||||
use winit::{event::WindowEvent, event_loop::ActiveEventLoop, window::Window};
|
||||
|
||||
use crate::testing::input::Input;
|
||||
use len_fns::*;
|
||||
|
||||
mod app;
|
||||
mod input;
|
||||
@@ -42,39 +43,35 @@ impl Client {
|
||||
let pad_test = (
|
||||
rrect.color(Color::BLUE),
|
||||
(
|
||||
rrect.color(Color::RED).sized(100).center(),
|
||||
rrect
|
||||
.color(Color::RED)
|
||||
.sized((100, 100))
|
||||
.center()
|
||||
.width(rest(2)),
|
||||
(
|
||||
rrect.color(Color::ORANGE),
|
||||
rrect.color(Color::LIME).pad(10.0),
|
||||
)
|
||||
.span(Dir::RIGHT, ratio(1)),
|
||||
.span(Dir::RIGHT)
|
||||
.width(rest(2)),
|
||||
rrect.color(Color::YELLOW),
|
||||
)
|
||||
.span(Dir::RIGHT, [2, 2, 1])
|
||||
.pad(10),
|
||||
.span(Dir::RIGHT)
|
||||
.pad(10)
|
||||
.width(rest(3)),
|
||||
)
|
||||
.span(Dir::RIGHT, [1, 3])
|
||||
.span(Dir::RIGHT)
|
||||
.add_static(&mut ui);
|
||||
|
||||
let span_test = (
|
||||
rrect.color(Color::GREEN),
|
||||
rrect.color(Color::GREEN).width(100),
|
||||
rrect.color(Color::ORANGE),
|
||||
rrect.color(Color::CYAN),
|
||||
rrect.color(Color::BLUE),
|
||||
rrect.color(Color::MAGENTA),
|
||||
rrect.color(Color::RED),
|
||||
rrect.color(Color::BLUE).width(rel(0.5)),
|
||||
rrect.color(Color::MAGENTA).width(100),
|
||||
rrect.color(Color::RED).width(100),
|
||||
)
|
||||
.span(
|
||||
Dir::LEFT,
|
||||
[
|
||||
fixed(100),
|
||||
ratio(1),
|
||||
ratio(1),
|
||||
relative(0.5),
|
||||
fixed(100),
|
||||
fixed(100),
|
||||
],
|
||||
)
|
||||
.span(Dir::LEFT)
|
||||
.add_static(&mut ui);
|
||||
|
||||
let span_add = Span::empty(Dir::RIGHT).add_static(&mut ui);
|
||||
@@ -86,9 +83,9 @@ impl Client {
|
||||
.ui
|
||||
.add(image(include_bytes!("assets/sungals.png")).center())
|
||||
.any();
|
||||
ctx.ui[span_add].children.push((child, sized()));
|
||||
ctx.ui[span_add].children.push(child);
|
||||
})
|
||||
.sized(150)
|
||||
.sized((150, 150))
|
||||
.align(Align::BotRight);
|
||||
|
||||
let del_button = rect(Color::RED)
|
||||
@@ -96,7 +93,7 @@ impl Client {
|
||||
.on(CursorSense::click(), move |ctx: &mut Client, _| {
|
||||
ctx.ui[span_add].children.pop();
|
||||
})
|
||||
.sized(150)
|
||||
.sized((150, 150))
|
||||
.align(Align::BotLeft);
|
||||
|
||||
let span_add_test = (span_add, add_button, del_button)
|
||||
@@ -117,18 +114,18 @@ impl Client {
|
||||
btext("'").family(Family::Monospace).align(Align::Top),
|
||||
btext("'").family(Family::Monospace),
|
||||
btext(":gamer mode").family(Family::Monospace),
|
||||
rect(Color::CYAN).sized(10).center(),
|
||||
rect(Color::RED).sized(100).center(),
|
||||
rect(Color::PURPLE).sized(50).align(Align::Top),
|
||||
rect(Color::CYAN).sized((10, 10)).center(),
|
||||
rect(Color::RED).sized((100, 100)).center(),
|
||||
rect(Color::PURPLE).sized((50, 50)).align(Align::Top),
|
||||
)
|
||||
.span(Dir::RIGHT, sized())
|
||||
.span(Dir::RIGHT)
|
||||
.center(),
|
||||
text("pretty cool right?").size(50),
|
||||
)
|
||||
.span(Dir::DOWN, sized())
|
||||
.span(Dir::DOWN)
|
||||
.add_static(&mut ui);
|
||||
|
||||
let texts = Span::empty(Dir::DOWN).add_static(&mut ui);
|
||||
let texts = Span::empty(Dir::DOWN).spacing(10).add_static(&mut ui);
|
||||
let msg_area = (Rect::new(Color::SKY), texts.scroll().masked()).stack();
|
||||
let add_text = text("add")
|
||||
.editable()
|
||||
@@ -153,7 +150,7 @@ impl Client {
|
||||
.stack()
|
||||
.size(StackSize::Child(1))
|
||||
.add(&mut client.ui);
|
||||
client.ui[texts].children.push((msg_box.any(), sized()));
|
||||
client.ui[texts].children.push(msg_box.any());
|
||||
})
|
||||
.add(&mut ui);
|
||||
let text_edit_scroll = (
|
||||
@@ -161,14 +158,14 @@ impl Client {
|
||||
(
|
||||
Rect::new(Color::WHITE.darker(0.9)),
|
||||
(
|
||||
add_text.clone(),
|
||||
add_text.clone().width(rest(1)),
|
||||
Rect::new(Color::GREEN)
|
||||
.on(CursorSense::click(), move |client: &mut Client, _| {
|
||||
client.run_event(&add_text, Submit, ());
|
||||
})
|
||||
.sized(40),
|
||||
.sized((40, 40)),
|
||||
)
|
||||
.span(Dir::RIGHT, [ratio(1), sized()])
|
||||
.span(Dir::RIGHT)
|
||||
.pad(10),
|
||||
)
|
||||
.stack()
|
||||
@@ -176,7 +173,7 @@ impl Client {
|
||||
.offset_layer(1)
|
||||
.align(Align::Bot),
|
||||
)
|
||||
.span(Dir::DOWN, [ratio(1), sized()])
|
||||
.span(Dir::DOWN)
|
||||
.add_static(&mut ui);
|
||||
|
||||
let switch_button = |color, to, label| {
|
||||
@@ -208,15 +205,12 @@ impl Client {
|
||||
"text edit scroll",
|
||||
),
|
||||
)
|
||||
.span(Dir::RIGHT, ratio(1));
|
||||
.span(Dir::RIGHT);
|
||||
|
||||
let info = text("").add(&mut ui);
|
||||
let info_sect = info.clone().pad(10).align(Align::Right);
|
||||
|
||||
(
|
||||
(tabs, main).span(Dir::DOWN, [fixed(40), ratio(1)]),
|
||||
info_sect,
|
||||
)
|
||||
((tabs.height(40), main).span(Dir::DOWN), info_sect)
|
||||
.stack()
|
||||
.set_root(&mut ui);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user