summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorChris Craik <ccraik@google.com>2014-04-24 14:13:40 -0700
committerChris Craik <ccraik@google.com>2014-04-24 14:23:52 -0700
commit4d1c1538e2422d0a5b19ad1cd2fb353ed6279a88 (patch)
tree9321774eb499ea3053bd46620e094fe5818edb8e /core
parent717f39c7d98c7e4b08f7bb88102c720cb8990004 (diff)
downloadframeworks_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.java6
-rw-r--r--core/jni/android/graphics/Canvas.cpp9
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",