From 0e205ecef776fa230c71ec63c3c82bd2816ad85a Mon Sep 17 00:00:00 2001 From: hecomi Date: Sat, 12 Nov 2016 02:00:04 +0900 Subject: [PATCH] fix zoom bug. --- .../Scenes/Multiple Monitors Roundly.unity | Bin 14976 -> 14976 bytes .../Examples/Scenes/Multiple Monitors.unity | Bin 14856 -> 14944 bytes .../Scripts/MultipleMonitorCreator.cs | 7 +++---- .../Plugins/x86_64/uDesktopDuplication.dll | Bin 56832 -> 56832 bytes Assets/uDesktopDuplication/Scripts/Lib.cs | 2 ++ .../uDesktopDuplication/Cursor.cpp | 8 ++++---- .../uDesktopDuplication/main.cpp | 9 +++++++++ 7 files changed, 18 insertions(+), 8 deletions(-) diff --git a/Assets/uDesktopDuplication/Examples/Scenes/Multiple Monitors Roundly.unity b/Assets/uDesktopDuplication/Examples/Scenes/Multiple Monitors Roundly.unity index 178c755d2ccd377e6d2ade3def7a11c2fdf08641..c92a21a48235ccd4fdf029ee110ee5d1c48c1a3b 100644 GIT binary patch delta 22 dcmZoDZ7AJfVZvE|&%!RHFx~FJW=9iyHUMd@2#Npz delta 22 dcmZoDZ7AJfVZvE)&%#coFx{?av!jVU8vtcP2nPTF diff --git a/Assets/uDesktopDuplication/Examples/Scenes/Multiple Monitors.unity b/Assets/uDesktopDuplication/Examples/Scenes/Multiple Monitors.unity index 59c50ed1e08cbb30b4bd61ab0faba8967cc8a53d..dabb2a620417f3e6dc402453691d6ef1ba67cc31 100644 GIT binary patch delta 235 zcmeAuc~Bz2z+kM-z+jcYz`(!{WIJpWU}YBF#9|{Ym@m_=oYAwa!>igu7ATv)(a)V} zav`gWCL;qQ!vbc81`nVpBM?giF@q zEm#>Ce1OLN`~Uxc5!gZohCuH*=|CZdj>#7dr5QOUzXg&TCUY8n-OOaXj)eo{Dh7rH P4wDN_6gFQlw_pMQID}P9tgA z237`!TA&ys82|qdk`MBplMbR8COaBQGp?8%YxH%pfC a.left - b.left); - // Create monitors for (int i = 0; i < uDesktopDuplication.Manager.monitorCount; ++i) { // Create monitor obeject @@ -104,6 +100,9 @@ public class MultipleMonitorCreator : MonoBehaviour info.mesh = mesh; monitors_.Add(info); } + + // Sort monitors in coordinate order + monitors_.Sort((a, b) => a.uddTexture.monitor.left - b.uddTexture.monitor.left); } void Clear() diff --git a/Assets/uDesktopDuplication/Plugins/x86_64/uDesktopDuplication.dll b/Assets/uDesktopDuplication/Plugins/x86_64/uDesktopDuplication.dll index 7de58043a98f6a3e0bf3738617881eb544e9311f..bae16316453a843c9cfdb0ae61fb7118d7e9ef16 100644 GIT binary patch delta 24901 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 diff --git a/Assets/uDesktopDuplication/Scripts/Lib.cs b/Assets/uDesktopDuplication/Scripts/Lib.cs index 1458d68..1ed3b2f 100644 --- a/Assets/uDesktopDuplication/Scripts/Lib.cs +++ b/Assets/uDesktopDuplication/Scripts/Lib.cs @@ -85,6 +85,8 @@ public static class Lib [DllImport("uDesktopDuplication")] public static extern IntPtr GetRenderEventFunc(); [DllImport("uDesktopDuplication")] + public static extern int GetId(int id); + [DllImport("uDesktopDuplication")] public static extern MonitorState GetState(int id); [DllImport("uDesktopDuplication")] public static extern void GetName(int id, StringBuilder buf, int len); diff --git a/Plugins/uDesktopDuplication/uDesktopDuplication/Cursor.cpp b/Plugins/uDesktopDuplication/uDesktopDuplication/Cursor.cpp index 2ebb3cb..6c60b02 100644 --- a/Plugins/uDesktopDuplication/uDesktopDuplication/Cursor.cpp +++ b/Plugins/uDesktopDuplication/uDesktopDuplication/Cursor.cpp @@ -24,16 +24,16 @@ void Cursor::UpdateBuffer(const DXGI_OUTDUPL_FRAME_INFO& frameInfo) return; } - x_ = frameInfo.PointerPosition.Position.x; - y_ = frameInfo.PointerPosition.Position.y; isVisible_ = frameInfo.PointerPosition.Visible != 0; - timestamp_ = frameInfo.LastMouseUpdateTime; - if (isVisible_) { GetMonitorManager()->SetCursorMonitorId(monitor_->GetId()); } + x_ = frameInfo.PointerPosition.Position.x; + y_ = frameInfo.PointerPosition.Position.y; + timestamp_ = frameInfo.LastMouseUpdateTime; + if (!IsCursorOnParentMonitor()) { return; diff --git a/Plugins/uDesktopDuplication/uDesktopDuplication/main.cpp b/Plugins/uDesktopDuplication/uDesktopDuplication/main.cpp index 58b8aff..88a6e7b 100644 --- a/Plugins/uDesktopDuplication/uDesktopDuplication/main.cpp +++ b/Plugins/uDesktopDuplication/uDesktopDuplication/main.cpp @@ -138,6 +138,15 @@ extern "C" g_manager->SetTimeout(timeout); } + UNITY_INTERFACE_EXPORT void UNITY_INTERFACE_API GetId(int id) + { + if (!g_manager) return; + if (auto monitor = g_manager->GetMonitor(id)) + { + monitor->GetId(); + } + } + UNITY_INTERFACE_EXPORT MonitorState UNITY_INTERFACE_API GetState(int id) { if (!g_manager) return MonitorState::NotSet;