diff options
author | Chris Craik <ccraik@google.com> | 2014-04-24 14:13:40 -0700 |
---|---|---|
committer | Chris Craik <ccraik@google.com> | 2014-04-24 14:23:52 -0700 |
commit | 4d1c1538e2422d0a5b19ad1cd2fb353ed6279a88 (patch) | |
tree | 9321774eb499ea3053bd46620e094fe5818edb8e /core | |
parent | 717f39c7d98c7e4b08f7bb88102c720cb8990004 (diff) | |
download | frameworks_base-4d1c1538e2422d0a5b19ad1cd2fb353ed6279a88.zip frameworks_base-4d1c1538e2422d0a5b19ad1cd2fb353ed6279a88.tar.gz frameworks_base-4d1c1538e2422d0a5b19ad1cd2fb353ed6279a88.tar.bz2 |
Add floats-only drawRoundRect to Canvas
Change-Id: Ib0033a2d2486a808a44984ec4adf7fef76d9ea17
Diffstat (limited to 'core')
-rw-r--r-- | core/java/android/view/GLES20Canvas.java | 6 | ||||
-rw-r--r-- | core/jni/android/graphics/Canvas.cpp | 9 |
2 files changed, 7 insertions, 8 deletions
diff --git a/core/java/android/view/GLES20Canvas.java b/core/java/android/view/GLES20Canvas.java index f0d8a61..34b85d9 100644 --- a/core/java/android/view/GLES20Canvas.java +++ b/core/java/android/view/GLES20Canvas.java @@ -1117,11 +1117,11 @@ class GLES20Canvas extends HardwareCanvas { } @Override - public void drawRoundRect(RectF rect, float rx, float ry, Paint paint) { + public void drawRoundRect(float left, float top, float right, float bottom, float rx, float ry, + Paint paint) { int modifiers = setupModifiers(paint, MODIFIER_SHADER); try { - nDrawRoundRect(mRenderer, rect.left, rect.top, rect.right, rect.bottom, - rx, ry, paint.mNativePaint); + nDrawRoundRect(mRenderer, left, top, right, bottom, rx, ry, paint.mNativePaint); } finally { if (modifiers != MODIFIER_NONE) nResetModifiers(mRenderer, modifiers); } diff --git a/core/jni/android/graphics/Canvas.cpp b/core/jni/android/graphics/Canvas.cpp index 5148266..2adbf3a 100644 --- a/core/jni/android/graphics/Canvas.cpp +++ b/core/jni/android/graphics/Canvas.cpp @@ -509,12 +509,11 @@ public: } static void drawRoundRect(JNIEnv* env, jobject, jlong canvasHandle, - jobject jrect, jfloat rx, jfloat ry, - jlong paintHandle) { + jfloat left, jfloat top, jfloat right, jfloat bottom, jfloat rx, jfloat ry, + jlong paintHandle) { SkCanvas* canvas = reinterpret_cast<SkCanvas*>(canvasHandle); SkPaint* paint = reinterpret_cast<SkPaint*>(paintHandle); - SkRect rect; - GraphicsJNI::jrectf_to_rect(env, jrect, &rect); + SkRect rect = SkRect::MakeLTRB(left, top, right, bottom); canvas->drawRoundRect(rect, rx, ry, *paint); } @@ -1176,7 +1175,7 @@ static JNINativeMethod gCanvasMethods[] = { {"native_drawCircle","(JFFFJ)V", (void*) SkCanvasGlue::drawCircle}, {"native_drawArc","(JLandroid/graphics/RectF;FFZJ)V", (void*) SkCanvasGlue::drawArc}, - {"native_drawRoundRect","(JLandroid/graphics/RectF;FFJ)V", + {"native_drawRoundRect","(JFFFFFFJ)V", (void*) SkCanvasGlue::drawRoundRect}, {"native_drawPath","(JJJ)V", (void*) SkCanvasGlue::drawPath}, {"native_drawBitmap","(JJFFJIII)V", |