Make sure `native_pixels_per_point` is set during app creation (#7683)
Useful for things like analytics
This commit is contained in:
parent
9253acd7f3
commit
0b9bb5f494
|
|
@ -1041,11 +1041,23 @@ impl GlutinWindowContext {
|
||||||
|
|
||||||
let mut viewport_from_window = HashMap::default();
|
let mut viewport_from_window = HashMap::default();
|
||||||
let mut window_from_viewport = OrderedViewportIdMap::default();
|
let mut window_from_viewport = OrderedViewportIdMap::default();
|
||||||
let mut info = ViewportInfo::default();
|
let mut viewport_info = ViewportInfo::default();
|
||||||
if let Some(window) = &window {
|
if let Some(window) = &window {
|
||||||
viewport_from_window.insert(window.id(), ViewportId::ROOT);
|
viewport_from_window.insert(window.id(), ViewportId::ROOT);
|
||||||
window_from_viewport.insert(ViewportId::ROOT, window.id());
|
window_from_viewport.insert(ViewportId::ROOT, window.id());
|
||||||
egui_winit::update_viewport_info(&mut info, egui_ctx, window, true);
|
egui_winit::update_viewport_info(&mut viewport_info, egui_ctx, window, true);
|
||||||
|
|
||||||
|
// Tell egui right away about native_pixels_per_point etc,
|
||||||
|
// so that the app knows about it during app creation:
|
||||||
|
let pixels_per_point = egui_winit::pixels_per_point(egui_ctx, window);
|
||||||
|
|
||||||
|
egui_ctx.input_mut(|i| {
|
||||||
|
i.raw
|
||||||
|
.viewports
|
||||||
|
.insert(ViewportId::ROOT, viewport_info.clone());
|
||||||
|
|
||||||
|
i.pixels_per_point = pixels_per_point;
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
let mut viewports = OrderedViewportIdMap::default();
|
let mut viewports = OrderedViewportIdMap::default();
|
||||||
|
|
@ -1056,7 +1068,7 @@ impl GlutinWindowContext {
|
||||||
class: ViewportClass::Root,
|
class: ViewportClass::Root,
|
||||||
builder: viewport_builder,
|
builder: viewport_builder,
|
||||||
deferred_commands: vec![],
|
deferred_commands: vec![],
|
||||||
info,
|
info: viewport_info,
|
||||||
actions_requested: Default::default(),
|
actions_requested: Default::default(),
|
||||||
viewport_ui_cb: None,
|
viewport_ui_cb: None,
|
||||||
gl_surface: None,
|
gl_surface: None,
|
||||||
|
|
|
||||||
|
|
@ -199,6 +199,22 @@ impl<'app> WgpuWinitApp<'app> {
|
||||||
},
|
},
|
||||||
));
|
));
|
||||||
|
|
||||||
|
let mut viewport_info = ViewportInfo::default();
|
||||||
|
egui_winit::update_viewport_info(&mut viewport_info, &egui_ctx, &window, true);
|
||||||
|
|
||||||
|
{
|
||||||
|
// Tell egui right away about native_pixels_per_point etc,
|
||||||
|
// so that the app knows about it during app creation:
|
||||||
|
let pixels_per_point = egui_winit::pixels_per_point(&egui_ctx, &window);
|
||||||
|
|
||||||
|
egui_ctx.input_mut(|i| {
|
||||||
|
i.raw
|
||||||
|
.viewports
|
||||||
|
.insert(ViewportId::ROOT, viewport_info.clone());
|
||||||
|
i.pixels_per_point = pixels_per_point;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
let window = Arc::new(window);
|
let window = Arc::new(window);
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
@ -278,9 +294,6 @@ impl<'app> WgpuWinitApp<'app> {
|
||||||
let mut viewport_from_window = HashMap::default();
|
let mut viewport_from_window = HashMap::default();
|
||||||
viewport_from_window.insert(window.id(), ViewportId::ROOT);
|
viewport_from_window.insert(window.id(), ViewportId::ROOT);
|
||||||
|
|
||||||
let mut info = ViewportInfo::default();
|
|
||||||
egui_winit::update_viewport_info(&mut info, &egui_ctx, &window, true);
|
|
||||||
|
|
||||||
let mut viewports = Viewports::default();
|
let mut viewports = Viewports::default();
|
||||||
viewports.insert(
|
viewports.insert(
|
||||||
ViewportId::ROOT,
|
ViewportId::ROOT,
|
||||||
|
|
@ -289,7 +302,7 @@ impl<'app> WgpuWinitApp<'app> {
|
||||||
class: ViewportClass::Root,
|
class: ViewportClass::Root,
|
||||||
builder,
|
builder,
|
||||||
deferred_commands: vec![],
|
deferred_commands: vec![],
|
||||||
info,
|
info: viewport_info,
|
||||||
actions_requested: Default::default(),
|
actions_requested: Default::default(),
|
||||||
viewport_ui_cb: None,
|
viewport_ui_cb: None,
|
||||||
window: Some(window),
|
window: Some(window),
|
||||||
|
|
|
||||||
|
|
@ -65,6 +65,14 @@ impl AppRunner {
|
||||||
o.zoom_factor = 1.0;
|
o.zoom_factor = 1.0;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Tell egui right away about native_pixels_per_point
|
||||||
|
// so that the app knows about it during app creation:
|
||||||
|
egui_ctx.input_mut(|i| {
|
||||||
|
let viewport_info = i.raw.viewports.entry(egui::ViewportId::ROOT).or_default();
|
||||||
|
viewport_info.native_pixels_per_point = Some(super::native_pixels_per_point());
|
||||||
|
i.pixels_per_point = super::native_pixels_per_point();
|
||||||
|
});
|
||||||
|
|
||||||
let cc = epi::CreationContext {
|
let cc = epi::CreationContext {
|
||||||
egui_ctx: egui_ctx.clone(),
|
egui_ctx: egui_ctx.clone(),
|
||||||
integration_info: info.clone(),
|
integration_info: info.clone(),
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue