Loading core/java/android/view/GLES20Canvas.java +7 −0 Original line number Diff line number Diff line Loading @@ -319,6 +319,13 @@ class GLES20Canvas extends HardwareCanvas { private native void nSetMatrix(int renderer, int matrix); @Override public int getNativeMatrix() { return nGetMatrix(mRenderer); } private native int nGetMatrix(int renderer); @Override public void getMatrix(Matrix matrix) { nGetMatrix(mRenderer, matrix.native_instance); Loading core/jni/android_view_GLES20Canvas.cpp +6 −0 Original line number Diff line number Diff line Loading @@ -218,6 +218,11 @@ static void android_view_GLES20Canvas_setMatrix(JNIEnv* env, jobject canvas, renderer->setMatrix(matrix); } static const float* android_view_GLES20Canvas_getNativeMatrix(JNIEnv* env, jobject canvas, OpenGLRenderer* renderer) { return renderer->getMatrix(); } static void android_view_GLES20Canvas_getMatrix(JNIEnv* env, jobject canvas, OpenGLRenderer* renderer, SkMatrix* matrix) { renderer->getMatrix(matrix); Loading Loading @@ -468,6 +473,7 @@ static JNINativeMethod gMethods[] = { { "nScale", "(IFF)V", (void*) android_view_GLES20Canvas_scale }, { "nSetMatrix", "(II)V", (void*) android_view_GLES20Canvas_setMatrix }, { "nGetMatrix", "(I)I", (void*) android_view_GLES20Canvas_getNativeMatrix }, { "nGetMatrix", "(II)V", (void*) android_view_GLES20Canvas_getMatrix }, { "nConcatMatrix", "(II)V", (void*) android_view_GLES20Canvas_concatMatrix }, Loading graphics/java/android/graphics/Canvas.java +10 −0 Original line number Diff line number Diff line Loading @@ -448,6 +448,16 @@ public class Canvas { native_getCTM(mNativeCanvas, ctm.native_instance); } /** * Returns a pointer to an internal 4x4 native matrix. The returned * pointer is a pointer to an array of 16 floats. * * @hide */ public int getNativeMatrix() { return 0; } /** * Return a new matrix with a copy of the canvas' current transformation * matrix. Loading libs/hwui/OpenGLRenderer.cpp +4 −0 Original line number Diff line number Diff line Loading @@ -584,6 +584,10 @@ void OpenGLRenderer::setMatrix(SkMatrix* matrix) { mSnapshot->transform->load(*matrix); } const float* OpenGLRenderer::getMatrix() const { return &mSnapshot->transform->data[0]; } void OpenGLRenderer::getMatrix(SkMatrix* matrix) { mSnapshot->transform->copyTo(*matrix); } Loading libs/hwui/OpenGLRenderer.h +1 −0 Original line number Diff line number Diff line Loading @@ -87,6 +87,7 @@ public: virtual void rotate(float degrees); virtual void scale(float sx, float sy); const float* getMatrix() const; void getMatrix(SkMatrix* matrix); virtual void setMatrix(SkMatrix* matrix); virtual void concatMatrix(SkMatrix* matrix); Loading Loading
core/java/android/view/GLES20Canvas.java +7 −0 Original line number Diff line number Diff line Loading @@ -319,6 +319,13 @@ class GLES20Canvas extends HardwareCanvas { private native void nSetMatrix(int renderer, int matrix); @Override public int getNativeMatrix() { return nGetMatrix(mRenderer); } private native int nGetMatrix(int renderer); @Override public void getMatrix(Matrix matrix) { nGetMatrix(mRenderer, matrix.native_instance); Loading
core/jni/android_view_GLES20Canvas.cpp +6 −0 Original line number Diff line number Diff line Loading @@ -218,6 +218,11 @@ static void android_view_GLES20Canvas_setMatrix(JNIEnv* env, jobject canvas, renderer->setMatrix(matrix); } static const float* android_view_GLES20Canvas_getNativeMatrix(JNIEnv* env, jobject canvas, OpenGLRenderer* renderer) { return renderer->getMatrix(); } static void android_view_GLES20Canvas_getMatrix(JNIEnv* env, jobject canvas, OpenGLRenderer* renderer, SkMatrix* matrix) { renderer->getMatrix(matrix); Loading Loading @@ -468,6 +473,7 @@ static JNINativeMethod gMethods[] = { { "nScale", "(IFF)V", (void*) android_view_GLES20Canvas_scale }, { "nSetMatrix", "(II)V", (void*) android_view_GLES20Canvas_setMatrix }, { "nGetMatrix", "(I)I", (void*) android_view_GLES20Canvas_getNativeMatrix }, { "nGetMatrix", "(II)V", (void*) android_view_GLES20Canvas_getMatrix }, { "nConcatMatrix", "(II)V", (void*) android_view_GLES20Canvas_concatMatrix }, Loading
graphics/java/android/graphics/Canvas.java +10 −0 Original line number Diff line number Diff line Loading @@ -448,6 +448,16 @@ public class Canvas { native_getCTM(mNativeCanvas, ctm.native_instance); } /** * Returns a pointer to an internal 4x4 native matrix. The returned * pointer is a pointer to an array of 16 floats. * * @hide */ public int getNativeMatrix() { return 0; } /** * Return a new matrix with a copy of the canvas' current transformation * matrix. Loading
libs/hwui/OpenGLRenderer.cpp +4 −0 Original line number Diff line number Diff line Loading @@ -584,6 +584,10 @@ void OpenGLRenderer::setMatrix(SkMatrix* matrix) { mSnapshot->transform->load(*matrix); } const float* OpenGLRenderer::getMatrix() const { return &mSnapshot->transform->data[0]; } void OpenGLRenderer::getMatrix(SkMatrix* matrix) { mSnapshot->transform->copyTo(*matrix); } Loading
libs/hwui/OpenGLRenderer.h +1 −0 Original line number Diff line number Diff line Loading @@ -87,6 +87,7 @@ public: virtual void rotate(float degrees); virtual void scale(float sx, float sy); const float* getMatrix() const; void getMatrix(SkMatrix* matrix); virtual void setMatrix(SkMatrix* matrix); virtual void concatMatrix(SkMatrix* matrix); Loading