Loading core/java/android/view/GLES20Canvas.java +11 −6 Original line number Diff line number Diff line Loading @@ -525,7 +525,7 @@ class GLES20Canvas extends HardwareCanvas { @Override public void drawArc(RectF oval, float startAngle, float sweepAngle, boolean useCenter, Paint paint) { throw new UnsupportedOperationException(); // TODO: Implement } @Override Loading Loading @@ -705,9 +705,14 @@ class GLES20Canvas extends HardwareCanvas { @Override public void drawOval(RectF oval, Paint paint) { throw new UnsupportedOperationException(); boolean hasModifier = setupModifiers(paint); nDrawOval(mRenderer, oval.left, oval.top, oval.right, oval.bottom, paint.mNativePaint); if (hasModifier) nResetModifiers(mRenderer); } private native void nDrawOval(int renderer, float left, float top, float right, float bottom, int paint); @Override public void drawPaint(Paint paint) { final Rect r = mClipBounds; Loading Loading @@ -765,12 +770,12 @@ class GLES20Canvas extends HardwareCanvas { @Override public void drawPosText(char[] text, int index, int count, float[] pos, Paint paint) { throw new UnsupportedOperationException(); // TODO: Implement } @Override public void drawPosText(String text, float[] pos, Paint paint) { throw new UnsupportedOperationException(); // TODO: Implement } @Override Loading Loading @@ -879,12 +884,12 @@ class GLES20Canvas extends HardwareCanvas { @Override public void drawTextOnPath(char[] text, int index, int count, Path path, float hOffset, float vOffset, Paint paint) { throw new UnsupportedOperationException(); // TODO: Implement } @Override public void drawTextOnPath(String text, Path path, float hOffset, float vOffset, Paint paint) { throw new UnsupportedOperationException(); // TODO: Implement } @Override Loading core/jni/android_view_GLES20Canvas.cpp +7 −0 Original line number Diff line number Diff line Loading @@ -326,6 +326,12 @@ static void android_view_GLES20Canvas_drawCircle(JNIEnv* env, jobject canvas, renderer->drawCircle(x, y, radius, paint); } static void android_view_GLES20Canvas_drawOval(JNIEnv* env, jobject canvas, OpenGLRenderer* renderer, jfloat left, jfloat top, jfloat right, jfloat bottom, SkPaint* paint) { renderer->drawOval(left, top, right, bottom, paint); } static void android_view_GLES20Canvas_drawRects(JNIEnv* env, jobject canvas, OpenGLRenderer* renderer, SkRegion* region, SkPaint* paint) { SkRegion::Iterator it(*region); Loading Loading @@ -602,6 +608,7 @@ static JNINativeMethod gMethods[] = { { "nDrawRects", "(III)V", (void*) android_view_GLES20Canvas_drawRects }, { "nDrawRoundRect", "(IFFFFFFI)V", (void*) android_view_GLES20Canvas_drawRoundRect }, { "nDrawCircle", "(IFFFI)V", (void*) android_view_GLES20Canvas_drawCircle }, { "nDrawOval", "(IFFFFI)V", (void*) android_view_GLES20Canvas_drawOval }, { "nDrawPath", "(III)V", (void*) android_view_GLES20Canvas_drawPath }, { "nDrawLines", "(I[FIII)V", (void*) android_view_GLES20Canvas_drawLines }, Loading libs/hwui/Caches.h +2 −0 Original line number Diff line number Diff line Loading @@ -162,6 +162,8 @@ public: PathCache pathCache; RoundRectShapeCache roundRectShapeCache; CircleShapeCache circleShapeCache; OvalShapeCache ovalShapeCache; RectShapeCache rectShapeCache; PatchCache patchCache; TextDropShadowCache dropShadowCache; FboCache fboCache; Loading libs/hwui/DisplayListRenderer.cpp +12 −0 Original line number Diff line number Diff line Loading @@ -107,6 +107,7 @@ const char* DisplayList::OP_NAMES[] = { "DrawRect", "DrawRoundRect", "DrawCircle", "DrawOval", "DrawPath", "DrawLines", "DrawText", Loading Loading @@ -358,6 +359,10 @@ void DisplayList::replay(OpenGLRenderer& renderer, uint32_t level) { renderer.drawCircle(getFloat(), getFloat(), getFloat(), getPaint()); } break; case DrawOval: { renderer.drawOval(getFloat(), getFloat(), getFloat(), getFloat(), getPaint()); } break; case DrawPath: { renderer.drawPath(getPath(), getPaint()); } Loading Loading @@ -663,6 +668,13 @@ void DisplayListRenderer::drawCircle(float x, float y, float radius, SkPaint* pa addPaint(paint); } void DisplayListRenderer::drawOval(float left, float top, float right, float bottom, SkPaint* paint) { addOp(DisplayList::DrawOval); addBounds(left, top, right, bottom); addPaint(paint); } void DisplayListRenderer::drawPath(SkPath* path, SkPaint* paint) { addOp(DisplayList::DrawPath); addPath(path); Loading libs/hwui/DisplayListRenderer.h +2 −0 Original line number Diff line number Diff line Loading @@ -113,6 +113,7 @@ public: DrawRect, DrawRoundRect, DrawCircle, DrawOval, DrawPath, DrawLines, DrawText, Loading Loading @@ -279,6 +280,7 @@ public: void drawRoundRect(float left, float top, float right, float bottom, float rx, float ry, SkPaint* paint); void drawCircle(float x, float y, float radius, SkPaint* paint); void drawOval(float left, float top, float right, float bottom, SkPaint* paint); void drawPath(SkPath* path, SkPaint* paint); void drawLines(float* points, int count, SkPaint* paint); void drawText(const char* text, int bytesCount, int count, float x, float y, SkPaint* paint); Loading Loading
core/java/android/view/GLES20Canvas.java +11 −6 Original line number Diff line number Diff line Loading @@ -525,7 +525,7 @@ class GLES20Canvas extends HardwareCanvas { @Override public void drawArc(RectF oval, float startAngle, float sweepAngle, boolean useCenter, Paint paint) { throw new UnsupportedOperationException(); // TODO: Implement } @Override Loading Loading @@ -705,9 +705,14 @@ class GLES20Canvas extends HardwareCanvas { @Override public void drawOval(RectF oval, Paint paint) { throw new UnsupportedOperationException(); boolean hasModifier = setupModifiers(paint); nDrawOval(mRenderer, oval.left, oval.top, oval.right, oval.bottom, paint.mNativePaint); if (hasModifier) nResetModifiers(mRenderer); } private native void nDrawOval(int renderer, float left, float top, float right, float bottom, int paint); @Override public void drawPaint(Paint paint) { final Rect r = mClipBounds; Loading Loading @@ -765,12 +770,12 @@ class GLES20Canvas extends HardwareCanvas { @Override public void drawPosText(char[] text, int index, int count, float[] pos, Paint paint) { throw new UnsupportedOperationException(); // TODO: Implement } @Override public void drawPosText(String text, float[] pos, Paint paint) { throw new UnsupportedOperationException(); // TODO: Implement } @Override Loading Loading @@ -879,12 +884,12 @@ class GLES20Canvas extends HardwareCanvas { @Override public void drawTextOnPath(char[] text, int index, int count, Path path, float hOffset, float vOffset, Paint paint) { throw new UnsupportedOperationException(); // TODO: Implement } @Override public void drawTextOnPath(String text, Path path, float hOffset, float vOffset, Paint paint) { throw new UnsupportedOperationException(); // TODO: Implement } @Override Loading
core/jni/android_view_GLES20Canvas.cpp +7 −0 Original line number Diff line number Diff line Loading @@ -326,6 +326,12 @@ static void android_view_GLES20Canvas_drawCircle(JNIEnv* env, jobject canvas, renderer->drawCircle(x, y, radius, paint); } static void android_view_GLES20Canvas_drawOval(JNIEnv* env, jobject canvas, OpenGLRenderer* renderer, jfloat left, jfloat top, jfloat right, jfloat bottom, SkPaint* paint) { renderer->drawOval(left, top, right, bottom, paint); } static void android_view_GLES20Canvas_drawRects(JNIEnv* env, jobject canvas, OpenGLRenderer* renderer, SkRegion* region, SkPaint* paint) { SkRegion::Iterator it(*region); Loading Loading @@ -602,6 +608,7 @@ static JNINativeMethod gMethods[] = { { "nDrawRects", "(III)V", (void*) android_view_GLES20Canvas_drawRects }, { "nDrawRoundRect", "(IFFFFFFI)V", (void*) android_view_GLES20Canvas_drawRoundRect }, { "nDrawCircle", "(IFFFI)V", (void*) android_view_GLES20Canvas_drawCircle }, { "nDrawOval", "(IFFFFI)V", (void*) android_view_GLES20Canvas_drawOval }, { "nDrawPath", "(III)V", (void*) android_view_GLES20Canvas_drawPath }, { "nDrawLines", "(I[FIII)V", (void*) android_view_GLES20Canvas_drawLines }, Loading
libs/hwui/Caches.h +2 −0 Original line number Diff line number Diff line Loading @@ -162,6 +162,8 @@ public: PathCache pathCache; RoundRectShapeCache roundRectShapeCache; CircleShapeCache circleShapeCache; OvalShapeCache ovalShapeCache; RectShapeCache rectShapeCache; PatchCache patchCache; TextDropShadowCache dropShadowCache; FboCache fboCache; Loading
libs/hwui/DisplayListRenderer.cpp +12 −0 Original line number Diff line number Diff line Loading @@ -107,6 +107,7 @@ const char* DisplayList::OP_NAMES[] = { "DrawRect", "DrawRoundRect", "DrawCircle", "DrawOval", "DrawPath", "DrawLines", "DrawText", Loading Loading @@ -358,6 +359,10 @@ void DisplayList::replay(OpenGLRenderer& renderer, uint32_t level) { renderer.drawCircle(getFloat(), getFloat(), getFloat(), getPaint()); } break; case DrawOval: { renderer.drawOval(getFloat(), getFloat(), getFloat(), getFloat(), getPaint()); } break; case DrawPath: { renderer.drawPath(getPath(), getPaint()); } Loading Loading @@ -663,6 +668,13 @@ void DisplayListRenderer::drawCircle(float x, float y, float radius, SkPaint* pa addPaint(paint); } void DisplayListRenderer::drawOval(float left, float top, float right, float bottom, SkPaint* paint) { addOp(DisplayList::DrawOval); addBounds(left, top, right, bottom); addPaint(paint); } void DisplayListRenderer::drawPath(SkPath* path, SkPaint* paint) { addOp(DisplayList::DrawPath); addPath(path); Loading
libs/hwui/DisplayListRenderer.h +2 −0 Original line number Diff line number Diff line Loading @@ -113,6 +113,7 @@ public: DrawRect, DrawRoundRect, DrawCircle, DrawOval, DrawPath, DrawLines, DrawText, Loading Loading @@ -279,6 +280,7 @@ public: void drawRoundRect(float left, float top, float right, float bottom, float rx, float ry, SkPaint* paint); void drawCircle(float x, float y, float radius, SkPaint* paint); void drawOval(float left, float top, float right, float bottom, SkPaint* paint); void drawPath(SkPath* path, SkPaint* paint); void drawLines(float* points, int count, SkPaint* paint); void drawText(const char* text, int bytesCount, int count, float x, float y, SkPaint* paint); Loading