Custom Anbox installation files & patches, including patched Android OS image file.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

53 lines
2.4 KiB

--- a/src/anbox/platform/sdl/platform.cpp 2020-06-30 13:15:49.448320901 +0300
+++ b/src/anbox/platform/sdl/platform.cpp 2020-06-30 13:39:02.464989017 +0300
@@ -446,6 +446,17 @@ void Platform::window_wants_focus(const
}
}
+void Platform::window_restored(const Window::Id &id) {
+ auto w = windows_.find(id);
+ if (w == windows_.end()) return;
+
+ if (auto window = w->second.lock()) {
+ auto new_frame = window->frame();
+ window->update_frame(new_frame);
+ window_manager_->resize_task(window->task(), new_frame, 3);
+ }
+}
+
void Platform::window_moved(const Window::Id &id, const std::int32_t &x,
const std::int32_t &y) {
auto w = windows_.find(id);
--- a/src/anbox/platform/sdl/platform.h 2020-06-30 13:16:06.144987589 +0300
+++ b/src/anbox/platform/sdl/platform.h 2020-06-30 13:39:35.294989051 +0300
@@ -54,6 +54,7 @@ class Platform : public std::enable_shar
void window_deleted(const Window::Id &id) override;
void window_wants_focus(const Window::Id &id) override;
+ void window_restored(const Window::Id &id) override;
void window_moved(const Window::Id &id, const std::int32_t &x,
const std::int32_t &y) override;
void window_resized(const Window::Id &id, const std::int32_t &width,
--- a/src/anbox/platform/sdl/window.cpp 2020-06-30 12:25:01.078318019 +0300
+++ b/src/anbox/platform/sdl/window.cpp 2020-06-30 13:40:04.924989082 +0300
@@ -193,6 +193,10 @@ void Window::process_event(const SDL_Eve
break;
case SDL_WINDOWEVENT_FOCUS_LOST:
break;
+ case SDL_WINDOWEVENT_RESTORED:
+ if (observer_)
+ observer_->window_restored(id_);
+ break;
// Not need to listen for SDL_WINDOWEVENT_RESIZED here as the
// SDL_WINDOWEVENT_SIZE_CHANGED is always sent.
case SDL_WINDOWEVENT_SIZE_CHANGED:
--- a/src/anbox/platform/sdl/window.h 2020-06-30 13:14:34.174987490 +0300
+++ b/src/anbox/platform/sdl/window.h 2020-06-30 13:40:24.711655769 +0300
@@ -41,6 +41,7 @@ class Window : public std::enable_shared
virtual ~Observer();
virtual void window_deleted(const Id &id) = 0;
virtual void window_wants_focus(const Id &id) = 0;
+ virtual void window_restored(const Id &id) = 0;
virtual void window_moved(const Id &id, const std::int32_t &x,
const std::int32_t &y) = 0;
virtual void window_resized(const Id &id, const std::int32_t &x,