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

Commit 751766a5 authored by Jerome Gaillard's avatar Jerome Gaillard Committed by android-build-merger
Browse files

Deals with translation and scaling in layoutlib am: ded4d14e

am: cc90965d

* commit 'cc90965d':
  Deals with translation and scaling in layoutlib
parents 197b1678 cc90965d
Loading
Loading
Loading
Loading
+119 −13
Original line number Diff line number Diff line
@@ -38,10 +38,15 @@ public class RenderNode_Delegate {


    private float mLift;
    private float mTranslationX;
    private float mTranslationY;
    private float mTranslationZ;
    private float mRotation;
    private float mScaleX = 1;
    private float mScaleY = 1;
    private float mPivotX;
    private float mPivotY;
    private boolean mPivotExplicitelySet;
    private boolean mPivotExplicitlySet;
    private int mLeft;
    private int mRight;
    private int mTop;
@@ -80,6 +85,63 @@ public class RenderNode_Delegate {
        return 0f;
    }

    @LayoutlibDelegate
    /*package*/ static boolean nSetTranslationX(long renderNode, float translationX) {
        RenderNode_Delegate delegate = sManager.getDelegate(renderNode);
        if (delegate != null && delegate.mTranslationX != translationX) {
            delegate.mTranslationX = translationX;
            return true;
        }
        return false;
    }

    @LayoutlibDelegate
    /*package*/ static float nGetTranslationX(long renderNode) {
        RenderNode_Delegate delegate = sManager.getDelegate(renderNode);
        if (delegate != null) {
            return delegate.mTranslationX;
        }
        return 0f;
    }

    @LayoutlibDelegate
    /*package*/ static boolean nSetTranslationY(long renderNode, float translationY) {
        RenderNode_Delegate delegate = sManager.getDelegate(renderNode);
        if (delegate != null && delegate.mTranslationY != translationY) {
            delegate.mTranslationY = translationY;
            return true;
        }
        return false;
    }

    @LayoutlibDelegate
    /*package*/ static float nGetTranslationY(long renderNode) {
        RenderNode_Delegate delegate = sManager.getDelegate(renderNode);
        if (delegate != null) {
            return delegate.mTranslationY;
        }
        return 0f;
    }

    @LayoutlibDelegate
    /*package*/ static boolean nSetTranslationZ(long renderNode, float translationZ) {
        RenderNode_Delegate delegate = sManager.getDelegate(renderNode);
        if (delegate != null && delegate.mTranslationZ != translationZ) {
            delegate.mTranslationZ = translationZ;
            return true;
        }
        return false;
    }

    @LayoutlibDelegate
    /*package*/ static float nGetTranslationZ(long renderNode) {
        RenderNode_Delegate delegate = sManager.getDelegate(renderNode);
        if (delegate != null) {
            return delegate.mTranslationZ;
        }
        return 0f;
    }

    @LayoutlibDelegate
    /*package*/ static boolean nSetRotation(long renderNode, float rotation) {
        RenderNode_Delegate delegate = sManager.getDelegate(renderNode);
@@ -103,8 +165,17 @@ public class RenderNode_Delegate {
    /*package*/ static void getMatrix(RenderNode renderNode, Matrix outMatrix) {
        outMatrix.reset();
        if (renderNode != null) {
            outMatrix.preRotate(renderNode.getRotation(), renderNode.getPivotX(),
                    renderNode.getPivotY());
            float rotation = renderNode.getRotation();
            float translationX = renderNode.getTranslationX();
            float translationY = renderNode.getTranslationY();
            float pivotX = renderNode.getPivotX();
            float pivotY = renderNode.getPivotY();
            float scaleX = renderNode.getScaleX();
            float scaleY = renderNode.getScaleY();

            outMatrix.setTranslate(translationX, translationY);
            outMatrix.preRotate(rotation, pivotX, pivotY);
            outMatrix.preScale(scaleX, scaleY, pivotX, pivotY);
        }
    }

@@ -166,18 +237,15 @@ public class RenderNode_Delegate {
    @LayoutlibDelegate
    /*package*/ static boolean nIsPivotExplicitlySet(long renderNode) {
        RenderNode_Delegate delegate = sManager.getDelegate(renderNode);
        if (delegate != null) {
            return delegate.mPivotExplicitelySet;
        }
        return false;
        return delegate != null && delegate.mPivotExplicitlySet;
    }

    @LayoutlibDelegate
    /*package*/ static boolean nSetPivotX(long renderNode, float pivotX) {
        RenderNode_Delegate delegate = sManager.getDelegate(renderNode);
        if (delegate != null && delegate.mPivotX != pivotX) {
        if (delegate != null) {
            delegate.mPivotX = pivotX;
            delegate.mPivotExplicitelySet = true;
            delegate.mPivotExplicitlySet = true;
            return true;
        }
        return false;
@@ -187,7 +255,7 @@ public class RenderNode_Delegate {
    /*package*/ static float nGetPivotX(long renderNode) {
        RenderNode_Delegate delegate = sManager.getDelegate(renderNode);
        if (delegate != null) {
            if (delegate.mPivotExplicitelySet) {
            if (delegate.mPivotExplicitlySet) {
                return delegate.mPivotX;
            } else {
                return (delegate.mRight - delegate.mLeft) / 2.0f;
@@ -199,9 +267,9 @@ public class RenderNode_Delegate {
    @LayoutlibDelegate
    /*package*/ static boolean nSetPivotY(long renderNode, float pivotY) {
        RenderNode_Delegate delegate = sManager.getDelegate(renderNode);
        if (delegate != null && delegate.mPivotY != pivotY) {
        if (delegate != null) {
            delegate.mPivotY = pivotY;
            delegate.mPivotExplicitelySet = true;
            delegate.mPivotExplicitlySet = true;
            return true;
        }
        return false;
@@ -211,7 +279,7 @@ public class RenderNode_Delegate {
    /*package*/ static float nGetPivotY(long renderNode) {
        RenderNode_Delegate delegate = sManager.getDelegate(renderNode);
        if (delegate != null) {
            if (delegate.mPivotExplicitelySet) {
            if (delegate.mPivotExplicitlySet) {
                return delegate.mPivotY;
            } else {
                return (delegate.mBottom - delegate.mTop) / 2.0f;
@@ -219,4 +287,42 @@ public class RenderNode_Delegate {
        }
        return 0f;
    }

    @LayoutlibDelegate
    /*package*/ static boolean nSetScaleX(long renderNode, float scaleX) {
        RenderNode_Delegate delegate = sManager.getDelegate(renderNode);
        if (delegate != null && delegate.mScaleX != scaleX) {
            delegate.mScaleX = scaleX;
            return true;
        }
        return false;
    }

    @LayoutlibDelegate
    /*package*/ static float nGetScaleX(long renderNode) {
        RenderNode_Delegate delegate = sManager.getDelegate(renderNode);
        if (delegate != null) {
            return delegate.mScaleX;
        }
        return 0f;
    }

    @LayoutlibDelegate
    /*package*/ static boolean nSetScaleY(long renderNode, float scaleY) {
        RenderNode_Delegate delegate = sManager.getDelegate(renderNode);
        if (delegate != null && delegate.mScaleY != scaleY) {
            delegate.mScaleY = scaleY;
            return true;
        }
        return false;
    }

    @LayoutlibDelegate
    /*package*/ static float nGetScaleY(long renderNode) {
        RenderNode_Delegate delegate = sManager.getDelegate(renderNode);
        if (delegate != null) {
            return delegate.mScaleY;
        }
        return 0f;
    }
}
+10 −0
Original line number Diff line number Diff line
@@ -192,6 +192,12 @@ public final class CreateInfo implements ICreateInfo {
        "android.view.RenderNode#nDestroyRenderNode",
        "android.view.RenderNode#nSetElevation",
        "android.view.RenderNode#nGetElevation",
        "android.view.RenderNode#nSetTranslationX",
        "android.view.RenderNode#nGetTranslationX",
        "android.view.RenderNode#nSetTranslationY",
        "android.view.RenderNode#nGetTranslationY",
        "android.view.RenderNode#nSetTranslationZ",
        "android.view.RenderNode#nGetTranslationZ",
        "android.view.RenderNode#nSetRotation",
        "android.view.RenderNode#nGetRotation",
        "android.view.RenderNode#getMatrix",
@@ -204,6 +210,10 @@ public final class CreateInfo implements ICreateInfo {
        "android.view.RenderNode#nGetPivotX",
        "android.view.RenderNode#nSetPivotY",
        "android.view.RenderNode#nGetPivotY",
        "android.view.RenderNode#nSetScaleX",
        "android.view.RenderNode#nGetScaleX",
        "android.view.RenderNode#nSetScaleY",
        "android.view.RenderNode#nGetScaleY",
        "android.view.RenderNode#nIsPivotExplicitlySet",
        "android.view.ViewGroup#drawChild",
        "android.widget.TimePickerClockDelegate#getAmOrPmKeyCode",