qstbak/Questionable/Questionable.Windows.Utils/ThrottledClipboard.cs
2026-08-17 20:27:25 +10:00

51 lines
2 KiB
C#

using System;
using Dalamud.Bindings.ImGui;
namespace Questionable.Windows.Utils;
internal static class ThrottledClipboard
{
private const long RefreshIntervalMs = 500L;
private static long _nextReadAtMs;
private static string _cachedText = string.Empty;
public static string GetText()
{
long num = _202B_202B_206C_206D_202C_202A_200E_202E_202A_202A_202C_206F_200C_200E_206F_202C_202E_206E_206C_206F_206A_202C_202A_202E_206C_206C_206D_202D_200B_202D_206A_202C_206E_206E_200B_206E_200E_200C_202E_200C_202E();
if (num >= _nextReadAtMs)
{
long num2 = 500L;
long num3 = num;
long num4 = num3 ^ num2;
long num5 = num3 & num2;
_nextReadAtMs = num4 + (num5 + num5);
try
{
string text = _206C_206F_200D_202C_206F_206F_200C_202D_202D_206C_206B_200D_206D_206A_202C_202A_200B_206F_200F_202B_202A_202B_202A_206F_206F_200E_206C_202A_202B_206E_202A_200E_202C_206C_206C_206D_206D_200F_200D_200D_202E();
_cachedText = ((text != null) ? _206D_206F_202D_206D_202D_202A_200F_202D_202D_202A_200E_200C_206B_202A_206C_202E_206C_206B_206F_202D_200F_200B_202B_202A_206D_200E_206C_200E_202D_206F_200B_200B_206D_202D_206B_200B_202B_206C_202E_202C_202E(text) : null) ?? string.Empty;
}
catch (Exception)
{
_cachedText = string.Empty;
}
}
return _cachedText;
}
static long _202B_202B_206C_206D_202C_202A_200E_202E_202A_202A_202C_206F_200C_200E_206F_202C_202E_206E_206C_206F_206A_202C_202A_202E_206C_206C_206D_202D_200B_202D_206A_202C_206E_206E_200B_206E_200E_200C_202E_200C_202E()
{
return Environment.TickCount64;
}
static string _206C_206F_200D_202C_206F_206F_200C_202D_202D_206C_206B_200D_206D_206A_202C_202A_200B_206F_200F_202B_202A_202B_202A_206F_206F_200E_206C_202A_202B_206E_202A_200E_202C_206C_206C_206D_206D_200F_200D_200D_202E()
{
return ImGui.GetClipboardText();
}
static string _206D_206F_202D_206D_202D_202A_200F_202D_202D_202A_200E_200C_206B_202A_206C_202E_206C_206B_206F_202D_200F_200B_202B_202A_206D_200E_206C_200E_202D_206F_200B_200B_206D_202D_206B_200B_202B_206C_202E_202C_202E(string P_0)
{
return P_0.Trim();
}
}