static void Interpolator_setRepeatMirror(JNIEnv* env, jobject clazz, jlong interpHandle, jfloat repeatCount, jboolean mirror) { SkInterpolator* interp = reinterpret_cast<SkInterpolator*>(interpHandle); if (repeatCount > 32000) repeatCount = 32000; interp->setRepeatCount(SkFloatToScalar(repeatCount)); interp->setMirror(mirror != 0); }
FilterQualityView() : fImage(make_image()), fTrans(2, 2), fShowFatBits(true) { fCell.set(256, 256); fScale.set(1, SK_Scalar1 / 8, 1); fAngle.setMod(0, 360); SkScalar values[2]; fTrans.setMirror(true); fTrans.setReset(true); fCurrTime = 0; fTrans.setRepeatCount(999); values[0] = values[1] = 0; fTrans.setKeyFrame(0, fCurrTime, values); values[0] = values[1] = 1; fTrans.setKeyFrame(1, fCurrTime + 2000, values); }
void spawnAnimation(SkMSec now) { this->setTime(now); delete fInterp; fInterp = new SkInterpolator(5, 3); SkScalar values[5]; color_to_floats(fColor, values); values[4] = 0; fInterp->setKeyFrame(0, now, values); values[0] = 0; values[4] = 180; fInterp->setKeyFrame(1, now + 1000, values); color_to_floats(rand_opaque_color(fColor), values); values[4] = 360; fInterp->setKeyFrame(2, now + 2000, values); fInterp->setMirror(true); fInterp->setRepeatCount(3); this->notifyDrawingChanged(); }