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