From 80cd2fc123343e63448db0efad8a3210bb2705e8 Mon Sep 17 00:00:00 2001
From: Ivy <fake@email.com>
Date: Tue, 29 Aug 2023 13:33:08 -0700
Subject: [PATCH] Changing menu_image_button to use ImageButton builder

---
 crates/egui/src/menu.rs | 10 ++++------
 crates/egui/src/ui.rs   |  2 +-
 2 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/crates/egui/src/menu.rs b/crates/egui/src/menu.rs
index 0364cf468b18..6c8d8f9b83f1 100644
--- a/crates/egui/src/menu.rs
+++ b/crates/egui/src/menu.rs
@@ -111,11 +111,10 @@ pub fn menu_button<R>(
 /// Returns `None` if the menu is not open.
 pub fn menu_image_button<R>(
     ui: &mut Ui,
-    texture_id: TextureId,
-    image_size: impl Into<Vec2>,
+    image_button: ImageButton,
     add_contents: impl FnOnce(&mut Ui) -> R,
 ) -> InnerResponse<Option<R>> {
-    stationary_menu_image_impl(ui, texture_id, image_size, Box::new(add_contents))
+    stationary_menu_image_impl(ui, image_button, Box::new(add_contents))
 }
 
 /// Construct a nested sub menu in another menu.
@@ -202,14 +201,13 @@ fn stationary_menu_impl<'c, R>(
 /// Responds to primary clicks.
 fn stationary_menu_image_impl<'c, R>(
     ui: &mut Ui,
-    texture_id: TextureId,
-    image_size: impl Into<Vec2>,
+    image_button: ImageButton,
     add_contents: Box<dyn FnOnce(&mut Ui) -> R + 'c>,
 ) -> InnerResponse<Option<R>> {
     let bar_id = ui.id();
 
     let mut bar_state = BarState::load(ui.ctx(), bar_id);
-    let button_response = ui.add(ImageButton::new(texture_id, image_size));
+    let button_response = ui.add(image_button);
     let inner = bar_state.bar_menu(&button_response, add_contents);
 
     bar_state.store(ui.ctx(), bar_id);
diff --git a/crates/egui/src/ui.rs b/crates/egui/src/ui.rs
index 9f4135025289..686d7a66eb39 100644
--- a/crates/egui/src/ui.rs
+++ b/crates/egui/src/ui.rs
@@ -2222,7 +2222,7 @@ impl Ui {
         if let Some(menu_state) = self.menu_state.clone() {
             menu::submenu_button(self, menu_state, String::new(), add_contents)
         } else {
-            menu::menu_image_button(self, texture_id, image_size, add_contents)
+            menu::menu_image_button(self, ImageButton::new(texture_id, image_size), add_contents)
         }
     }
 }