FemMaps/tui/main.cpp
2023-10-30 00:53:00 -07:00

56 lines
1.5 KiB
C++

//
// Created by scoliono on 10/14/23.
//
#include <iostream>
#include <caca.h>
#include "../map/SigalertMapProvider.h"
#include "../map/SigalertRoadSensor.h"
void caca_display_drivers()
{
const char* const* drivers = caca_get_display_driver_list();
for (int i = 0; drivers[i] != NULL; i += 2)
{
std::cout << drivers[i] << '\t' << drivers[i + 1] << std::endl;
}
}
int main(int argc, char** argv)
{
caca_canvas_t *cv;
caca_display_t *dp;
caca_event_t ev;
dp = caca_create_display_with_driver(NULL, "ncurses");
if (!dp) {
std::cerr << "Failed to create caca display" << std::endl;
return 1;
}
cv = caca_get_canvas(dp);
caca_set_display_title(dp, "Hello!");
caca_set_color_ansi(cv, CACA_BLACK, CACA_WHITE);
caca_put_str(cv, 0, 0, "This is a message");
SigalertMapProvider smp;
smp.refreshData();
int i = 0;
while (i < smp.roadSensors().size())
{
auto sensor = smp.roadSensors()[i];
if (i < smp.roadSensors().size() - 1)
{
auto sensor2 = smp.roadSensors()[i + 1];
caca_draw_thin_line(cv, sensor->pos()[0], sensor->pos()[1], sensor2->pos()[0], sensor2->pos()[1]);
}
else
{
caca_draw_thin_line(cv, sensor->pos()[0], sensor->pos()[1], sensor->pos()[0], sensor->pos()[1]);
}
i += 2;
caca_refresh_display(dp);
}
caca_get_event(dp, CACA_EVENT_KEY_PRESS, &ev, -1);
caca_free_display(dp);
return 0;
}