Android Open Source - TweeningTextView Svg Command As Cubic Handler






From Project

Back to project page TweeningTextView.

License

The source code is released under:

Apache License

If you think the Android project TweeningTextView listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.kokalabs.svg;
/*  w w  w.j  av a 2 s . c  o  m*/
import com.google.common.collect.Lists;

import java.util.List;

public class SvgCommandAsCubicHandler extends SvgCommandHandler {
    private final List<CubicBezierCurve> all = Lists.newArrayList();

    @Override
    protected void handle_M(double endX, double endY) {
    }

    @Override
    protected void handle_m(double d_endX, double d_endY) {
    }

    @Override
    protected void handle_L(double endX, double endY) {
        all.add(new CubicBezierCurve(lastX(), lastY(), lastX(), lastY(),
                endX, endY, endX, endY));
    }

    @Override
    protected void handle_l(double d_endX, double d_endY) {
        all.add(new CubicBezierCurve(lastX(), lastY(), lastX(), lastY(),
                lastX() + d_endX, lastY() + d_endY, lastX() + d_endX, lastY() + d_endY));
    }

    @Override
    protected void handle_C(double control1X, double control1Y,
                            double control2X, double control2Y,
                            double endX, double endY) {
        all.add(new CubicBezierCurve(lastX(), lastY(), control1X, control1Y,
                control2X, control2Y, endX, endY));
    }


    @Override
    protected void handle_S(double control2X, double control2Y, double endX, double endY) {
        all.add(new CubicBezierCurve(lastX(), lastY(), nextControlX(), nextControlY(),
                control2X, control2Y, endX, endY));
    }

    @Override
    protected void handle_Q(double controlX, double controlY, double endX, double endY) {
        double c1X = lastX() + (2.0 / 3.0) * (controlX - lastX());
        double c1Y = lastY() + (2.0 / 3.0) * (controlY - lastY());
        double c2X = endX + (2.0 / 3.0) * (controlX - endX);
        double c2Y = endY + (2.0 / 3.0) * (controlY - endY);
        all.add(new CubicBezierCurve(lastX(), lastY(), c1X, c1Y,
                c2X, c2Y, endX, endY));
    }


    @Override
    protected void handle_T(double endX, double endY) {
        handle_Q(nextControlX(), nextControlY(), endX, endY);
    }

    public List<CubicBezierCurve> getPathAsCubicBezierCurves() {
        return all;
    }
}




Java Source Code List

com.kokalabs.svg.CubicBezierCurve.java
com.kokalabs.svg.PointD.java
com.kokalabs.svg.SvgCommandAsCubicHandler.java
com.kokalabs.svg.SvgCommandHandler.java
com.kokalabs.svg.SvgGlyphParser.java
com.kokalabs.svg.SvgGlyphTweenViaInterpolation.java
com.kokalabs.svg.SvgGlyph.java
com.kokalabs.tweening.textview.TweeningTextView.java
com.kokalabs.tweening.textview.example.ApplicationTest.java
com.kokalabs.tweening.textview.example.Char.java
com.kokalabs.tweening.textview.example.TweeningActivity.java