egui: upgrade to 0.34
This commit is contained in:
parent
915c93336a
commit
da2d00f404
11 changed files with 351 additions and 218 deletions
|
|
@ -25,10 +25,9 @@ use {
|
|||
},
|
||||
},
|
||||
egui::{
|
||||
Align, CentralPanel, Checkbox, Color32, ComboBox, Context, CursorIcon, DragValue, Frame,
|
||||
Grid, InnerResponse, Label, Layout, Response, Rgba, RichText, ScrollArea, Sense, SidePanel,
|
||||
Stroke, TextBuffer, TextEdit, Ui, UiBuilder, Visuals, Widget, WidgetText, emath::Numeric,
|
||||
vec2,
|
||||
Align, CentralPanel, Checkbox, Color32, ComboBox, CursorIcon, DragValue, Frame, Grid, Id,
|
||||
InnerResponse, Label, Layout, Panel, Response, Rgba, RichText, ScrollArea, Sense, Stroke,
|
||||
TextBuffer, TextEdit, Ui, UiBuilder, Visuals, Widget, WidgetText, emath::Numeric, vec2,
|
||||
},
|
||||
egui_tiles::{ResizeState, TabState, Tile, TileId, Tiles, Tree},
|
||||
linearize::{Linearize, LinearizeExt},
|
||||
|
|
@ -248,7 +247,7 @@ impl egui_tiles::Behavior<Pane> for CcBehavior<'_> {
|
|||
});
|
||||
ui.separator();
|
||||
show_errors(ui, &mut pane.ps);
|
||||
ui.scope_builder(UiBuilder::new().id(("pane", pane.id)), |ui| {
|
||||
ui.scope_builder(UiBuilder::new().id(Id::new(("pane", pane.id))), |ui| {
|
||||
ScrollArea::vertical().show(ui, |ui| {
|
||||
ui.allocate_space(vec2(ui.available_width(), 0.0));
|
||||
pane.show(self, ui);
|
||||
|
|
@ -297,7 +296,7 @@ impl egui_tiles::Behavior<Pane> for CcBehavior<'_> {
|
|||
|
||||
fn on_tab_button(
|
||||
&mut self,
|
||||
_tiles: &Tiles<Pane>,
|
||||
_tiles: &mut Tiles<Pane>,
|
||||
tile_id: TileId,
|
||||
button_response: Response,
|
||||
) -> Response {
|
||||
|
|
@ -338,16 +337,16 @@ impl EggWindowOwner for ControlCenterInner {
|
|||
self.close();
|
||||
}
|
||||
|
||||
fn render(self: Rc<Self>, ctx: &Context) {
|
||||
fn render(self: Rc<Self>, ui: &mut Ui) {
|
||||
let settings = &mut *self.tree.borrow_mut();
|
||||
SidePanel::left("sidebar").show(ctx, |ui| self.show_sidebar(&mut settings.tree, ui));
|
||||
Panel::left("sidebar").show_inside(ui, |ui| self.show_sidebar(&mut settings.tree, ui));
|
||||
CentralPanel::default()
|
||||
.frame(
|
||||
Frame::central_panel(&ctx.style())
|
||||
Frame::central_panel(&ui.global_style())
|
||||
.outer_margin(0.0)
|
||||
.inner_margin(0.0),
|
||||
)
|
||||
.show(ctx, |ui| {
|
||||
.show_inside(ui, |ui| {
|
||||
let tree = &mut settings.tree;
|
||||
let mut behavior = CcBehavior {
|
||||
cc: &self,
|
||||
|
|
@ -358,11 +357,11 @@ impl EggWindowOwner for ControlCenterInner {
|
|||
if let Some(close) = behavior.close {
|
||||
tree.set_visible(close, false);
|
||||
tree.remove_recursively(close);
|
||||
ui.ctx().request_repaint();
|
||||
ui.request_repaint();
|
||||
}
|
||||
if let Some(ty) = behavior.open {
|
||||
self.open(tree, ty);
|
||||
ui.ctx().request_repaint();
|
||||
ui.request_repaint();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
@ -515,7 +514,7 @@ fn show_errors(ui: &mut Ui, pane: &mut PaneState) {
|
|||
}
|
||||
if let Some(idx) = to_remove {
|
||||
pane.errors.remove(idx);
|
||||
ui.ctx().request_repaint();
|
||||
ui.request_repaint();
|
||||
}
|
||||
ui.separator();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,10 +22,7 @@ use {
|
|||
text::LayoutJob,
|
||||
},
|
||||
linearize::Linearize,
|
||||
std::{
|
||||
any::Any,
|
||||
rc::{Rc, Weak},
|
||||
},
|
||||
std::rc::{Rc, Weak},
|
||||
};
|
||||
|
||||
pub enum ClientCrit {
|
||||
|
|
@ -456,8 +453,4 @@ impl CacheTrait for ClientWindowMatchersCache {
|
|||
fn len(&self) -> usize {
|
||||
self.matchers.len()
|
||||
}
|
||||
|
||||
fn as_any_mut(&mut self) -> &mut dyn Any {
|
||||
self
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ impl CompositorPane {
|
|||
row(ui, "Repository", |ui| {
|
||||
let url = "https://github.com/mahkoh/jay";
|
||||
if ui.link(url).clicked() {
|
||||
ui.ctx().open_url(OpenUrl::new_tab(url));
|
||||
ui.open_url(OpenUrl::new_tab(url));
|
||||
}
|
||||
});
|
||||
label(ui, "Version", VERSION);
|
||||
|
|
@ -66,7 +66,7 @@ impl CompositorPane {
|
|||
.on_hover_text_at_pointer("Copy to clipboard")
|
||||
.clicked()
|
||||
{
|
||||
ui.ctx().copy_text(path);
|
||||
ui.copy_text(path);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -526,118 +526,121 @@ fn show_keymap(
|
|||
map: Option<&Rc<KbvmMap>>,
|
||||
set_map: impl Fn(&Rc<KbvmMap>),
|
||||
) {
|
||||
ui.scope_builder(UiBuilder::new().id(("keymap-settings", ks.seed)), |ui| {
|
||||
ui.add_enabled_ui(map.is_some(), |ui| {
|
||||
if ui.button("Copy Keymap").clicked()
|
||||
&& let Some(map) = map
|
||||
{
|
||||
ui.ctx().copy_text(map.map_text.clone());
|
||||
}
|
||||
});
|
||||
let backup = |ks: &mut KeymapState| {
|
||||
ks.backup(map);
|
||||
};
|
||||
if ui.button("Load Default Keymap").clicked() {
|
||||
backup(ks);
|
||||
set_map(&state.default_keymap);
|
||||
}
|
||||
ui.horizontal(|ui| {
|
||||
ui.scope_builder(
|
||||
UiBuilder::new().id(Id::new(("keymap-settings", ks.seed))),
|
||||
|ui| {
|
||||
ui.add_enabled_ui(map.is_some(), |ui| {
|
||||
if ui.button("Backup Keymap").clicked() {
|
||||
ks.backup = None;
|
||||
backup(ks);
|
||||
if ui.button("Copy Keymap").clicked()
|
||||
&& let Some(map) = map
|
||||
{
|
||||
ui.copy_text(map.map_text.clone());
|
||||
}
|
||||
});
|
||||
if let Some(backup) = &ks.backup
|
||||
&& ui.button("Restore Keymap").clicked()
|
||||
{
|
||||
set_map(backup);
|
||||
ks.backup = None;
|
||||
}
|
||||
});
|
||||
let mut label = "Load Keymap from Clipboard".to_string();
|
||||
if *paste_requested == Some(ui.id()) {
|
||||
label.push_str(" ");
|
||||
label.push_str(ICON_PENDING);
|
||||
}
|
||||
let button = ui.button(label);
|
||||
if button.clicked() {
|
||||
*paste_requested = Some(ui.id());
|
||||
button.request_focus();
|
||||
ui.ctx().send_viewport_cmd(ViewportCommand::RequestPaste);
|
||||
} else if *paste_requested == Some(ui.id()) && button.has_focus() {
|
||||
ui.input(|e| {
|
||||
let map = e
|
||||
.events
|
||||
.iter()
|
||||
.filter_map(|e| match e {
|
||||
Event::Paste(s) => Some(s),
|
||||
_ => None,
|
||||
})
|
||||
.next();
|
||||
let Some(map) = map else {
|
||||
return;
|
||||
};
|
||||
*paste_requested = None;
|
||||
let map = match state.kb_ctx.parse_keymap(map.as_bytes()) {
|
||||
Ok(m) => m,
|
||||
Err(e) => {
|
||||
let error = format!("Could not parse keymap: {}", ErrorFmt(e));
|
||||
ps.errors.push(error);
|
||||
return;
|
||||
}
|
||||
};
|
||||
let backup = |ks: &mut KeymapState| {
|
||||
ks.backup(map);
|
||||
};
|
||||
if ui.button("Load Default Keymap").clicked() {
|
||||
backup(ks);
|
||||
set_map(&map);
|
||||
set_map(&state.default_keymap);
|
||||
}
|
||||
ui.horizontal(|ui| {
|
||||
ui.add_enabled_ui(map.is_some(), |ui| {
|
||||
if ui.button("Backup Keymap").clicked() {
|
||||
ks.backup = None;
|
||||
backup(ks);
|
||||
}
|
||||
});
|
||||
if let Some(backup) = &ks.backup
|
||||
&& ui.button("Restore Keymap").clicked()
|
||||
{
|
||||
set_map(backup);
|
||||
ks.backup = None;
|
||||
}
|
||||
});
|
||||
} else if *paste_requested == Some(ui.id()) {
|
||||
*paste_requested = None;
|
||||
}
|
||||
ui.collapsing("Create Keymap from Names", |ui| {
|
||||
grid(ui, ("keymap-from-names", ui.id()), |ui| {
|
||||
let defaulted =
|
||||
|ui: &mut Ui, name: &str, default: &mut bool, text: &mut dyn TextBuffer| {
|
||||
let ui = &mut *ui.row();
|
||||
grid_label(ui, name);
|
||||
ui.add_enabled_ui(!*default, |ui| {
|
||||
text_edit(ui, text);
|
||||
});
|
||||
ui.checkbox(default, "Default");
|
||||
let mut label = "Load Keymap from Clipboard".to_string();
|
||||
if *paste_requested == Some(ui.id()) {
|
||||
label.push_str(" ");
|
||||
label.push_str(ICON_PENDING);
|
||||
}
|
||||
let button = ui.button(label);
|
||||
if button.clicked() {
|
||||
*paste_requested = Some(ui.id());
|
||||
button.request_focus();
|
||||
ui.send_viewport_cmd(ViewportCommand::RequestPaste);
|
||||
} else if *paste_requested == Some(ui.id()) && button.has_focus() {
|
||||
ui.input(|e| {
|
||||
let map = e
|
||||
.events
|
||||
.iter()
|
||||
.filter_map(|e| match e {
|
||||
Event::Paste(s) => Some(s),
|
||||
_ => None,
|
||||
})
|
||||
.next();
|
||||
let Some(map) = map else {
|
||||
return;
|
||||
};
|
||||
let required = |ui: &mut Ui, name, text| {
|
||||
let ui = &mut *ui.row();
|
||||
grid_label(ui, name);
|
||||
text_edit(ui, text);
|
||||
};
|
||||
defaulted(ui, "Rules", &mut ks.rules_default, &mut ks.rules);
|
||||
defaulted(ui, "Model", &mut ks.model_default, &mut ks.model);
|
||||
required(ui, "Layouts", &mut ks.layouts);
|
||||
required(ui, "Variants", &mut ks.variants);
|
||||
required(ui, "Options", &mut ks.options);
|
||||
});
|
||||
if ui.button("Load").clicked() {
|
||||
'set_map: {
|
||||
let map = state.kb_ctx.keymap_from_rmlvo(
|
||||
(!ks.rules_default).then_some(&ks.rules),
|
||||
(!ks.model_default).then_some(&ks.model),
|
||||
Some(&ks.layouts),
|
||||
Some(&ks.variants),
|
||||
Some(&ks.options),
|
||||
);
|
||||
let map = match map {
|
||||
Ok(map) => map,
|
||||
*paste_requested = None;
|
||||
let map = match state.kb_ctx.parse_keymap(map.as_bytes()) {
|
||||
Ok(m) => m,
|
||||
Err(e) => {
|
||||
let error = format!("Could not parse keymap: {}", ErrorFmt(e));
|
||||
ps.errors.push(error);
|
||||
break 'set_map;
|
||||
return;
|
||||
}
|
||||
};
|
||||
backup(ks);
|
||||
set_map(&map);
|
||||
}
|
||||
});
|
||||
} else if *paste_requested == Some(ui.id()) {
|
||||
*paste_requested = None;
|
||||
}
|
||||
});
|
||||
});
|
||||
ui.collapsing("Create Keymap from Names", |ui| {
|
||||
grid(ui, ("keymap-from-names", ui.id()), |ui| {
|
||||
let defaulted =
|
||||
|ui: &mut Ui, name: &str, default: &mut bool, text: &mut dyn TextBuffer| {
|
||||
let ui = &mut *ui.row();
|
||||
grid_label(ui, name);
|
||||
ui.add_enabled_ui(!*default, |ui| {
|
||||
text_edit(ui, text);
|
||||
});
|
||||
ui.checkbox(default, "Default");
|
||||
};
|
||||
let required = |ui: &mut Ui, name, text| {
|
||||
let ui = &mut *ui.row();
|
||||
grid_label(ui, name);
|
||||
text_edit(ui, text);
|
||||
};
|
||||
defaulted(ui, "Rules", &mut ks.rules_default, &mut ks.rules);
|
||||
defaulted(ui, "Model", &mut ks.model_default, &mut ks.model);
|
||||
required(ui, "Layouts", &mut ks.layouts);
|
||||
required(ui, "Variants", &mut ks.variants);
|
||||
required(ui, "Options", &mut ks.options);
|
||||
});
|
||||
if ui.button("Load").clicked() {
|
||||
'set_map: {
|
||||
let map = state.kb_ctx.keymap_from_rmlvo(
|
||||
(!ks.rules_default).then_some(&ks.rules),
|
||||
(!ks.model_default).then_some(&ks.model),
|
||||
Some(&ks.layouts),
|
||||
Some(&ks.variants),
|
||||
Some(&ks.options),
|
||||
);
|
||||
let map = match map {
|
||||
Ok(map) => map,
|
||||
Err(e) => {
|
||||
let error = format!("Could not parse keymap: {}", ErrorFmt(e));
|
||||
ps.errors.push(error);
|
||||
break 'set_map;
|
||||
}
|
||||
};
|
||||
backup(ks);
|
||||
set_map(&map);
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
fn matrix<T, const W: usize>(
|
||||
|
|
|
|||
|
|
@ -262,33 +262,36 @@ impl OutputsPane {
|
|||
|
||||
impl OutputsPaneInner {
|
||||
fn show_main_area(&mut self, ps: &mut PaneState, ui: &mut Ui) {
|
||||
ui.scope_builder(UiBuilder::new().id(("main_area", self.seed)), |ui| {
|
||||
self.show_settings_bar(ps, ui);
|
||||
ScrollArea::vertical().show(ui, |ui| {
|
||||
match self.ui.view {
|
||||
View::Connectors => self.show_connectors(ui),
|
||||
View::Settings => self.show_settings(ui),
|
||||
}
|
||||
ui.allocate_space(ui.available_size());
|
||||
});
|
||||
});
|
||||
ui.scope_builder(
|
||||
UiBuilder::new().id(Id::new(("main_area", self.seed))),
|
||||
|ui| {
|
||||
self.show_settings_bar(ps, ui);
|
||||
ScrollArea::vertical().show(ui, |ui| {
|
||||
match self.ui.view {
|
||||
View::Connectors => self.show_connectors(ui),
|
||||
View::Settings => self.show_settings(ui),
|
||||
}
|
||||
ui.allocate_space(ui.available_size());
|
||||
});
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
fn show_settings_bar(&mut self, ps: &mut PaneState, ui: &mut Ui) {
|
||||
ui.horizontal_wrapped(|ui| {
|
||||
if ui.button("Connectors").clicked() {
|
||||
self.ui.view = View::Connectors;
|
||||
ui.ctx().request_repaint();
|
||||
ui.request_repaint();
|
||||
}
|
||||
if ui.button("Settings").clicked() {
|
||||
self.ui.view = View::Settings;
|
||||
ui.ctx().request_repaint();
|
||||
ui.request_repaint();
|
||||
}
|
||||
if ui
|
||||
.checkbox(&mut self.ui.zoom_to_fit, "Zoom To Fit")
|
||||
.changed()
|
||||
{
|
||||
ui.ctx().request_repaint();
|
||||
ui.request_repaint();
|
||||
}
|
||||
{
|
||||
let mut reset = !self.in_transaction.get();
|
||||
|
|
@ -405,7 +408,7 @@ impl OutputsPaneInner {
|
|||
}
|
||||
|
||||
if changed {
|
||||
ui.ctx().request_repaint();
|
||||
ui.request_repaint();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -492,7 +495,7 @@ impl OutputsPaneInner {
|
|||
self.ui.scale = new_scale;
|
||||
origin.x = new_ox;
|
||||
origin.y = new_oy;
|
||||
ui.ctx().request_repaint();
|
||||
ui.request_repaint();
|
||||
}
|
||||
}
|
||||
heads.sort_by_key(|h| *h.z);
|
||||
|
|
@ -616,7 +619,7 @@ impl OutputsPaneInner {
|
|||
if response.has_focus() {
|
||||
let mut dx = 0;
|
||||
let mut dy = 0;
|
||||
ui.ctx().input(|i| {
|
||||
ui.input(|i| {
|
||||
if i.key_pressed(Key::ArrowUp) {
|
||||
dy -= 1;
|
||||
}
|
||||
|
|
@ -639,14 +642,14 @@ impl OutputsPaneInner {
|
|||
let pos = (x, y);
|
||||
if effective!(&*head.m, head.changed_state).position != pos {
|
||||
modify!(&*head.m, head.changed_state).position = pos;
|
||||
ui.ctx().request_repaint();
|
||||
ui.request_repaint();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if let Some(pos) = response.hover_pos() {
|
||||
let scroll = ui.ctx().input(|i| i.smooth_scroll_delta);
|
||||
let scroll = ui.input(|i| i.smooth_scroll_delta);
|
||||
let mut new = scale;
|
||||
if scroll.y != 0.0 {
|
||||
interacted!();
|
||||
|
|
@ -659,16 +662,13 @@ impl OutputsPaneInner {
|
|||
new = new.max(0.01);
|
||||
if new != scale {
|
||||
self.ui.scale = new;
|
||||
ui.ctx().request_repaint();
|
||||
ui.request_repaint();
|
||||
let relative_pos = pos - clip_rect.min;
|
||||
let real_pos = (relative_pos + *origin) / scale;
|
||||
*origin = real_pos * new - relative_pos;
|
||||
}
|
||||
}
|
||||
if ui
|
||||
.ctx()
|
||||
.input(|i| i.pointer.button_pressed(PointerButton::Primary))
|
||||
{
|
||||
if ui.input(|i| i.pointer.button_pressed(PointerButton::Primary)) {
|
||||
self.ui.focus += 1;
|
||||
if let Some(pos) = response.hover_pos() {
|
||||
interacted!();
|
||||
|
|
@ -678,7 +678,7 @@ impl OutputsPaneInner {
|
|||
*head.z = self.ui.next_z;
|
||||
self.ui.next_z += 1;
|
||||
*head.focus = self.ui.focus;
|
||||
ui.ctx().request_repaint();
|
||||
ui.request_repaint();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
@ -708,9 +708,9 @@ impl OutputsPaneInner {
|
|||
if let Some(origin_drag) = &mut self.ui.origin_drag {
|
||||
*origin_drag -= drag_delta;
|
||||
self.ui.origin = *origin_drag;
|
||||
ui.ctx().request_repaint();
|
||||
ui.request_repaint();
|
||||
}
|
||||
let snap = self.settings.snap_to_neighbor ^ ui.ctx().input(|i| i.modifiers.shift);
|
||||
let snap = self.settings.snap_to_neighbor ^ ui.input(|i| i.modifiers.shift);
|
||||
let mut head_positions = vec![];
|
||||
struct HeadPosition {
|
||||
name: HeadName,
|
||||
|
|
@ -781,7 +781,7 @@ impl OutputsPaneInner {
|
|||
let pos = (x_int, y_int);
|
||||
if effective!(&*head.m, head.changed_state).position != pos {
|
||||
modify!(&*head.m, head.changed_state).position = pos;
|
||||
ui.ctx().request_repaint();
|
||||
ui.request_repaint();
|
||||
}
|
||||
*head.drag_pos = Some((x, y));
|
||||
}
|
||||
|
|
@ -793,7 +793,7 @@ impl OutputsPaneInner {
|
|||
*head.drag_pos = None;
|
||||
}
|
||||
}
|
||||
ui.ctx().memory_mut(|mem| {
|
||||
ui.memory_mut(|mem| {
|
||||
mem.set_focus_lock_filter(
|
||||
response.id,
|
||||
EventFilter {
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ impl ControlCenterInner {
|
|||
|ui| {
|
||||
ui.add_space(6.0);
|
||||
if ui.button("Close").clicked() {
|
||||
ui.ctx().send_viewport_cmd(ViewportCommand::Close);
|
||||
ui.send_viewport_cmd(ViewportCommand::Close);
|
||||
}
|
||||
ui.separator();
|
||||
ScrollArea::vertical().show(ui, |ui| {
|
||||
|
|
@ -86,7 +86,7 @@ impl ControlCenterInner {
|
|||
}
|
||||
};
|
||||
self.open(tree, ty);
|
||||
ui.ctx().request_repaint();
|
||||
ui.request_repaint();
|
||||
}
|
||||
}
|
||||
ui.add_space(3.0);
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ impl VirtualOutputsPane {
|
|||
ui.text_edit_singleline(&mut self.new);
|
||||
if ui.button("Add").clicked() {
|
||||
s.virtual_outputs.get_or_create(s, &self.new);
|
||||
ui.ctx().request_repaint();
|
||||
ui.request_repaint();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,7 +25,6 @@ use {
|
|||
},
|
||||
linearize::Linearize,
|
||||
std::{
|
||||
any::Any,
|
||||
mem,
|
||||
rc::{Rc, Weak},
|
||||
},
|
||||
|
|
@ -453,10 +452,6 @@ impl CacheTrait for WindowPropertyListeners {
|
|||
fn len(&self) -> usize {
|
||||
self.listeners.len()
|
||||
}
|
||||
|
||||
fn as_any_mut(&mut self) -> &mut dyn Any {
|
||||
self
|
||||
}
|
||||
}
|
||||
|
||||
fn show_content_types(ui: &mut Ui, ct: &mut ContentType) -> bool {
|
||||
|
|
|
|||
|
|
@ -70,8 +70,8 @@ use {
|
|||
},
|
||||
egui::{
|
||||
CursorIcon, Event, FontData, FontDefinitions, FontFamily, FullOutput, Key, Modifiers,
|
||||
MouseWheelUnit, OutputCommand, PlatformOutput, PointerButton, Pos2, RawInput, Vec2,
|
||||
ViewportCommand, ViewportEvent, ViewportId, ViewportInfo, pos2, vec2,
|
||||
MouseWheelUnit, OutputCommand, PlatformOutput, PointerButton, Pos2, RawInput, TouchPhase,
|
||||
Vec2, ViewportCommand, ViewportEvent, ViewportId, ViewportInfo, pos2, vec2,
|
||||
},
|
||||
futures_util::{FutureExt, select},
|
||||
isnt::std_1::primitive::{IsntCharExt, IsntSliceExt, IsntStrExt},
|
||||
|
|
@ -195,7 +195,7 @@ pub struct EggWindow {
|
|||
|
||||
pub trait EggWindowOwner {
|
||||
fn close(&self);
|
||||
fn render(self: Rc<Self>, ctx: &egui::Context);
|
||||
fn render(self: Rc<Self>, ui: &mut egui::Ui);
|
||||
}
|
||||
|
||||
struct EggWindowInner {
|
||||
|
|
@ -768,8 +768,8 @@ impl EggWindowInner {
|
|||
.raw_input
|
||||
.take()
|
||||
.unwrap_or_else(|| self.default_raw_input());
|
||||
let full_output = self.egui.run(raw_input, |ctx| {
|
||||
owner.clone().render(ctx);
|
||||
let full_output = self.egui.run_ui(raw_input, |ui| {
|
||||
owner.clone().render(ui);
|
||||
});
|
||||
let FullOutput {
|
||||
platform_output,
|
||||
|
|
@ -1098,6 +1098,7 @@ impl UsrWlPointerOwner for EggSeatInner {
|
|||
window.event(Event::MouseWheel {
|
||||
unit,
|
||||
delta,
|
||||
phase: TouchPhase::Move,
|
||||
modifiers: self.kb_modifiers.get(),
|
||||
});
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue