#ifndef MENU_H
#define MENU_H
#include "game.h"
#define MS_CNT 16
typedef struct {
char *path;
char *imgname;
double percent;
Animation image;
Vec p0, p1;
int rows, cols;
time_t t;
} MenuItem;
typedef struct {
Game gm;
MenuItem *items;
int itemsCnt;
Vec contentSize;
double scrollPos;
double scrollVel;
double scrollHist[MS_CNT][2];
Vec mouse, mouseDownPos;
double mouseDownTime;
double mouseScroll;
double mousePath;
Animation iconBack;
Animation iconCount[4];
Animation iconTurn[2];
int countMode;
int turnMode;
int closing;
double closingTransition;
MenuItem *choosingItem;
int choosingItemFrames;
} Menu;
int menuItemInit(MenuItem *mi, const char *path, const char *imgname, Vec p0, Vec p1, Framebuffer fb, int w, int h);
void menuItemFree(MenuItem *mi);
void menuItemDraw(MenuItem *mi);
void menuInit(Menu *m);
void menuFree(Menu *m);
void menuUpdateItems(Menu *m);
int menuSave(Menu *m);
int menuLoad(Menu *m);
void menuChooseItem(Menu *m, MenuItem *mi);
void menuClick(Menu *m, Vec screenSize, double cornerSize);
void menuDraw(Menu *m);
#endif