#include "clipboard.hpp"

#include <imgui.h>

namespace game::util
{
  void Clipboard::copy(const std::string& value)
  {
    text = value;
    isCut = false;
    ImGui::SetClipboardText(text.c_str());
  }

  void Clipboard::cut(const std::string& value)
  {
    text = value;
    isCut = true;
    ImGui::SetClipboardText(text.c_str());
  }

  void Clipboard::clear()
  {
    text.clear();
    isCut = false;
  }

  const char* Clipboard::get() const
  {
    auto* systemText = ImGui::GetClipboardText();
    return systemText && *systemText ? systemText : text.c_str();
  }

  bool Clipboard::cut_get() const { return isCut; }
}
