void Strobe::upanddown() { for (int i = 0; i < numLedsProBar; i++) { pliste[i].set(false, color, colors[color].a, colors[color].b, colors[color].c); } if (strobecounter % (speed) == 0) switchcounter++; if (strobecounter % (speed) < 3) { if (updownpos < 1) { updownpos = 1; updown = true; } if (updownpos > numLedsProBar - 2) { updownpos = numLedsProBar - 2; updown = false; } pliste[updownpos - 1].active = true; pliste[updownpos + 1].active = true; pliste[updownpos].active = true; drawEqual(); if (updown) { updownpos++; } else { updownpos--; } } }
void Balls::explodingND() { if (counter == 0) { pliste[numLedsProBar / 2].active = true; pliste[numLedsProBar / 2].color = color; pliste[numLedsProBar / 2 - 1].active = true; pliste[numLedsProBar / 2 - 1].color = color; for (int i = numLedsProBar / 2 + 1; i < numLedsProBar - 1; i++) { pliste[i].active = false; pliste[i].color = color; pliste[numLedsProBar / 2 - 1 - i].active = false; pliste[numLedsProBar / 2 - 1 - i].color = color; } } pixel old, act; if (counter % (int) ((double) targetCycles / (numLedsProBar / 2)) == 0 && counter > 1) { old = pliste[numLedsProBar / 2]; for (int i = 1; i < numLedsProBar / 2; i++) { act = pliste[numLedsProBar / 2 + i]; pliste[numLedsProBar / 2 + i] = old; pliste[numLedsProBar / 2 - 1 - i] = old; old = act; } } drawEqual(); }
void Balls::imploding() { if (counter == 0) { pliste[0].active = true; pliste[0].color = color; pliste[numLedsProBar - 1].active = true; pliste[numLedsProBar - 1].color = color; } pixel old, act; if (counter % ((int) (speed)) == 0) { old = pliste[0]; pliste[0].active = false; pliste[numLedsProBar - 1].active = false; for (int i = 1; i < numLedsProBar / 2; i++) { act = pliste[i]; pliste[i] = old; pliste[numLedsProBar - 1 - i] = old; old = act; } } drawEqual(); }
void Strobe::standard() { for (int i = 0; i < numLedsProBar; i++) { pliste[i].set(false, color, colors[color].a, colors[color].b, colors[color].c); } if (strobecounter % (speed) < 3) { for (int i = 0; i < numLedsProBar; i++) { pliste[i].active = true; } } drawEqual(); }
void ChunkBar::drawBarContents(QPainter* p) { Uint32 w = contentsRect().width(); const BitSet& bs = getBitSet(); curr = bs; QColor highlight_color = palette().color(QPalette::Active, QPalette::Highlight); if (bs.allOn()) drawAllOn(p, highlight_color, contentsRect()); else if (curr.getNumBits() > w) drawMoreChunksThenPixels(p, bs, highlight_color, contentsRect()); else drawEqual(p, bs, highlight_color, contentsRect()); }
void Balls::spring() { int pos; for (int i = 0; i < numLedsProBar; i++) { pliste[i].active = false; } if (counter == 0) { for (int i = 0; i < numLedsProBar; i++) { pliste[i].set(false, color, colors[color].a, colors[color].b, colors[color].c); } springAmps[0] = numLedsProBar / 2 * 0.7 * power; if (springAmps[0] > numLedsProBar / 2 - 1) springAmps[0] = numLedsProBar / 2 - 1; springAmps[1] = (-1) * numLedsProBar / 2 * 4 / 5; springAmps[2] = numLedsProBar / 2 * 3 / 5; springAmps[3] = (-1) * numLedsProBar / 2 * 2 / 5; springAmps[4] = numLedsProBar / 2 * 1 / 5; } if (counter < targetCycles / 5) { pos = linearAppPM(springAmps[0], springAmps[1], targetCycles / 5, counter % (targetCycles / 5)); pliste[numLedsProBar / 2 + pos].active = true; //cout << pos << endl; } if (counter > targetCycles / 5 && counter < 2 * targetCycles / 5) { pos = linearAppPM(springAmps[1], springAmps[2], targetCycles / 5, counter % (targetCycles / 5)); pliste[numLedsProBar / 2 + pos].active = true; //cout << pos << endl; } if (counter > 2 * targetCycles / 5 && counter < 3 * targetCycles / 5) { pos = linearAppPM(springAmps[2], springAmps[3], targetCycles / 5, counter % (targetCycles / 5)); pliste[numLedsProBar / 2 + pos].active = true; //cout << pos << endl; } if (counter > 3 * targetCycles / 5 && counter < 4 * targetCycles / 5) { pos = linearAppPM(springAmps[3], springAmps[4], targetCycles / 5, counter % (targetCycles / 5)); pliste[numLedsProBar / 2 + pos].active = true; //cout << pos << endl; } if (counter > 4 * targetCycles / 5 && counter < 5 * targetCycles / 5) { pos = linearAppPM(springAmps[4], 0, targetCycles / 5, counter % (targetCycles / 5)); pliste[numLedsProBar / 2 + pos].active = true; //cout << pos << endl; } drawEqual(); }
void Strobe::upperhalf() { for (int i = 0; i < numLedsProBar; i++) { pliste[i].set(false, color, colors[color].a, colors[color].b, colors[color].c); } if (strobecounter % (speed) == 0) switchcounter++; if (strobecounter % (speed) < 3) { for (int i = numLedsProBar / 2; i < numLedsProBar; i++) { pliste[i].active = true; } drawEqual(); } }
void Balls::risingND() { //cout << speed << endl; if (counter == 0) { pliste[0].active = true; pliste[0].color = color; } pixel old, act; if (counter % ((int) (speed)) == 0) { old = pliste[0]; //pliste[0].active = false; for (int i = 1; i < numLedsProBar; i++) { act = pliste[i]; pliste[i] = old; old = act; } } drawEqual(); }
void Balls::fallingND() { if (counter == 0) { pliste[numLedsProBar - 1].active = true; pliste[numLedsProBar - 1].color = color; } pixel old, act; if (counter % ((int) (speed)) == 0) { old = pliste[numLedsProBar - 1]; //pliste[numLedsProBar - 1].active = false; for (int i = numLedsProBar - 2; i >= 0; i--) { act = pliste[i]; pliste[i] = old; old = act; } } drawEqual(); }
void Strobe::random() { for (int i = 0; i < numLedsProBar; i++) { pliste[i].set(false, color, colors[color].a, colors[color].b, colors[color].c); } if (strobecounter % (speed) == 0) { pos[0] = ((double)rand() / RAND_MAX) * (numBars*numLedsProBar -1); pos[1] = ((double)rand() / RAND_MAX) * (numBars*numLedsProBar -1); pos[2] = ((double)rand() / RAND_MAX) * (numBars*numLedsProBar -1); //cout << pos[0] << " " << pos[1] << " " << pos[2] << endl; } if (strobecounter % (speed) < 3) { ledscape_set_color(frame, color_channel_order_from_string(ColorOrder),targetStrip, pos[0], colors[color].a, colors[color].b, colors[color].c); ledscape_set_color(frame, color_channel_order_from_string(ColorOrder),targetStrip, pos[1], colors[color].a, colors[color].b, colors[color].c); ledscape_set_color(frame, color_channel_order_from_string(ColorOrder),targetStrip, pos[2], colors[color].a, colors[color].b, colors[color].c); drawEqual(); } }