From 2e7e7f0a9f7e2d7ae13472378a068253d87f5b47 Mon Sep 17 00:00:00 2001 From: tsuki Date: Sun, 17 Mar 2024 21:26:33 +0800 Subject: [PATCH] sync --- src/map_tile.rs | 2 +- src/pipeline/predefined/grid_field_renderer.rs | 2 +- src/widgets/render/imp.rs | 14 ++++++++++++-- src/widgets/render/mod.rs | 2 +- 4 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/map_tile.rs b/src/map_tile.rs index 9ffe353..46fa738 100644 --- a/src/map_tile.rs +++ b/src/map_tile.rs @@ -144,7 +144,7 @@ impl MapTile { (origin.lon() as f64..rb.lon() as f64).into(), (origin.lat() as f64..rb.lat() as f64).into(), ); - let result = Target::new(TargetType::Mem(result), 256.0, 256.0, bounds, None, None); + let result = Target::new(TargetType::Mem(result), 256.0, 256.0, bounds, None,None); let cache = cache.lock().unwrap(); cache.insert(tile, Arc::new(std::sync::Mutex::new(result))); } diff --git a/src/pipeline/predefined/grid_field_renderer.rs b/src/pipeline/predefined/grid_field_renderer.rs index fc2b233..f41ba3a 100644 --- a/src/pipeline/predefined/grid_field_renderer.rs +++ b/src/pipeline/predefined/grid_field_renderer.rs @@ -189,7 +189,7 @@ where ((d1_start, d1_end).into(), (d2_start, d2_end).into()), // Some(thumbnail_tex), None, - None + None, ) } } diff --git a/src/widgets/render/imp.rs b/src/widgets/render/imp.rs index 54f24bd..6b5f778 100644 --- a/src/widgets/render/imp.rs +++ b/src/widgets/render/imp.rs @@ -95,10 +95,11 @@ impl ObjectSubclass for Render { } impl ObjectImpl for Render { + fn constructed(&self) { self.parent_constructed(); let area = self.obj(); - // area.set_has_stencil_buffer(true); + area.set_has_stencil_buffer(true); } fn properties() -> &'static [glib::ParamSpec] { @@ -114,7 +115,16 @@ impl ObjectImpl for Render { } } -impl WidgetImpl for Render {} +impl WidgetImpl for Render { + fn realize(&self) { + self.parent_realize(); + } + fn unrealize(&self) { + self.obj().make_current(); + self.canvas.replace(None); + self.parent_unrealize(); + } +} impl GLAreaImpl for Render { fn resize(&self, width: i32, height: i32) { diff --git a/src/widgets/render/mod.rs b/src/widgets/render/mod.rs index c372f5f..dfd8c6d 100644 --- a/src/widgets/render/mod.rs +++ b/src/widgets/render/mod.rs @@ -251,7 +251,7 @@ impl Render { height, bounds, None, - None, + None )) }