diff options
author | Romain Guy <romainguy@google.com> | 2010-08-05 17:25:48 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2010-08-05 17:25:48 -0700 |
commit | 8cc44cb6696995d8387226cd131fc22386aa4f7f (patch) | |
tree | 21b9feb715bce7f3d019b8d93e205b5c480818e5 /core | |
parent | 434e4b4b64235a756047a55e642f0858252f2dd2 (diff) | |
parent | 7fbcc0492fca03857e3c45064f4aa040af817d55 (diff) | |
download | frameworks_base-8cc44cb6696995d8387226cd131fc22386aa4f7f.zip frameworks_base-8cc44cb6696995d8387226cd131fc22386aa4f7f.tar.gz frameworks_base-8cc44cb6696995d8387226cd131fc22386aa4f7f.tar.bz2 |
Merge "Add support for paths."
Diffstat (limited to 'core')
-rw-r--r-- | core/java/android/view/GLES20Canvas.java | 7 | ||||
-rw-r--r-- | core/jni/android_view_GLES20Canvas.cpp | 6 |
2 files changed, 11 insertions, 2 deletions
diff --git a/core/java/android/view/GLES20Canvas.java b/core/java/android/view/GLES20Canvas.java index 63a0c4c..8e1338d 100644 --- a/core/java/android/view/GLES20Canvas.java +++ b/core/java/android/view/GLES20Canvas.java @@ -350,7 +350,6 @@ class GLES20Canvas extends Canvas { @Override public void setDrawFilter(DrawFilter filter) { - // TODO: Implement PaintDrawFilter mFilter = filter; } @@ -522,9 +521,13 @@ class GLES20Canvas extends Canvas { @Override public void drawPath(Path path, Paint paint) { - throw new UnsupportedOperationException(); + boolean hasModifier = setupModifiers(paint); + nDrawPath(mRenderer, path.mNativePath, paint.mNativePaint); + if (hasModifier) nResetModifiers(mRenderer); } + private native void nDrawPath(int renderer, int path, int paint); + @Override public void drawPicture(Picture picture) { throw new UnsupportedOperationException(); diff --git a/core/jni/android_view_GLES20Canvas.cpp b/core/jni/android_view_GLES20Canvas.cpp index 142e194..9fd2b86 100644 --- a/core/jni/android_view_GLES20Canvas.cpp +++ b/core/jni/android_view_GLES20Canvas.cpp @@ -228,6 +228,11 @@ static void android_view_GLES20Canvas_drawRect(JNIEnv* env, jobject canvas, renderer->drawRect(left, top, right, bottom, paint); } +static void android_view_GLES20Canvas_drawPath(JNIEnv* env, jobject canvas, + OpenGLRenderer* renderer, SkPath* path, SkPaint* paint) { + renderer->drawPath(path, paint); +} + // ---------------------------------------------------------------------------- // Shaders and color filters // ---------------------------------------------------------------------------- @@ -317,6 +322,7 @@ static JNINativeMethod gMethods[] = { { "nDrawPatch", "(II[BFFFFI)V", (void*) android_view_GLES20Canvas_drawPatch }, { "nDrawColor", "(III)V", (void*) android_view_GLES20Canvas_drawColor }, { "nDrawRect", "(IFFFFI)V", (void*) android_view_GLES20Canvas_drawRect }, + { "nDrawPath", "(III)V", (void*) android_view_GLES20Canvas_drawPath }, { "nResetModifiers", "(I)V", (void*) android_view_GLES20Canvas_resetModifiers }, { "nSetupShader", "(II)V", (void*) android_view_GLES20Canvas_setupShader }, |