#pragma once

#include "ImguiBase.h"
#include "ApplicationData.h"

#include <vector>
#include <chrono>

#define DAY_LINE_WIDTH 3.f
#define DAY_LINE_OFFSET 5.f
#define DAY_OUTLINE_SIZE 3.f

typedef std::chrono::time_point<std::chrono::system_clock> TimePoint;

void init(DrawData& drawData, ApplicationData& customData);
void draw(DrawData& drawData, ApplicationData& customData);
void cleanup(DrawData& drawData, ApplicationData& appData);

ImVec2 menuBar(DrawData& drawData, ApplicationData& appData);
ImVec2 checklistWindow(ApplicationData& appData, const char* title);
ImVec2 timerWindow(DrawData& drawData, ApplicationData& appData);
ImVec2 baseStationWindow(ApplicationData& appData);
ImVec2 audioDeviceWindow(ApplicationData& appData, std::vector<AudioDevice>& deviceList, const char* title);
void drawCircle(float radius, ImU32 color);
