void Sprite::removeFrame(FrameNumber newFrame) { FrameNumber newTotal = m_frames.previous(); for (FrameNumber i=newFrame; i<newTotal; i=i.next()) setFrameDuration(i, getFrameDuration(i.next())); setTotalFrames(newTotal); }
void Sprite::addFrame(frame_t newFrame) { setTotalFrames(m_frames+1); for (frame_t i=m_frames-1; i>=newFrame; --i) setFrameDuration(i, frameDuration(i-1)); folder()->displaceFrames(newFrame, +1); }
void Sprite::removeFrame(frame_t frame) { folder()->displaceFrames(frame, -1); frame_t newTotal = m_frames-1; for (frame_t i=frame; i<newTotal; ++i) setFrameDuration(i, frameDuration(i+1)); setTotalFrames(newTotal); }
void Sprite::addFrame(FrameNumber newFrame) { setTotalFrames(m_frames.next()); for (FrameNumber i=m_frames.previous(); i>=newFrame; i=i.previous()) setFrameDuration(i, getFrameDuration(i.previous())); }
LineTopToBottomAnimation::LineTopToBottomAnimation(ColorGenerator& colorGenerator, uint8_t gridHeight) : colorGenerator(colorGenerator) { setTotalFrames(gridHeight); }
UpDownFadeAnimation::UpDownFadeAnimation(ColorGenerator& colorGenerator) : colorGenerator(colorGenerator) { setTotalFrames(FADE_ANIM_BRIGHTNESS_LEVELS * 2); }
SawtoothFadeAnimation::SawtoothFadeAnimation(ColorGenerator& colorGenerator) : colorGenerator(colorGenerator) { setTotalFrames(FADE_ANIM_BRIGHTNESS_LEVELS); }
FlashAnimation::FlashAnimation(ColorGenerator& colorGenerator) : colorGenerator(colorGenerator) { setTotalFrames(2); frameDelay = DEFAULT_FLASH_ANIM_DELAY; frameDelayStep = DEFAULT_FLASH_ANIM_DELAY_STEP; }
SolidAnimation::SolidAnimation(ColorGenerator& colorGenerator) : colorGenerator(colorGenerator) { setTotalFrames(1); }
MovingRainbowAnimation::MovingRainbowAnimation(SensorDataStore& sensorDataStore, uint8_t gridHeight) : sensorDataStore(sensorDataStore), gridHeight(gridHeight), additionalFrameDelay(0) { setTotalFrames(gridHeight); frameDelay = DEFAULT_RAINBOW_ANIM_DELAY; hsv.s = 0; hsv.v = HSV_V_MAX; }
CarLightsAnimation::CarLightsAnimation(SensorDataStore& sensorDataStore, uint8_t gridWidth, uint8_t gridHeight) : sensorDataStore(sensorDataStore),gridHeight(gridHeight), gridWidth(gridWidth), forwards(true) { setTotalFrames(FRAMES_PER_BLINK_ON_AND_OFF); frameDelay = DEFAULT_CAR_ANIM_DELAY; frameDelayStep = DEFAULT_CAR_ANIM_DELAY_STEP; }