update iris
This commit is contained in:
24
Cargo.lock
generated
24
Cargo.lock
generated
@@ -1459,16 +1459,36 @@ name = "iris"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"arboard",
|
||||
"bytemuck",
|
||||
"cosmic-text",
|
||||
"fxhash",
|
||||
"image",
|
||||
"iris-core",
|
||||
"iris-macro",
|
||||
"pollster",
|
||||
"unicode-segmentation",
|
||||
"wgpu",
|
||||
"winit",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "iris-core"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"bytemuck",
|
||||
"cosmic-text",
|
||||
"fxhash",
|
||||
"image",
|
||||
"wgpu",
|
||||
"winit",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "iris-macro"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "is_terminal_polyfill"
|
||||
version = "1.70.2"
|
||||
|
||||
2
iris
2
iris
Submodule iris updated: 434e3c3af7...e44bb8eca4
@@ -1,5 +1,5 @@
|
||||
use crate::Client;
|
||||
use iris::{prelude::*, winit::UiState};
|
||||
use iris::prelude::*;
|
||||
|
||||
pub fn debug(_client: &mut Client, ui: &mut Ui, _state: &UiState) {
|
||||
ui.debug_layers();
|
||||
|
||||
@@ -6,7 +6,7 @@ use crate::{
|
||||
state::{ClientState, LoggedIn, Login},
|
||||
ui::*,
|
||||
};
|
||||
use iris::{prelude::*, winit::*};
|
||||
use iris::prelude::*;
|
||||
use openworm::{
|
||||
net::{ClientMsg, ServerMsg, install_crypto_provider},
|
||||
rsc::DataDir,
|
||||
@@ -76,7 +76,7 @@ impl DefaultAppState for Client {
|
||||
notif,
|
||||
proxy,
|
||||
};
|
||||
start_screen(&mut s, ui).set_ptr(&s.main_ui, ui);
|
||||
start_ui(&mut s, ui).set_ptr(&s.main_ui, ui);
|
||||
s
|
||||
}
|
||||
|
||||
@@ -101,7 +101,7 @@ impl DefaultAppState for Client {
|
||||
&& let Some(msg_area) = &state.channel
|
||||
{
|
||||
let msg = msg_widget(&msg.user, &msg.content).add(ui);
|
||||
msg_area.get_mut().children.push(msg.any());
|
||||
msg_area.get_mut().children.push(msg);
|
||||
}
|
||||
}
|
||||
ServerMsg::LoadMsgs(msgs) => {
|
||||
@@ -111,7 +111,7 @@ impl DefaultAppState for Client {
|
||||
for msg in msgs {
|
||||
state.msgs.push(msg.clone());
|
||||
let msg = msg_widget(&msg.user, &msg.content).add(ui);
|
||||
msg_area.get_mut().children.push(msg.any());
|
||||
msg_area.get_mut().children.push(msg);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
use super::*;
|
||||
|
||||
pub fn start_screen(client: &mut Client, ui: &mut Ui) -> WidgetRef {
|
||||
pub fn start_ui(client: &mut Client, ui: &mut Ui) -> WidgetRef {
|
||||
let mut accounts = Span::empty(Dir::DOWN);
|
||||
|
||||
accounts.push(
|
||||
@@ -9,8 +9,7 @@ pub fn start_screen(client: &mut Client, ui: &mut Ui) -> WidgetRef {
|
||||
.center_text()
|
||||
.color(Color::GRAY)
|
||||
.height(60)
|
||||
.add(ui)
|
||||
.any(),
|
||||
.add(ui),
|
||||
);
|
||||
|
||||
let connect = Button::submit("connect", ui);
|
||||
@@ -22,6 +21,14 @@ pub fn start_screen(client: &mut Client, ui: &mut Ui) -> WidgetRef {
|
||||
create_.disable();
|
||||
});
|
||||
|
||||
let connect_ = connect.clone();
|
||||
let create_ = create.clone();
|
||||
ui.on(create.view(), Submit, move |ctx| {
|
||||
connect_.disable();
|
||||
create_.disable();
|
||||
create_ui(ctx.ui).set_ptr(&ctx.state.main_ui, ctx.ui);
|
||||
});
|
||||
|
||||
(
|
||||
wtext("Select Account").text_align(Align::CENTER).size(30),
|
||||
accounts,
|
||||
@@ -29,12 +36,12 @@ pub fn start_screen(client: &mut Client, ui: &mut Ui) -> WidgetRef {
|
||||
)
|
||||
.span(Dir::DOWN)
|
||||
.gap(30)
|
||||
.pad(15)
|
||||
.background(rect(color::MODAL_BG).radius(15))
|
||||
.width(400)
|
||||
.align(Align::CENTER)
|
||||
.modal(400)
|
||||
.add(ui)
|
||||
.any()
|
||||
}
|
||||
|
||||
pub fn create_ui(ui: &mut Ui) -> WidgetRef {
|
||||
wtext("hi").add(ui)
|
||||
}
|
||||
|
||||
// pub fn connect_screen(client: &mut Client, ui: &mut Ui, state: &UiState) -> WidgetRef {
|
||||
@@ -77,7 +84,6 @@ pub fn start_screen(client: &mut Client, ui: &mut Ui) -> WidgetRef {
|
||||
// .width(400)
|
||||
// .align(Align::CENTER)
|
||||
// .add(ui)
|
||||
// .any()
|
||||
// }
|
||||
|
||||
// pub fn login_screen(client: &mut Client, ui: &mut Ui) -> WidgetRef {
|
||||
@@ -142,5 +148,4 @@ pub fn start_screen(client: &mut Client, ui: &mut Ui) -> WidgetRef {
|
||||
// .width(400)
|
||||
// .align(Align::CENTER)
|
||||
// .add(ui)
|
||||
// .any()
|
||||
// }
|
||||
@@ -11,7 +11,7 @@ pub fn main_view(client: &mut Client, ui: &mut Ui) -> WidgetRef {
|
||||
let msg_panel = msg_panel(ui, state);
|
||||
let side_bar = rect(Color::BLACK.brighter(0.05)).width(80);
|
||||
|
||||
(side_bar, msg_panel).span(Dir::RIGHT).add(ui).any()
|
||||
(side_bar, msg_panel).span(Dir::RIGHT).add(ui)
|
||||
}
|
||||
|
||||
pub fn msg_widget(username: &str, content: &str) -> impl WidgetRet {
|
||||
@@ -36,7 +36,7 @@ pub fn msg_widget(username: &str, content: &str) -> impl WidgetRet {
|
||||
.to_any()
|
||||
}
|
||||
|
||||
pub fn msg_panel(ui: &mut Ui, state: &mut LoggedIn) -> impl WidgetRet + use<> {
|
||||
pub fn msg_panel(ui: &mut Ui, state: &mut LoggedIn) -> WidgetRef {
|
||||
let msg_area = Span::empty(Dir::DOWN).gap(15).add(ui);
|
||||
state.channel = Some(msg_area.clone());
|
||||
|
||||
@@ -65,7 +65,7 @@ pub fn msg_panel(ui: &mut Ui, state: &mut LoggedIn) -> impl WidgetRet + use<> {
|
||||
};
|
||||
state.network.send(ClientMsg::SendMsg(msg.clone()));
|
||||
let msg = msg_widget(&state.username, &content).add(ctx.ui);
|
||||
msg_area.get_mut().children.push(msg.any());
|
||||
msg_area.get_mut().children.push(msg);
|
||||
})
|
||||
.pad(15)
|
||||
.attr::<Selector>(send_text)
|
||||
@@ -78,5 +78,5 @@ pub fn msg_panel(ui: &mut Ui, state: &mut LoggedIn) -> impl WidgetRet + use<> {
|
||||
)
|
||||
.span(Dir::DOWN)
|
||||
.width(rest(1))
|
||||
.to_any()
|
||||
.add(ui)
|
||||
}
|
||||
|
||||
@@ -6,7 +6,6 @@ pub fn werror(ui: &mut Ui, msg: &str) -> WidgetRef {
|
||||
.pad(10)
|
||||
.background(rect(Color::RED).radius(10))
|
||||
.add(ui)
|
||||
.any()
|
||||
}
|
||||
|
||||
pub fn hint(msg: impl Into<String>) -> TextBuilder {
|
||||
@@ -28,7 +27,6 @@ pub fn field_box(field: WidgetRef<TextEdit>, ui: &mut Ui) -> WidgetRef {
|
||||
.background(rect(Color::BLACK.brighter(0.1)).radius(15))
|
||||
.attr::<Selector>(field)
|
||||
.add(ui)
|
||||
.any()
|
||||
}
|
||||
|
||||
#[derive(Clone)]
|
||||
@@ -70,8 +68,7 @@ impl Button {
|
||||
})
|
||||
.height(60)
|
||||
.foreground(wtext(text).size(25).text_align(Align::CENTER))
|
||||
.add(ui)
|
||||
.any();
|
||||
.add(ui);
|
||||
let root_ = root.clone();
|
||||
let enabled_ = enabled.clone();
|
||||
rect.clone()
|
||||
@@ -100,3 +97,17 @@ impl Button {
|
||||
self.rect.get_mut().color = self.color.darker(0.8);
|
||||
}
|
||||
}
|
||||
|
||||
widget_trait! {
|
||||
pub Stuff;
|
||||
fn modal(self, width: impl UiNum) -> impl WidgetIdFn {
|
||||
|ui| {
|
||||
self
|
||||
.pad(15)
|
||||
.background(rect(color::MODAL_BG).radius(15))
|
||||
.width(width)
|
||||
.align(Align::CENTER)
|
||||
.add(ui)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,12 +2,12 @@ use crate::Client;
|
||||
use iris::prelude::*;
|
||||
use len_fns::*;
|
||||
|
||||
mod login;
|
||||
mod connect;
|
||||
mod main;
|
||||
mod misc;
|
||||
pub mod color;
|
||||
|
||||
pub use login::*;
|
||||
pub use connect::*;
|
||||
pub use main::*;
|
||||
pub use misc::*;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user