//    Copyright 2025 Bill Rossi
//    
//    This file is part of Hanafuda Hachi-Hachi.
//
//    Hanafuda Hachi-Hachi is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
//
//    Hanafuda Hachi-Hachi is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
//
//    You should have received a copy of the GNU General Public License along with Hanafuda Hachi-Hachi. If not, see <https://www.gnu.org/licenses/>. 
#ifndef _HF_MOVE_
#define _HF_MOVE_

#include <raylib.h>

typedef enum Curve {
  CURVE_LINEAR,
  CURVE_EASE_IN_OUT,
} Curve;

typedef struct Move Move;

struct Move {
  Vector2 *position;
  Vector2 origin;
  Vector2 destination;
  Curve curve;
  float current_time;
  float end_time;
};

void move_position(Move *m, float delta);

#endif