// x-run: make run #include #include #include #define TRAIL_LENGTH 360 int main(int argc, char **argv) { SetConfigFlags(FLAG_WINDOW_RESIZABLE); InitWindow(800, 600, "vis/follow-mouse"); SetTargetFPS(120); Vector2 trail[TRAIL_LENGTH]; Vector2 ex_trail[TRAIL_LENGTH]; Vector2 pos = { 0, 0 }; while (!WindowShouldClose()) { BeginDrawing(); ClearBackground(BLACK); memmove(&trail[0], &trail[1], sizeof(Vector2) * (TRAIL_LENGTH - 1)); trail[TRAIL_LENGTH - 1] = GetMousePosition(); DrawLineStrip(trail, TRAIL_LENGTH, RED); pos = Vector2Lerp(pos, trail[TRAIL_LENGTH - 1], 0.125); DrawCircleLines(pos.x, pos.y, 8, WHITE); memmove(&ex_trail[0], &ex_trail[1], sizeof(Vector2) * (TRAIL_LENGTH - 1)); ex_trail[TRAIL_LENGTH - 1] = pos; DrawLineStrip(ex_trail, TRAIL_LENGTH, GREEN); EndDrawing(); } }