From f9f8b14f4614764f2a64ec29bd668b089a31a151 Mon Sep 17 00:00:00 2001 From: hecomi Date: Sat, 5 Nov 2016 23:15:57 +0900 Subject: [PATCH] show not-available texture when display is not available. --- .../Plugins/uDesktopDuplication.dll | Bin 34304 -> 34816 bytes Assets/uDesktopDuplication/Resources.meta | 9 +++++++++ .../Resources/uDesktopDuplication.meta | 9 +++++++++ .../uDesktopDuplication}/Textures.meta | 0 .../Textures/NotAvailable.png | Bin .../Textures/NotAvailable.png.meta | 0 Assets/uDesktopDuplication/Scripts/Lib.cs | 2 ++ Assets/uDesktopDuplication/Scripts/Monitor.cs | 12 +++++++++++- .../uDesktopDuplication/main.cpp | 10 ++++++++++ 9 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 Assets/uDesktopDuplication/Resources.meta create mode 100644 Assets/uDesktopDuplication/Resources/uDesktopDuplication.meta rename Assets/uDesktopDuplication/{ => Resources/uDesktopDuplication}/Textures.meta (100%) rename Assets/uDesktopDuplication/{ => Resources/uDesktopDuplication}/Textures/NotAvailable.png (100%) rename Assets/uDesktopDuplication/{ => Resources/uDesktopDuplication}/Textures/NotAvailable.png.meta (100%) diff --git a/Assets/uDesktopDuplication/Plugins/uDesktopDuplication.dll b/Assets/uDesktopDuplication/Plugins/uDesktopDuplication.dll index c6dce65b21b3c7f4846eb12551afc5f6e36a206c..70c3a9a33b6cd37647b3d3929580fcdae462c916 100644 GIT binary patch delta 10135 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 VaHwgrkL>rH^|_?ZX*&-a{ui!)^|k;2 delta 9912 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 diff --git a/Assets/uDesktopDuplication/Resources.meta b/Assets/uDesktopDuplication/Resources.meta new file mode 100644 index 0000000..b7c92e3 --- /dev/null +++ b/Assets/uDesktopDuplication/Resources.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: b281589e6b8e27b4fbf0509d620b7871 +folderAsset: yes +timeCreated: 1478354860 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/uDesktopDuplication/Resources/uDesktopDuplication.meta b/Assets/uDesktopDuplication/Resources/uDesktopDuplication.meta new file mode 100644 index 0000000..7252115 --- /dev/null +++ b/Assets/uDesktopDuplication/Resources/uDesktopDuplication.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: e36cd526b654d024e875d5110a1b0442 +folderAsset: yes +timeCreated: 1478354877 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/uDesktopDuplication/Textures.meta b/Assets/uDesktopDuplication/Resources/uDesktopDuplication/Textures.meta similarity index 100% rename from Assets/uDesktopDuplication/Textures.meta rename to Assets/uDesktopDuplication/Resources/uDesktopDuplication/Textures.meta diff --git a/Assets/uDesktopDuplication/Textures/NotAvailable.png b/Assets/uDesktopDuplication/Resources/uDesktopDuplication/Textures/NotAvailable.png similarity index 100% rename from Assets/uDesktopDuplication/Textures/NotAvailable.png rename to Assets/uDesktopDuplication/Resources/uDesktopDuplication/Textures/NotAvailable.png diff --git a/Assets/uDesktopDuplication/Textures/NotAvailable.png.meta b/Assets/uDesktopDuplication/Resources/uDesktopDuplication/Textures/NotAvailable.png.meta similarity index 100% rename from Assets/uDesktopDuplication/Textures/NotAvailable.png.meta rename to Assets/uDesktopDuplication/Resources/uDesktopDuplication/Textures/NotAvailable.png.meta diff --git a/Assets/uDesktopDuplication/Scripts/Lib.cs b/Assets/uDesktopDuplication/Scripts/Lib.cs index 149dd5a..a7004e5 100644 --- a/Assets/uDesktopDuplication/Scripts/Lib.cs +++ b/Assets/uDesktopDuplication/Scripts/Lib.cs @@ -50,6 +50,8 @@ public static class Lib [DllImport("uDesktopDuplication")] public static extern IntPtr GetRenderEventFunc(); [DllImport("uDesktopDuplication")] + public static extern bool IsAvailable(); + [DllImport("uDesktopDuplication")] public static extern void GetName(int id, StringBuilder buf, int len); [DllImport("uDesktopDuplication")] public static extern int GetLeft(int id); diff --git a/Assets/uDesktopDuplication/Scripts/Monitor.cs b/Assets/uDesktopDuplication/Scripts/Monitor.cs index 961bb8e..553e6c1 100644 --- a/Assets/uDesktopDuplication/Scripts/Monitor.cs +++ b/Assets/uDesktopDuplication/Scripts/Monitor.cs @@ -21,6 +21,11 @@ public class Monitor get { return id < Manager.monitorCount; } } + public bool available + { + get { return Lib.IsAvailable(); } + } + public string name { get { return Lib.GetName(id); } @@ -122,6 +127,9 @@ public class Monitor { get { + if (!available) { + return Resources.Load("uDesktopDuplication/Textures/NotAvailable"); + } if (texture_ == null) { CreateTexture(); } @@ -131,7 +139,7 @@ public class Monitor public void Render() { - if (texture_) { + if (texture_ && available) { Lib.SetTexturePtr(id, texture_.GetNativeTexturePtr()); GL.IssuePluginEvent(Lib.GetRenderEventFunc(), id); } @@ -144,6 +152,8 @@ public class Monitor void CreateTexture() { + if (!available) return; + var w = isHorizontal ? width : height; var h = isHorizontal ? height : width; bool shouldCreate = true; diff --git a/Plugins/uDesktopDuplication/uDesktopDuplication/main.cpp b/Plugins/uDesktopDuplication/uDesktopDuplication/main.cpp index 5682225..0719706 100644 --- a/Plugins/uDesktopDuplication/uDesktopDuplication/main.cpp +++ b/Plugins/uDesktopDuplication/uDesktopDuplication/main.cpp @@ -126,6 +126,16 @@ extern "C" g_manager->SetTimeout(timeout); } + UNITY_INTERFACE_EXPORT bool UNITY_INTERFACE_API IsAvailable(int id) + { + if (!g_manager) return false; + if (auto monitor = g_manager->GetMonitor(id)) + { + return monitor->IsAvailable(); + } + return false; + } + UNITY_INTERFACE_EXPORT void UNITY_INTERFACE_API GetName(int id, char* buf, int len) { if (!g_manager) return;