Merge "Deals with android:rotation attribute in layoutlib" into mnc-ub-dev
am: 7efb74d54a
* commit '7efb74d54a22d0c693ebddf5438815b65bc67616':
Deals with android:rotation attribute in layoutlib
This commit is contained in:
@@ -19,6 +19,8 @@ package android.view;
|
||||
import com.android.layoutlib.bridge.impl.DelegateManager;
|
||||
import com.android.tools.layoutlib.annotations.LayoutlibDelegate;
|
||||
|
||||
import android.graphics.Matrix;
|
||||
|
||||
/**
|
||||
* Delegate implementing the native methods of {@link RenderNode}
|
||||
* <p/>
|
||||
@@ -36,6 +38,14 @@ public class RenderNode_Delegate {
|
||||
|
||||
|
||||
private float mLift;
|
||||
private float mRotation;
|
||||
private float mPivotX;
|
||||
private float mPivotY;
|
||||
private boolean mPivotExplicitelySet;
|
||||
private int mLeft;
|
||||
private int mRight;
|
||||
private int mTop;
|
||||
private int mBottom;
|
||||
@SuppressWarnings("UnusedDeclaration")
|
||||
private String mName;
|
||||
|
||||
@@ -69,4 +79,144 @@ public class RenderNode_Delegate {
|
||||
}
|
||||
return 0f;
|
||||
}
|
||||
|
||||
@LayoutlibDelegate
|
||||
/*package*/ static boolean nSetRotation(long renderNode, float rotation) {
|
||||
RenderNode_Delegate delegate = sManager.getDelegate(renderNode);
|
||||
if (delegate != null && delegate.mRotation != rotation) {
|
||||
delegate.mRotation = rotation;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@LayoutlibDelegate
|
||||
/*package*/ static float nGetRotation(long renderNode) {
|
||||
RenderNode_Delegate delegate = sManager.getDelegate(renderNode);
|
||||
if (delegate != null) {
|
||||
return delegate.mRotation;
|
||||
}
|
||||
return 0f;
|
||||
}
|
||||
|
||||
@LayoutlibDelegate
|
||||
/*package*/ static void getMatrix(RenderNode renderNode, Matrix outMatrix) {
|
||||
outMatrix.reset();
|
||||
if (renderNode != null) {
|
||||
outMatrix.preRotate(renderNode.getRotation(), renderNode.getPivotX(),
|
||||
renderNode.getPivotY());
|
||||
}
|
||||
}
|
||||
|
||||
@LayoutlibDelegate
|
||||
/*package*/ static boolean nSetLeft(long renderNode, int left) {
|
||||
RenderNode_Delegate delegate = sManager.getDelegate(renderNode);
|
||||
if (delegate != null && delegate.mLeft != left) {
|
||||
delegate.mLeft = left;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@LayoutlibDelegate
|
||||
/*package*/ static boolean nSetTop(long renderNode, int top) {
|
||||
RenderNode_Delegate delegate = sManager.getDelegate(renderNode);
|
||||
if (delegate != null && delegate.mTop != top) {
|
||||
delegate.mTop = top;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@LayoutlibDelegate
|
||||
/*package*/ static boolean nSetRight(long renderNode, int right) {
|
||||
RenderNode_Delegate delegate = sManager.getDelegate(renderNode);
|
||||
if (delegate != null && delegate.mRight != right) {
|
||||
delegate.mRight = right;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@LayoutlibDelegate
|
||||
/*package*/ static boolean nSetBottom(long renderNode, int bottom) {
|
||||
RenderNode_Delegate delegate = sManager.getDelegate(renderNode);
|
||||
if (delegate != null && delegate.mBottom != bottom) {
|
||||
delegate.mBottom = bottom;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@LayoutlibDelegate
|
||||
/*package*/ static boolean nSetLeftTopRightBottom(long renderNode, int left, int top, int right,
|
||||
int bottom) {
|
||||
RenderNode_Delegate delegate = sManager.getDelegate(renderNode);
|
||||
if (delegate != null && (delegate.mLeft != left || delegate.mTop != top || delegate
|
||||
.mRight != right || delegate.mBottom != bottom)) {
|
||||
delegate.mLeft = left;
|
||||
delegate.mTop = top;
|
||||
delegate.mRight = right;
|
||||
delegate.mBottom = bottom;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@LayoutlibDelegate
|
||||
/*package*/ static boolean nIsPivotExplicitlySet(long renderNode) {
|
||||
RenderNode_Delegate delegate = sManager.getDelegate(renderNode);
|
||||
if (delegate != null) {
|
||||
return delegate.mPivotExplicitelySet;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@LayoutlibDelegate
|
||||
/*package*/ static boolean nSetPivotX(long renderNode, float pivotX) {
|
||||
RenderNode_Delegate delegate = sManager.getDelegate(renderNode);
|
||||
if (delegate != null && delegate.mPivotX != pivotX) {
|
||||
delegate.mPivotX = pivotX;
|
||||
delegate.mPivotExplicitelySet = true;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@LayoutlibDelegate
|
||||
/*package*/ static float nGetPivotX(long renderNode) {
|
||||
RenderNode_Delegate delegate = sManager.getDelegate(renderNode);
|
||||
if (delegate != null) {
|
||||
if (delegate.mPivotExplicitelySet) {
|
||||
return delegate.mPivotX;
|
||||
} else {
|
||||
return (delegate.mRight - delegate.mLeft) / 2.0f;
|
||||
}
|
||||
}
|
||||
return 0f;
|
||||
}
|
||||
|
||||
@LayoutlibDelegate
|
||||
/*package*/ static boolean nSetPivotY(long renderNode, float pivotY) {
|
||||
RenderNode_Delegate delegate = sManager.getDelegate(renderNode);
|
||||
if (delegate != null && delegate.mPivotY != pivotY) {
|
||||
delegate.mPivotY = pivotY;
|
||||
delegate.mPivotExplicitelySet = true;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@LayoutlibDelegate
|
||||
/*package*/ static float nGetPivotY(long renderNode) {
|
||||
RenderNode_Delegate delegate = sManager.getDelegate(renderNode);
|
||||
if (delegate != null) {
|
||||
if (delegate.mPivotExplicitelySet) {
|
||||
return delegate.mPivotY;
|
||||
} else {
|
||||
return (delegate.mBottom - delegate.mTop) / 2.0f;
|
||||
}
|
||||
}
|
||||
return 0f;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -192,6 +192,19 @@ public final class CreateInfo implements ICreateInfo {
|
||||
"android.view.RenderNode#nDestroyRenderNode",
|
||||
"android.view.RenderNode#nSetElevation",
|
||||
"android.view.RenderNode#nGetElevation",
|
||||
"android.view.RenderNode#nSetRotation",
|
||||
"android.view.RenderNode#nGetRotation",
|
||||
"android.view.RenderNode#getMatrix",
|
||||
"android.view.RenderNode#nSetLeft",
|
||||
"android.view.RenderNode#nSetTop",
|
||||
"android.view.RenderNode#nSetRight",
|
||||
"android.view.RenderNode#nSetBottom",
|
||||
"android.view.RenderNode#nSetLeftTopRightBottom",
|
||||
"android.view.RenderNode#nSetPivotX",
|
||||
"android.view.RenderNode#nGetPivotX",
|
||||
"android.view.RenderNode#nSetPivotY",
|
||||
"android.view.RenderNode#nGetPivotY",
|
||||
"android.view.RenderNode#nIsPivotExplicitlySet",
|
||||
"android.view.ViewGroup#drawChild",
|
||||
"android.widget.SimpleMonthView#getTitle",
|
||||
"android.widget.SimpleMonthView#getDayOfWeekLabel",
|
||||
|
||||
Reference in New Issue
Block a user