From b807bfb012ee1b8964965cd588644e8fa86f3df0 Mon Sep 17 00:00:00 2001 From: Pavol Rusnak Date: Fri, 3 Dec 2010 02:01:22 +0100 Subject: [PATCH] add simple rainbow as well --- .gitignore | 1 + ledbar.c | 14 ++++++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a97ac4e --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +ledbar diff --git a/ledbar.c b/ledbar.c index 32d39ff..4b4a50b 100644 --- a/ledbar.c +++ b/ledbar.c @@ -40,6 +40,16 @@ void (*program)(int i, int t, double *r, double *g, double *b); // rainbow void programQ(int i, int t, double *r, double *g, double *b) +{ + double index = 1.0*i/BOXES; + double time = 0.01*t; + *r = (sin(M_PI*2*index+time)+1.0)/2; + *g = (sin(M_PI*2*index+time+M_PI*2/3)+1.0)/2; + *b = (sin(M_PI*2*index+time+M_PI*4/3)+1.0)/2; +} + +// rainbow with different speeds +void programW(int i, int t, double *r, double *g, double *b) { double index = 1.0*i/BOXES; double time = 0.01*t; @@ -48,9 +58,8 @@ void programQ(int i, int t, double *r, double *g, double *b) *b = (sin(M_PI*2*index+time*1.618)+1.0)/2; } - // knight rider -void programW(int i, int t, double *r, double *g, double *b) +void programE(int i, int t, double *r, double *g, double *b) { static float pos = BOXES/2; static float dir = 0.001; @@ -113,6 +122,7 @@ int main(int argc, char* argv[]) switch(event.key.keysym.sym) { case SDLK_q: program = programQ; break; case SDLK_w: program = programW; break; + case SDLK_e: program = programE; break; case SDLK_ESCAPE: quit = 1; break; default: break; }