// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
#pragma once
#include "Engine/Core/Types/Span.h"
#include "Engine/Core/Types/String.h"
#include "Engine/Core/Types/StringView.h"
#include "Engine/Core/Collections/Array.h"
API_INJECT_CODE(cpp, "#include \"Engine/Platform/Clipboard.h\"");
///
/// Native platform clipboard service.
///
API_CLASS(Static, Name="Clipboard", Tag="NativeInvokeUseName")
class FLAXENGINE_API ClipboardBase
{
public:
static struct FLAXENGINE_API ScriptingTypeInitializer TypeInitializer;
///
/// Clear the clipboard contents.
///
API_FUNCTION() static void Clear()
{
}
///
/// Sets text to the clipboard.
///
/// The text to set.
API_PROPERTY() static void SetText(const StringView& text)
{
}
///
/// Sets the raw bytes data to the clipboard.
///
/// The data to set.
API_PROPERTY() static void SetRawData(const Span& data)
{
}
///
/// Sets the files to the clipboard.
///
/// The list of file paths.
API_PROPERTY() static void SetFiles(const Array& files)
{
}
///
/// Gets the text from the clipboard.
///
/// The result text (or empty if clipboard doesn't have valid data).
API_PROPERTY() static String GetText()
{
return String::Empty;
}
///
/// Gets the raw bytes data from the clipboard.
///
/// The result data (or empty if clipboard doesn't have valid data).
API_PROPERTY() static Array GetRawData()
{
return Array();
}
///
/// Gets the file paths from the clipboard.
///
/// The output list of file paths (or empty if clipboard doesn't have valid data).
API_PROPERTY() static Array GetFiles()
{
return Array();
}
};