hint gaming

This commit is contained in:
2025-11-21 20:18:29 -05:00
parent c0de059241
commit 528a7503fc
5 changed files with 216 additions and 189 deletions

33
src/bin/client/ui/misc.rs Normal file
View File

@@ -0,0 +1,33 @@
use super::*;
pub fn error(ui: &mut Ui, msg: &str) -> WidgetId {
text(msg)
.size(20)
.color(Color::RED.brighter(0.3))
.pad(10)
.add(ui)
.any()
}
pub fn focus(id: WidgetId<TextEdit>, client: &mut Client, data: CursorData) {
client.ui.text(&id).select(data.cursor, data.size);
if let Some(region) = client.ui.window_region(&id) {
client.handle.window.set_ime_allowed(true);
client.handle.window.set_ime_cursor_area(
LogicalPosition::<f32>::from(region.top_left.tuple()),
LogicalSize::<f32>::from(region.size().tuple()),
);
}
client.focus = Some(id);
}
pub fn focus_other(id: WidgetId<TextEdit>) -> impl Fn(&mut Client, CursorData) {
move |client: &mut Client, data: CursorData| {
focus(id.clone(), client, data);
}
}
pub fn hint(msg: impl Into<String>) -> TextBuilder {
text(msg).size(20).color(Color::GRAY)
}