mirror of
https://github.com/emilk/egui.git
synced 2026-09-02 23:00:04 -04:00
Make the window position and size to not get set when the window is mimimized
And now Memory::new_pixels_per_point is not taken because all viewports need to have the same dpi
This commit is contained in:
@@ -176,8 +176,10 @@ impl State {
|
|||||||
// This solves an issue where egui window positions would be changed when minimizing on Windows.
|
// This solves an issue where egui window positions would be changed when minimizing on Windows.
|
||||||
let screen_size_in_pixels = screen_size_in_pixels(window);
|
let screen_size_in_pixels = screen_size_in_pixels(window);
|
||||||
let screen_size_in_points = screen_size_in_pixels / pixels_per_point;
|
let screen_size_in_points = screen_size_in_pixels / pixels_per_point;
|
||||||
self.egui_input.screen_rect =
|
self.egui_input.screen_rect = if !window.is_minimized().unwrap_or_else(|| {
|
||||||
if screen_size_in_points.x > 0.0 && screen_size_in_points.y > 0.0 {
|
eprintln!("Cannot determine the Viewport/native window minimized state");
|
||||||
|
true
|
||||||
|
}) {
|
||||||
Some(egui::Rect::from_min_max(
|
Some(egui::Rect::from_min_max(
|
||||||
window
|
window
|
||||||
.outer_position()
|
.outer_position()
|
||||||
|
|||||||
@@ -266,7 +266,7 @@ impl ContextImpl {
|
|||||||
self.output.entry(self.get_viewport_id()).or_default();
|
self.output.entry(self.get_viewport_id()).or_default();
|
||||||
self.repaint.start_frame(self.get_viewport_id());
|
self.repaint.start_frame(self.get_viewport_id());
|
||||||
|
|
||||||
if let Some(new_pixels_per_point) = self.memory.new_pixels_per_point.take() {
|
if let Some(new_pixels_per_point) = self.memory.new_pixels_per_point {
|
||||||
new_raw_input.pixels_per_point = Some(new_pixels_per_point);
|
new_raw_input.pixels_per_point = Some(new_pixels_per_point);
|
||||||
|
|
||||||
let input = self.input.entry(viewport_id).or_default();
|
let input = self.input.entry(viewport_id).or_default();
|
||||||
|
|||||||
Reference in New Issue
Block a user