Funkin/source/funkin/util/ClipboardUtil.hx
Eric 21f44edf1d New crash handler + Additional null safety for ChartEditorState (#130)
* A bunch of smaller syntax tweaks.

* New crash handler catches and logs critical errors!

* Chart editor now has null safety enabled.

* Fix -W build issue.

* Actually update hmm.json to use the crash handling branch

* Fix issues causing crash handler to trigger
2023-08-28 15:03:29 -04:00

51 lines
1.5 KiB
Haxe

package funkin.util;
/**
* Utility functions for working with the system clipboard.
* On platforms that don't support interacting with the clipboard,
* an internal clipboard is used (neat!).
*/
class ClipboardUtil
{
/**
* Add an event listener callback which executes next time the system clipboard is updated.
*
* @param callback The callback to execute when the clipboard is updated.
* @param once If true, the callback will only execute once and then be deleted.
* @param priority Set the priority at which the callback will be executed. Higher values execute first.
*/
public static function addListener(callback:Void->Void, once:Bool = false, ?priority:Int = 0):Void
{
lime.system.Clipboard.onUpdate.add(callback, once, priority);
}
/**
* Remove an event listener callback from the system clipboard.
*
* @param callback The callback to remove.
*/
public static function removeListener(callback:Void->Void):Void
{
lime.system.Clipboard.onUpdate.remove(callback);
}
/**
* Get the current contents of the system clipboard.
*
* @return The current contents of the system clipboard.
*/
public static function getClipboard():String
{
return lime.system.Clipboard.text;
}
/**
* Set the contents of the system clipboard.
*
* @param text The text to set the system clipboard to.
*/
public static function setClipboard(text:String):String
{
return lime.system.Clipboard.text = text;
}
}