Search in sources :

Example 11 with Camera

use of android.graphics.Camera in project CreditCardView by Movile.

the class FlipAnimation method initialize.

@Override
public void initialize(int width, int height, int parentWidth, int parentHeight) {
    super.initialize(width, height, parentWidth, parentHeight);
    centerX = width / 2;
    centerY = height / 2;
    camera = new Camera();
}
Also used : Camera(android.graphics.Camera)

Example 12 with Camera

use of android.graphics.Camera in project wechat by motianhuo.

the class RotateAnimation method initialize.

@Override
public void initialize(int width, int height, int parentWidth, int parentHeight) {
    super.initialize(width, height, parentWidth, parentHeight);
    mCamera = new Camera();
}
Also used : Camera(android.graphics.Camera)

Example 13 with Camera

use of android.graphics.Camera in project cw-omnibus by commonsguy.

the class AnimatorProxy method transformMatrix.

private void transformMatrix(Matrix m, View view) {
    final float w = view.getWidth();
    final float h = view.getHeight();
    final boolean hasPivot = mHasPivot;
    final float pX = hasPivot ? mPivotX : w / 2f;
    final float pY = hasPivot ? mPivotY : h / 2f;
    final float rX = mRotationX;
    final float rY = mRotationY;
    final float rZ = mRotationZ;
    if ((rX != 0) || (rY != 0) || (rZ != 0)) {
        final Camera camera = mCamera;
        camera.save();
        camera.rotateX(rX);
        camera.rotateY(rY);
        camera.rotateZ(-rZ);
        camera.getMatrix(m);
        camera.restore();
        m.preTranslate(-pX, -pY);
        m.postTranslate(pX, pY);
    }
    final float sX = mScaleX;
    final float sY = mScaleY;
    if ((sX != 1.0f) || (sY != 1.0f)) {
        m.postScale(sX, sY);
        final float sPX = -(pX / w) * ((sX * w) - w);
        final float sPY = -(pY / h) * ((sY * h) - h);
        m.postTranslate(sPX, sPY);
    }
    m.postTranslate(mTranslationX, mTranslationY);
}
Also used : Camera(android.graphics.Camera)

Example 14 with Camera

use of android.graphics.Camera in project SmartAndroidSource by jaychou2012.

the class AnimatorProxy method transformMatrix.

private void transformMatrix(Matrix m, View view) {
    final float w = view.getWidth();
    final float h = view.getHeight();
    final boolean hasPivot = mHasPivot;
    final float pX = hasPivot ? mPivotX : w / 2f;
    final float pY = hasPivot ? mPivotY : h / 2f;
    final float rX = mRotationX;
    final float rY = mRotationY;
    final float rZ = mRotationZ;
    if ((rX != 0) || (rY != 0) || (rZ != 0)) {
        final Camera camera = mCamera;
        camera.save();
        camera.rotateX(rX);
        camera.rotateY(rY);
        camera.rotateZ(-rZ);
        camera.getMatrix(m);
        camera.restore();
        m.preTranslate(-pX, -pY);
        m.postTranslate(pX, pY);
    }
    final float sX = mScaleX;
    final float sY = mScaleY;
    if ((sX != 1.0f) || (sY != 1.0f)) {
        m.postScale(sX, sY);
        final float sPX = -(pX / w) * ((sX * w) - w);
        final float sPY = -(pY / h) * ((sY * h) - h);
        m.postTranslate(sPX, sPY);
    }
    m.postTranslate(mTranslationX, mTranslationY);
}
Also used : Camera(android.graphics.Camera)

Example 15 with Camera

use of android.graphics.Camera in project android_frameworks_base by ParanoidAndroid.

the class View method setDisplayListProperties.

/**
     * This method is called by getDisplayList() when a display list is created or re-rendered.
     * It sets or resets the current value of all properties on that display list (resetting is
     * necessary when a display list is being re-created, because we need to make sure that
     * previously-set transform values
     */
void setDisplayListProperties(DisplayList displayList) {
    if (displayList != null) {
        displayList.setLeftTopRightBottom(mLeft, mTop, mRight, mBottom);
        displayList.setHasOverlappingRendering(hasOverlappingRendering());
        if (mParent instanceof ViewGroup) {
            displayList.setClipToBounds((((ViewGroup) mParent).mGroupFlags & ViewGroup.FLAG_CLIP_CHILDREN) != 0);
        }
        float alpha = 1;
        if (mParent instanceof ViewGroup && (((ViewGroup) mParent).mGroupFlags & ViewGroup.FLAG_SUPPORT_STATIC_TRANSFORMATIONS) != 0) {
            ViewGroup parentVG = (ViewGroup) mParent;
            final boolean hasTransform = parentVG.getChildStaticTransformation(this, parentVG.mChildTransformation);
            if (hasTransform) {
                Transformation transform = parentVG.mChildTransformation;
                final int transformType = parentVG.mChildTransformation.getTransformationType();
                if (transformType != Transformation.TYPE_IDENTITY) {
                    if ((transformType & Transformation.TYPE_ALPHA) != 0) {
                        alpha = transform.getAlpha();
                    }
                    if ((transformType & Transformation.TYPE_MATRIX) != 0) {
                        displayList.setMatrix(transform.getMatrix());
                    }
                }
            }
        }
        if (mTransformationInfo != null) {
            alpha *= mTransformationInfo.mAlpha;
            if (alpha < 1) {
                final int multipliedAlpha = (int) (255 * alpha);
                if (onSetAlpha(multipliedAlpha)) {
                    alpha = 1;
                }
            }
            displayList.setTransformationInfo(alpha, mTransformationInfo.mTranslationX, mTransformationInfo.mTranslationY, mTransformationInfo.mRotation, mTransformationInfo.mRotationX, mTransformationInfo.mRotationY, mTransformationInfo.mScaleX, mTransformationInfo.mScaleY);
            if (mTransformationInfo.mCamera == null) {
                mTransformationInfo.mCamera = new Camera();
                mTransformationInfo.matrix3D = new Matrix();
            }
            displayList.setCameraDistance(mTransformationInfo.mCamera.getLocationZ());
            if ((mPrivateFlags & PFLAG_PIVOT_EXPLICITLY_SET) == PFLAG_PIVOT_EXPLICITLY_SET) {
                displayList.setPivotX(getPivotX());
                displayList.setPivotY(getPivotY());
            }
        } else if (alpha < 1) {
            displayList.setAlpha(alpha);
        }
    }
}
Also used : Transformation(android.view.animation.Transformation) Matrix(android.graphics.Matrix) Camera(android.graphics.Camera) Paint(android.graphics.Paint) Point(android.graphics.Point)

Aggregations

Camera (android.graphics.Camera)30 Matrix (android.graphics.Matrix)11 Paint (android.graphics.Paint)3 SuppressLint (android.annotation.SuppressLint)1 Point (android.graphics.Point)1 Transformation (android.view.animation.Transformation)1 Scroller (android.widget.Scroller)1