Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0edf18f3 authored by Robert Carr's avatar Robert Carr
Browse files

Correct SurfaceControl matrix parameter names.

DsDx is used for the X scale but DtDy is used for the Y scale, it
seems like this is a simple mix up. Correct before documenting
SurfaceControl.

Test: Animations and such work.
Change-Id: Ic52b67596bf576f58346e4db66661b06ea1bdc2f
parent 2d8f7e80
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -508,9 +508,9 @@ public class SurfaceControl {
        nativeSetAlpha(mNativeObject, alpha);
        nativeSetAlpha(mNativeObject, alpha);
    }
    }


    public void setMatrix(float dsdx, float dtdx, float dsdy, float dtdy) {
    public void setMatrix(float dsdx, float dtdx, float dtdy, float dsdy) {
        checkNotReleased();
        checkNotReleased();
        nativeSetMatrix(mNativeObject, dsdx, dtdx, dsdy, dtdy);
        nativeSetMatrix(mNativeObject, dsdx, dtdx, dtdy, dsdy);
    }
    }


    public void setWindowCrop(Rect crop) {
    public void setWindowCrop(Rect crop) {
+2 −2
Original line number Original line Diff line number Diff line
@@ -356,9 +356,9 @@ static void nativeSetAlpha(JNIEnv* env, jclass clazz, jlong nativeObject, jfloat
}
}


static void nativeSetMatrix(JNIEnv* env, jclass clazz, jlong nativeObject,
static void nativeSetMatrix(JNIEnv* env, jclass clazz, jlong nativeObject,
        jfloat dsdx, jfloat dtdx, jfloat dsdy, jfloat dtdy) {
        jfloat dsdx, jfloat dtdx, jfloat dtdy, jfloat dsdy) {
    SurfaceControl* const ctrl = reinterpret_cast<SurfaceControl *>(nativeObject);
    SurfaceControl* const ctrl = reinterpret_cast<SurfaceControl *>(nativeObject);
    status_t err = ctrl->setMatrix(dsdx, dtdx, dsdy, dtdy);
    status_t err = ctrl->setMatrix(dsdx, dtdx, dtdy, dsdy);
    if (err < 0 && err != NO_INIT) {
    if (err < 0 && err != NO_INIT) {
        doThrowIAE(env);
        doThrowIAE(env);
    }
    }
+2 −2
Original line number Original line Diff line number Diff line
@@ -226,8 +226,8 @@ final class AccessibilityController {
            Matrix outMatrix) {
            Matrix outMatrix) {
        sTempFloats[Matrix.MSCALE_X] = windowState.mWinAnimator.mDsDx;
        sTempFloats[Matrix.MSCALE_X] = windowState.mWinAnimator.mDsDx;
        sTempFloats[Matrix.MSKEW_Y] = windowState.mWinAnimator.mDtDx;
        sTempFloats[Matrix.MSKEW_Y] = windowState.mWinAnimator.mDtDx;
        sTempFloats[Matrix.MSKEW_X] = windowState.mWinAnimator.mDsDy;
        sTempFloats[Matrix.MSKEW_X] = windowState.mWinAnimator.mDtDy;
        sTempFloats[Matrix.MSCALE_Y] = windowState.mWinAnimator.mDtDy;
        sTempFloats[Matrix.MSCALE_Y] = windowState.mWinAnimator.mDsDy;
        sTempFloats[Matrix.MTRANS_X] = windowState.mShownPosition.x;
        sTempFloats[Matrix.MTRANS_X] = windowState.mShownPosition.x;
        sTempFloats[Matrix.MTRANS_Y] = windowState.mShownPosition.y;
        sTempFloats[Matrix.MTRANS_Y] = windowState.mShownPosition.y;
        sTempFloats[Matrix.MPERSP_0] = 0;
        sTempFloats[Matrix.MPERSP_0] = 0;
+20 −20
Original line number Original line Diff line number Diff line
@@ -172,7 +172,7 @@ class WindowStateAnimator {
    private boolean mAnimateMove = false;
    private boolean mAnimateMove = false;


    float mDsDx=1, mDtDx=0, mDsDy=0, mDtDy=1;
    float mDsDx=1, mDtDx=0, mDsDy=0, mDtDy=1;
    float mLastDsDx=1, mLastDtDx=0, mLastDsDy=0, mLastDtDy=1;
    private float mLastDsDx=1, mLastDtDx=0, mLastDsDy=0, mLastDtDy=1;


    boolean mHaveMatrix;
    boolean mHaveMatrix;


@@ -945,8 +945,8 @@ class WindowStateAnimator {
            tmpMatrix.getValues(tmpFloats);
            tmpMatrix.getValues(tmpFloats);
            mDsDx = tmpFloats[Matrix.MSCALE_X];
            mDsDx = tmpFloats[Matrix.MSCALE_X];
            mDtDx = tmpFloats[Matrix.MSKEW_Y];
            mDtDx = tmpFloats[Matrix.MSKEW_Y];
            mDsDy = tmpFloats[Matrix.MSKEW_X];
            mDtDy = tmpFloats[Matrix.MSKEW_X];
            mDtDy = tmpFloats[Matrix.MSCALE_Y];
            mDsDy = tmpFloats[Matrix.MSCALE_Y];
            float x = tmpFloats[Matrix.MTRANS_X];
            float x = tmpFloats[Matrix.MTRANS_X];
            float y = tmpFloats[Matrix.MTRANS_Y];
            float y = tmpFloats[Matrix.MTRANS_Y];
            mWin.mShownPosition.set(Math.round(x), Math.round(y));
            mWin.mShownPosition.set(Math.round(x), Math.round(y));
@@ -959,7 +959,7 @@ class WindowStateAnimator {
            mShownAlpha = mAlpha;
            mShownAlpha = mAlpha;
            if (!mService.mLimitedAlphaCompositing
            if (!mService.mLimitedAlphaCompositing
                    || (!PixelFormat.formatHasAlpha(mWin.mAttrs.format)
                    || (!PixelFormat.formatHasAlpha(mWin.mAttrs.format)
                    || (mWin.isIdentityMatrix(mDsDx, mDtDx, mDsDy, mDtDy)
                    || (mWin.isIdentityMatrix(mDsDx, mDtDx, mDtDy, mDsDy)
                            && x == frame.left && y == frame.top))) {
                            && x == frame.left && y == frame.top))) {
                //Slog.i(TAG_WM, "Applying alpha transform");
                //Slog.i(TAG_WM, "Applying alpha transform");
                if (selfTransformation) {
                if (selfTransformation) {
@@ -1038,8 +1038,8 @@ class WindowStateAnimator {
            mHaveMatrix = true;
            mHaveMatrix = true;
            mDsDx = tmpFloats[Matrix.MSCALE_X];
            mDsDx = tmpFloats[Matrix.MSCALE_X];
            mDtDx = tmpFloats[Matrix.MSKEW_Y];
            mDtDx = tmpFloats[Matrix.MSKEW_Y];
            mDsDy = tmpFloats[Matrix.MSKEW_X];
            mDtDy = tmpFloats[Matrix.MSKEW_X];
            mDtDy = tmpFloats[Matrix.MSCALE_Y];
            mDsDy = tmpFloats[Matrix.MSCALE_Y];
            float x = tmpFloats[Matrix.MTRANS_X];
            float x = tmpFloats[Matrix.MTRANS_X];
            float y = tmpFloats[Matrix.MTRANS_Y];
            float y = tmpFloats[Matrix.MTRANS_Y];
            mWin.mShownPosition.set(Math.round(x), Math.round(y));
            mWin.mShownPosition.set(Math.round(x), Math.round(y));
@@ -1054,8 +1054,8 @@ class WindowStateAnimator {
            mHaveMatrix = false;
            mHaveMatrix = false;
            mDsDx = mWin.mGlobalScale;
            mDsDx = mWin.mGlobalScale;
            mDtDx = 0;
            mDtDx = 0;
            mDsDy = 0;
            mDtDy = 0;
            mDtDy = mWin.mGlobalScale;
            mDsDy = mWin.mGlobalScale;
        }
        }
    }
    }


@@ -1384,8 +1384,8 @@ class WindowStateAnimator {
            applyCrop(clipRect, finalClipRect, recoveringMemory);
            applyCrop(clipRect, finalClipRect, recoveringMemory);
            mSurfaceController.setMatrixInTransaction(mDsDx * w.mHScale * mExtraHScale,
            mSurfaceController.setMatrixInTransaction(mDsDx * w.mHScale * mExtraHScale,
                    mDtDx * w.mVScale * mExtraVScale,
                    mDtDx * w.mVScale * mExtraVScale,
                    mDsDy * w.mHScale * mExtraHScale,
                    mDtDy * w.mHScale * mExtraHScale,
                    mDtDy * w.mVScale * mExtraVScale, recoveringMemory);
                    mDsDy * w.mVScale * mExtraVScale, recoveringMemory);
        }
        }


        if (mSurfaceResized) {
        if (mSurfaceResized) {
@@ -1467,15 +1467,15 @@ class WindowStateAnimator {
                    "alpha=" + mShownAlpha + " layer=" + mAnimLayer
                    "alpha=" + mShownAlpha + " layer=" + mAnimLayer
                    + " matrix=[" + mDsDx + "*" + w.mHScale
                    + " matrix=[" + mDsDx + "*" + w.mHScale
                    + "," + mDtDx + "*" + w.mVScale
                    + "," + mDtDx + "*" + w.mVScale
                    + "][" + mDsDy + "*" + w.mHScale
                    + "][" + mDtDy + "*" + w.mHScale
                    + "," + mDtDy + "*" + w.mVScale + "]", false);
                    + "," + mDsDy + "*" + w.mVScale + "]", false);


            boolean prepared =
            boolean prepared =
                mSurfaceController.prepareToShowInTransaction(mShownAlpha, mAnimLayer,
                mSurfaceController.prepareToShowInTransaction(mShownAlpha, mAnimLayer,
                        mDsDx * w.mHScale * mExtraHScale,
                        mDsDx * w.mHScale * mExtraHScale,
                        mDtDx * w.mVScale * mExtraVScale,
                        mDtDx * w.mVScale * mExtraVScale,
                        mDsDy * w.mHScale * mExtraHScale,
                        mDtDy * w.mHScale * mExtraHScale,
                        mDtDy * w.mVScale * mExtraVScale,
                        mDsDy * w.mVScale * mExtraVScale,
                        recoveringMemory);
                        recoveringMemory);


            if (prepared && mLastHidden && mDrawState == HAS_DRAWN) {
            if (prepared && mLastHidden && mDrawState == HAS_DRAWN) {
@@ -1777,8 +1777,8 @@ class WindowStateAnimator {
            pw.print(prefix); pw.print("mGlobalScale="); pw.print(mWin.mGlobalScale);
            pw.print(prefix); pw.print("mGlobalScale="); pw.print(mWin.mGlobalScale);
                    pw.print(" mDsDx="); pw.print(mDsDx);
                    pw.print(" mDsDx="); pw.print(mDsDx);
                    pw.print(" mDtDx="); pw.print(mDtDx);
                    pw.print(" mDtDx="); pw.print(mDtDx);
                    pw.print(" mDsDy="); pw.print(mDsDy);
                    pw.print(" mDtDy="); pw.print(mDtDy);
                    pw.print(" mDtDy="); pw.println(mDtDy);
                    pw.print(" mDsDy="); pw.println(mDsDy);
        }
        }
        if (mAnimationStartDelayed) {
        if (mAnimationStartDelayed) {
            pw.print(prefix); pw.print("mAnimationStartDelayed="); pw.print(mAnimationStartDelayed);
            pw.print(prefix); pw.print("mAnimationStartDelayed="); pw.print(mAnimationStartDelayed);
@@ -1926,15 +1926,15 @@ class WindowStateAnimator {


            float DsDx = mService.mTmpFloats[Matrix.MSCALE_X];
            float DsDx = mService.mTmpFloats[Matrix.MSCALE_X];
            float DtDx = mService.mTmpFloats[Matrix.MSKEW_Y];
            float DtDx = mService.mTmpFloats[Matrix.MSKEW_Y];
            float DsDy = mService.mTmpFloats[Matrix.MSKEW_X];
            float DtDy = mService.mTmpFloats[Matrix.MSKEW_X];
            float DtDy = mService.mTmpFloats[Matrix.MSCALE_Y];
            float DsDy = mService.mTmpFloats[Matrix.MSCALE_Y];
            float nx = mService.mTmpFloats[Matrix.MTRANS_X];
            float nx = mService.mTmpFloats[Matrix.MTRANS_X];
            float ny = mService.mTmpFloats[Matrix.MTRANS_Y];
            float ny = mService.mTmpFloats[Matrix.MTRANS_Y];
            mSurfaceController.setPositionInTransaction(nx, ny, false);
            mSurfaceController.setPositionInTransaction(nx, ny, false);
            mSurfaceController.setMatrixInTransaction(DsDx * w.mHScale,
            mSurfaceController.setMatrixInTransaction(DsDx * w.mHScale,
                    DtDx * w.mVScale,
                    DtDx * w.mVScale,
                    DsDy * w.mHScale,
                    DtDy * w.mHScale,
                    DtDy * w.mVScale, false);
                    DsDy * w.mVScale, false);
        }
        }
    }
    }