#include "rive/animation/listener_invocation.hpp"
#include "rive/input/focusable.hpp"
#include "rive/nested_artboard.hpp"
#include "rive/text/text_input.hpp"

using namespace rive;

bool Focusable::gamepadDispatch(const ListenerInvocation&, ScriptedDrawable**)
{
  return false;
}

Focusable* Focusable::from(Core* object)
{
  if (object == nullptr)
  {
    return nullptr;
  }

  if (object->is<TextInput>())
  {
    return object->as<TextInput>();
  }
  if (object->is<NestedArtboard>())
  {
    return object->as<NestedArtboard>();
  }
  return nullptr;
}
