sprstk/examples/basic.cpp
2025-08-03 21:36:04 -04:00

52 lines
776 B
C++

#include <sprstk/sprstk.h>
#include <cstdlib>
namespace
{
void init(sprstk* instance, void* userdata)
{
sprstk_palette pal = {};
for (int i = 0; i < 28; i++)
{
pal.colors[i] = 0x7F3F0040;
}
for (int i = 28; i < 32; i++)
{
pal.colors[i] = 0x00FF0040;
}
sprstk_set_palette(instance, 0, &pal);
}
void update(sprstk* instance, float dt, float* userdata)
{
*userdata += dt / 2;
sprstk_set_angle(instance, *userdata);
for (int i = -512; i < 512; i++)
{
for (int j = -512; j < 512; j++)
{
sprstk_put(instance, i, j, 31, 0);
}
}
}
}
int main()
{
float data = 0;
sprstk* instance = sprstk_new({.init = init, .update = (sprstk_update_fn)update}, &data);
sprstk_run(instance);
sprstk_stop(instance);
return 0;
}