diff options
Diffstat (limited to 'core/jni/android/graphics/Path.cpp')
-rw-r--r-- | core/jni/android/graphics/Path.cpp | 246 |
1 files changed, 153 insertions, 93 deletions
diff --git a/core/jni/android/graphics/Path.cpp b/core/jni/android/graphics/Path.cpp index 2126ed4..c4d728f 100644 --- a/core/jni/android/graphics/Path.cpp +++ b/core/jni/android/graphics/Path.cpp @@ -36,7 +36,8 @@ namespace android { class SkPathGlue { public: - static void finalizer(JNIEnv* env, jobject clazz, SkPath* obj) { + static void finalizer(JNIEnv* env, jobject clazz, jlong objHandle) { + SkPath* obj = reinterpret_cast<SkPath*>(objHandle); #ifdef USE_OPENGL_RENDERER if (android::uirenderer::Caches::hasInstance()) { android::uirenderer::Caches::getInstance().resourceCache.destructor(obj); @@ -46,79 +47,96 @@ public: delete obj; } - static SkPath* init1(JNIEnv* env, jobject clazz) { - return new SkPath(); + static jlong init1(JNIEnv* env, jobject clazz) { + return reinterpret_cast<jlong>(new SkPath()); } - - static SkPath* init2(JNIEnv* env, jobject clazz, SkPath* val) { - return new SkPath(*val); + + static jlong init2(JNIEnv* env, jobject clazz, jlong valHandle) { + SkPath* val = reinterpret_cast<SkPath*>(valHandle); + return reinterpret_cast<jlong>(new SkPath(*val)); } - - static void reset(JNIEnv* env, jobject clazz, SkPath* obj) { + + static void reset(JNIEnv* env, jobject clazz, jlong objHandle) { + SkPath* obj = reinterpret_cast<SkPath*>(objHandle); obj->reset(); } - static void rewind(JNIEnv* env, jobject clazz, SkPath* obj) { + static void rewind(JNIEnv* env, jobject clazz, jlong objHandle) { + SkPath* obj = reinterpret_cast<SkPath*>(objHandle); obj->rewind(); } - static void assign(JNIEnv* env, jobject clazz, SkPath* dst, const SkPath* src) { + static void assign(JNIEnv* env, jobject clazz, jlong dstHandle, jlong srcHandle) { + SkPath* dst = reinterpret_cast<SkPath*>(dstHandle); + const SkPath* src = reinterpret_cast<SkPath*>(srcHandle); *dst = *src; } - - static jint getFillType(JNIEnv* env, jobject clazz, SkPath* obj) { + + static jint getFillType(JNIEnv* env, jobject clazz, jlong objHandle) { + SkPath* obj = reinterpret_cast<SkPath*>(objHandle); return obj->getFillType(); } - static void setFillType(JNIEnv* env, jobject clazz, SkPath* path, SkPath::FillType ft) { + static void setFillType(JNIEnv* env, jobject clazz, jlong pathHandle, jint ftHandle) { + SkPath* path = reinterpret_cast<SkPath*>(pathHandle); + SkPath::FillType ft = static_cast<SkPath::FillType>(ftHandle); path->setFillType(ft); } - - static jboolean isEmpty(JNIEnv* env, jobject clazz, SkPath* obj) { + + static jboolean isEmpty(JNIEnv* env, jobject clazz, jlong objHandle) { + SkPath* obj = reinterpret_cast<SkPath*>(objHandle); return obj->isEmpty(); } - static jboolean isRect(JNIEnv* env, jobject clazz, SkPath* obj, jobject rect) { + static jboolean isRect(JNIEnv* env, jobject clazz, jlong objHandle, jobject rect) { SkRect rect_; + SkPath* obj = reinterpret_cast<SkPath*>(objHandle); jboolean result = obj->isRect(&rect_); GraphicsJNI::rect_to_jrectf(rect_, env, rect); return result; } - static void computeBounds(JNIEnv* env, jobject clazz, SkPath* obj, jobject bounds) { + static void computeBounds(JNIEnv* env, jobject clazz, jlong objHandle, jobject bounds) { + SkPath* obj = reinterpret_cast<SkPath*>(objHandle); const SkRect& bounds_ = obj->getBounds(); GraphicsJNI::rect_to_jrectf(bounds_, env, bounds); } - static void incReserve(JNIEnv* env, jobject clazz, SkPath* obj, jint extraPtCount) { + static void incReserve(JNIEnv* env, jobject clazz, jlong objHandle, jint extraPtCount) { + SkPath* obj = reinterpret_cast<SkPath*>(objHandle); obj->incReserve(extraPtCount); } - static void moveTo__FF(JNIEnv* env, jobject clazz, SkPath* obj, jfloat x, jfloat y) { + static void moveTo__FF(JNIEnv* env, jobject clazz, jlong objHandle, jfloat x, jfloat y) { + SkPath* obj = reinterpret_cast<SkPath*>(objHandle); SkScalar x_ = SkFloatToScalar(x); SkScalar y_ = SkFloatToScalar(y); obj->moveTo(x_, y_); } - static void rMoveTo(JNIEnv* env, jobject clazz, SkPath* obj, jfloat dx, jfloat dy) { + static void rMoveTo(JNIEnv* env, jobject clazz, jlong objHandle, jfloat dx, jfloat dy) { + SkPath* obj = reinterpret_cast<SkPath*>(objHandle); SkScalar dx_ = SkFloatToScalar(dx); SkScalar dy_ = SkFloatToScalar(dy); obj->rMoveTo(dx_, dy_); } - static void lineTo__FF(JNIEnv* env, jobject clazz, SkPath* obj, jfloat x, jfloat y) { + static void lineTo__FF(JNIEnv* env, jobject clazz, jlong objHandle, jfloat x, jfloat y) { + SkPath* obj = reinterpret_cast<SkPath*>(objHandle); SkScalar x_ = SkFloatToScalar(x); SkScalar y_ = SkFloatToScalar(y); obj->lineTo(x_, y_); } - static void rLineTo(JNIEnv* env, jobject clazz, SkPath* obj, jfloat dx, jfloat dy) { + static void rLineTo(JNIEnv* env, jobject clazz, jlong objHandle, jfloat dx, jfloat dy) { + SkPath* obj = reinterpret_cast<SkPath*>(objHandle); SkScalar dx_ = SkFloatToScalar(dx); SkScalar dy_ = SkFloatToScalar(dy); obj->rLineTo(dx_, dy_); } - static void quadTo__FFFF(JNIEnv* env, jobject clazz, SkPath* obj, jfloat x1, jfloat y1, jfloat x2, jfloat y2) { + static void quadTo__FFFF(JNIEnv* env, jobject clazz, jlong objHandle, jfloat x1, jfloat y1, jfloat x2, jfloat y2) { + SkPath* obj = reinterpret_cast<SkPath*>(objHandle); SkScalar x1_ = SkFloatToScalar(x1); SkScalar y1_ = SkFloatToScalar(y1); SkScalar x2_ = SkFloatToScalar(x2); @@ -126,7 +144,8 @@ public: obj->quadTo(x1_, y1_, x2_, y2_); } - static void rQuadTo(JNIEnv* env, jobject clazz, SkPath* obj, jfloat dx1, jfloat dy1, jfloat dx2, jfloat dy2) { + static void rQuadTo(JNIEnv* env, jobject clazz, jlong objHandle, jfloat dx1, jfloat dy1, jfloat dx2, jfloat dy2) { + SkPath* obj = reinterpret_cast<SkPath*>(objHandle); SkScalar dx1_ = SkFloatToScalar(dx1); SkScalar dy1_ = SkFloatToScalar(dy1); SkScalar dx2_ = SkFloatToScalar(dx2); @@ -134,7 +153,8 @@ public: obj->rQuadTo(dx1_, dy1_, dx2_, dy2_); } - static void cubicTo__FFFFFF(JNIEnv* env, jobject clazz, SkPath* obj, jfloat x1, jfloat y1, jfloat x2, jfloat y2, jfloat x3, jfloat y3) { + static void cubicTo__FFFFFF(JNIEnv* env, jobject clazz, jlong objHandle, jfloat x1, jfloat y1, jfloat x2, jfloat y2, jfloat x3, jfloat y3) { + SkPath* obj = reinterpret_cast<SkPath*>(objHandle); SkScalar x1_ = SkFloatToScalar(x1); SkScalar y1_ = SkFloatToScalar(y1); SkScalar x2_ = SkFloatToScalar(x2); @@ -144,7 +164,8 @@ public: obj->cubicTo(x1_, y1_, x2_, y2_, x3_, y3_); } - static void rCubicTo(JNIEnv* env, jobject clazz, SkPath* obj, jfloat x1, jfloat y1, jfloat x2, jfloat y2, jfloat x3, jfloat y3) { + static void rCubicTo(JNIEnv* env, jobject clazz, jlong objHandle, jfloat x1, jfloat y1, jfloat x2, jfloat y2, jfloat x3, jfloat y3) { + SkPath* obj = reinterpret_cast<SkPath*>(objHandle); SkScalar x1_ = SkFloatToScalar(x1); SkScalar y1_ = SkFloatToScalar(y1); SkScalar x2_ = SkFloatToScalar(x2); @@ -154,7 +175,8 @@ public: obj->rCubicTo(x1_, y1_, x2_, y2_, x3_, y3_); } - static void arcTo(JNIEnv* env, jobject clazz, SkPath* obj, jobject oval, jfloat startAngle, jfloat sweepAngle, jboolean forceMoveTo) { + static void arcTo(JNIEnv* env, jobject clazz, jlong objHandle, jobject oval, jfloat startAngle, jfloat sweepAngle, jboolean forceMoveTo) { + SkPath* obj = reinterpret_cast<SkPath*>(objHandle); SkRect oval_; GraphicsJNI::jrectf_to_rect(env, oval, &oval_); SkScalar startAngle_ = SkFloatToScalar(startAngle); @@ -162,17 +184,22 @@ public: obj->arcTo(oval_, startAngle_, sweepAngle_, forceMoveTo); } - static void close(JNIEnv* env, jobject clazz, SkPath* obj) { + static void close(JNIEnv* env, jobject clazz, jlong objHandle) { + SkPath* obj = reinterpret_cast<SkPath*>(objHandle); obj->close(); } - static void addRect__RectFI(JNIEnv* env, jobject clazz, SkPath* obj, jobject rect, SkPath::Direction dir) { + static void addRect__RectFI(JNIEnv* env, jobject clazz, jlong objHandle, jobject rect, jint dirHandle) { SkRect rect_; + SkPath* obj = reinterpret_cast<SkPath*>(objHandle); + SkPath::Direction dir = static_cast<SkPath::Direction>(dirHandle); GraphicsJNI::jrectf_to_rect(env, rect, &rect_); obj->addRect(rect_, dir); } - static void addRect__FFFFI(JNIEnv* env, jobject clazz, SkPath* obj, jfloat left, jfloat top, jfloat right, jfloat bottom, SkPath::Direction dir) { + static void addRect__FFFFI(JNIEnv* env, jobject clazz, jlong objHandle, jfloat left, jfloat top, jfloat right, jfloat bottom, jint dirHandle) { + SkPath* obj = reinterpret_cast<SkPath*>(objHandle); + SkPath::Direction dir = static_cast<SkPath::Direction>(dirHandle); SkScalar left_ = SkFloatToScalar(left); SkScalar top_ = SkFloatToScalar(top); SkScalar right_ = SkFloatToScalar(right); @@ -180,39 +207,48 @@ public: obj->addRect(left_, top_, right_, bottom_, dir); } - static void addOval(JNIEnv* env, jobject clazz, SkPath* obj, jobject oval, SkPath::Direction dir) { + static void addOval(JNIEnv* env, jobject clazz, jlong objHandle, jobject oval, jint dirHandle) { + SkPath* obj = reinterpret_cast<SkPath*>(objHandle); + SkPath::Direction dir = static_cast<SkPath::Direction>(dirHandle); SkRect oval_; GraphicsJNI::jrectf_to_rect(env, oval, &oval_); obj->addOval(oval_, dir); } - static void addCircle(JNIEnv* env, jobject clazz, SkPath* obj, jfloat x, jfloat y, jfloat radius, SkPath::Direction dir) { + static void addCircle(JNIEnv* env, jobject clazz, jlong objHandle, jfloat x, jfloat y, jfloat radius, jint dirHandle) { + SkPath* obj = reinterpret_cast<SkPath*>(objHandle); + SkPath::Direction dir = static_cast<SkPath::Direction>(dirHandle); SkScalar x_ = SkFloatToScalar(x); SkScalar y_ = SkFloatToScalar(y); SkScalar radius_ = SkFloatToScalar(radius); obj->addCircle(x_, y_, radius_, dir); } - static void addArc(JNIEnv* env, jobject clazz, SkPath* obj, jobject oval, jfloat startAngle, jfloat sweepAngle) { + static void addArc(JNIEnv* env, jobject clazz, jlong objHandle, jobject oval, jfloat startAngle, jfloat sweepAngle) { SkRect oval_; + SkPath* obj = reinterpret_cast<SkPath*>(objHandle); GraphicsJNI::jrectf_to_rect(env, oval, &oval_); SkScalar startAngle_ = SkFloatToScalar(startAngle); SkScalar sweepAngle_ = SkFloatToScalar(sweepAngle); obj->addArc(oval_, startAngle_, sweepAngle_); } - static void addRoundRectXY(JNIEnv* env, jobject clazz, SkPath* obj, jobject rect, - jfloat rx, jfloat ry, SkPath::Direction dir) { + static void addRoundRectXY(JNIEnv* env, jobject clazz, jlong objHandle, jobject rect, + jfloat rx, jfloat ry, jint dirHandle) { SkRect rect_; + SkPath* obj = reinterpret_cast<SkPath*>(objHandle); + SkPath::Direction dir = static_cast<SkPath::Direction>(dirHandle); GraphicsJNI::jrectf_to_rect(env, rect, &rect_); SkScalar rx_ = SkFloatToScalar(rx); SkScalar ry_ = SkFloatToScalar(ry); obj->addRoundRect(rect_, rx_, ry_, dir); } - static void addRoundRect8(JNIEnv* env, jobject, SkPath* obj, jobject rect, - jfloatArray array, SkPath::Direction dir) { + static void addRoundRect8(JNIEnv* env, jobject, jlong objHandle, jobject rect, + jfloatArray array, jint dirHandle) { SkRect rect_; + SkPath* obj = reinterpret_cast<SkPath*>(objHandle); + SkPath::Direction dir = static_cast<SkPath::Direction>(dirHandle); GraphicsJNI::jrectf_to_rect(env, rect, &rect_); AutoJavaFloatArray afa(env, array, 8); const float* src = afa.ptr(); @@ -224,48 +260,68 @@ public: obj->addRoundRect(rect_, dst, dir); } - static void addPath__PathFF(JNIEnv* env, jobject clazz, SkPath* obj, SkPath* src, jfloat dx, jfloat dy) { + static void addPath__PathFF(JNIEnv* env, jobject clazz, jlong objHandle, jlong srcHandle, jfloat dx, jfloat dy) { + SkPath* obj = reinterpret_cast<SkPath*>(objHandle); + SkPath* src = reinterpret_cast<SkPath*>(srcHandle); SkScalar dx_ = SkFloatToScalar(dx); SkScalar dy_ = SkFloatToScalar(dy); obj->addPath(*src, dx_, dy_); } - static void addPath__Path(JNIEnv* env, jobject clazz, SkPath* obj, SkPath* src) { + static void addPath__Path(JNIEnv* env, jobject clazz, jlong objHandle, jlong srcHandle) { + SkPath* obj = reinterpret_cast<SkPath*>(objHandle); + SkPath* src = reinterpret_cast<SkPath*>(srcHandle); obj->addPath(*src); } - static void addPath__PathMatrix(JNIEnv* env, jobject clazz, SkPath* obj, SkPath* src, SkMatrix* matrix) { + static void addPath__PathMatrix(JNIEnv* env, jobject clazz, jlong objHandle, jlong srcHandle, jlong matrixHandle) { + SkPath* obj = reinterpret_cast<SkPath*>(objHandle); + SkPath* src = reinterpret_cast<SkPath*>(srcHandle); + SkMatrix* matrix = reinterpret_cast<SkMatrix*>(matrixHandle); obj->addPath(*src, *matrix); } - static void offset__FFPath(JNIEnv* env, jobject clazz, SkPath* obj, jfloat dx, jfloat dy, SkPath* dst) { + static void offset__FFPath(JNIEnv* env, jobject clazz, jlong objHandle, jfloat dx, jfloat dy, jlong dstHandle) { + SkPath* obj = reinterpret_cast<SkPath*>(objHandle); + SkPath* dst = reinterpret_cast<SkPath*>(dstHandle); SkScalar dx_ = SkFloatToScalar(dx); SkScalar dy_ = SkFloatToScalar(dy); obj->offset(dx_, dy_, dst); } - static void offset__FF(JNIEnv* env, jobject clazz, SkPath* obj, jfloat dx, jfloat dy) { + static void offset__FF(JNIEnv* env, jobject clazz, jlong objHandle, jfloat dx, jfloat dy) { + SkPath* obj = reinterpret_cast<SkPath*>(objHandle); SkScalar dx_ = SkFloatToScalar(dx); SkScalar dy_ = SkFloatToScalar(dy); obj->offset(dx_, dy_); } - static void setLastPoint(JNIEnv* env, jobject clazz, SkPath* obj, jfloat dx, jfloat dy) { + static void setLastPoint(JNIEnv* env, jobject clazz, jlong objHandle, jfloat dx, jfloat dy) { + SkPath* obj = reinterpret_cast<SkPath*>(objHandle); SkScalar dx_ = SkFloatToScalar(dx); SkScalar dy_ = SkFloatToScalar(dy); obj->setLastPt(dx_, dy_); } - static void transform__MatrixPath(JNIEnv* env, jobject clazz, SkPath* obj, SkMatrix* matrix, SkPath* dst) { + static void transform__MatrixPath(JNIEnv* env, jobject clazz, jlong objHandle, jlong matrixHandle, jlong dstHandle) { + SkPath* obj = reinterpret_cast<SkPath*>(objHandle); + SkMatrix* matrix = reinterpret_cast<SkMatrix*>(matrixHandle); + SkPath* dst = reinterpret_cast<SkPath*>(dstHandle); obj->transform(*matrix, dst); } - static void transform__Matrix(JNIEnv* env, jobject clazz, SkPath* obj, SkMatrix* matrix) { + static void transform__Matrix(JNIEnv* env, jobject clazz, jlong objHandle, jlong matrixHandle) { + SkPath* obj = reinterpret_cast<SkPath*>(objHandle); + SkMatrix* matrix = reinterpret_cast<SkMatrix*>(matrixHandle); obj->transform(*matrix); } - static jboolean op(JNIEnv* env, jobject clazz, SkPath* p1, SkPath* p2, SkPathOp op, SkPath* r) { - return Op(*p1, *p2, op, r); + static jboolean op(JNIEnv* env, jobject clazz, jlong p1Handle, jlong p2Handle, jint opHandle, jlong rHandle) { + SkPath* p1 = reinterpret_cast<SkPath*>(p1Handle); + SkPath* p2 = reinterpret_cast<SkPath*>(p2Handle); + SkPathOp op = static_cast<SkPathOp>(opHandle); + SkPath* r = reinterpret_cast<SkPath*>(rHandle); + return Op(*p1, *p2, op, r); } typedef SkPoint (*bezierCalculation)(float t, const SkPoint* points); @@ -421,8 +477,9 @@ public: // Note that more than one point may have the same length along the path in // the case of a move. // NULL can be returned if the Path is empty. - static jfloatArray approximate(JNIEnv* env, jclass, SkPath* path, float acceptableError) + static jfloatArray approximate(JNIEnv* env, jclass, jlong pathHandle, float acceptableError) { + SkPath* path = reinterpret_cast<SkPath*>(pathHandle); SkASSERT(path); SkPath::Iter pathIter(*path, false); SkPath::Verb verb; @@ -459,8 +516,11 @@ public: return result; } - static SkPathMeasure* trim(JNIEnv* env, jobject clazz, SkPath* inPath, SkPath* outPath, - SkPathMeasure* pathMeasure, jfloat trimStart, jfloat trimEnd, jfloat trimOffset) { + static SkPathMeasure* trim(JNIEnv* env, jobject clazz, jlong inPathPtr, jlong outPathPtr, + jlong pathMeasurePtr, jfloat trimStart, jfloat trimEnd, jfloat trimOffset) { + SkPath* inPath = reinterpret_cast<SkPath*>(inPathPtr); + SkPath* outPath = reinterpret_cast<SkPath*>(outPathPtr); + SkPathMeasure* pathMeasure = reinterpret_cast<SkPathMeasure*>(pathMeasurePtr); if (trimStart == 0 && trimEnd == 1) { if (outPath != NULL) { *outPath = *inPath; @@ -500,53 +560,53 @@ public: return pathMeasure; } - static void destroyMeasure(JNIEnv* env, jobject clazz, SkPathMeasure* measure) { - delete measure; + static void destroyMeasure(JNIEnv* env, jobject clazz, jlong measure) { + delete reinterpret_cast<SkPathMeasure*>(measure); } }; static JNINativeMethod methods[] = { - {"finalizer", "(I)V", (void*) SkPathGlue::finalizer}, - {"init1","()I", (void*) SkPathGlue::init1}, - {"init2","(I)I", (void*) SkPathGlue::init2}, - {"native_reset","(I)V", (void*) SkPathGlue::reset}, - {"native_rewind","(I)V", (void*) SkPathGlue::rewind}, - {"native_set","(II)V", (void*) SkPathGlue::assign}, - {"native_getFillType","(I)I", (void*) SkPathGlue::getFillType}, - {"native_setFillType","(II)V", (void*) SkPathGlue::setFillType}, - {"native_isEmpty","(I)Z", (void*) SkPathGlue::isEmpty}, - {"native_isRect","(ILandroid/graphics/RectF;)Z", (void*) SkPathGlue::isRect}, - {"native_computeBounds","(ILandroid/graphics/RectF;)V", (void*) SkPathGlue::computeBounds}, - {"native_incReserve","(II)V", (void*) SkPathGlue::incReserve}, - {"native_moveTo","(IFF)V", (void*) SkPathGlue::moveTo__FF}, - {"native_rMoveTo","(IFF)V", (void*) SkPathGlue::rMoveTo}, - {"native_lineTo","(IFF)V", (void*) SkPathGlue::lineTo__FF}, - {"native_rLineTo","(IFF)V", (void*) SkPathGlue::rLineTo}, - {"native_quadTo","(IFFFF)V", (void*) SkPathGlue::quadTo__FFFF}, - {"native_rQuadTo","(IFFFF)V", (void*) SkPathGlue::rQuadTo}, - {"native_cubicTo","(IFFFFFF)V", (void*) SkPathGlue::cubicTo__FFFFFF}, - {"native_rCubicTo","(IFFFFFF)V", (void*) SkPathGlue::rCubicTo}, - {"native_arcTo","(ILandroid/graphics/RectF;FFZ)V", (void*) SkPathGlue::arcTo}, - {"native_close","(I)V", (void*) SkPathGlue::close}, - {"native_addRect","(ILandroid/graphics/RectF;I)V", (void*) SkPathGlue::addRect__RectFI}, - {"native_addRect","(IFFFFI)V", (void*) SkPathGlue::addRect__FFFFI}, - {"native_addOval","(ILandroid/graphics/RectF;I)V", (void*) SkPathGlue::addOval}, - {"native_addCircle","(IFFFI)V", (void*) SkPathGlue::addCircle}, - {"native_addArc","(ILandroid/graphics/RectF;FF)V", (void*) SkPathGlue::addArc}, - {"native_addRoundRect","(ILandroid/graphics/RectF;FFI)V", (void*) SkPathGlue::addRoundRectXY}, - {"native_addRoundRect","(ILandroid/graphics/RectF;[FI)V", (void*) SkPathGlue::addRoundRect8}, - {"native_addPath","(IIFF)V", (void*) SkPathGlue::addPath__PathFF}, - {"native_addPath","(II)V", (void*) SkPathGlue::addPath__Path}, - {"native_addPath","(III)V", (void*) SkPathGlue::addPath__PathMatrix}, - {"native_offset","(IFFI)V", (void*) SkPathGlue::offset__FFPath}, - {"native_offset","(IFF)V", (void*) SkPathGlue::offset__FF}, - {"native_setLastPoint","(IFF)V", (void*) SkPathGlue::setLastPoint}, - {"native_transform","(III)V", (void*) SkPathGlue::transform__MatrixPath}, - {"native_transform","(II)V", (void*) SkPathGlue::transform__Matrix}, - {"native_op","(IIII)Z", (void*) SkPathGlue::op}, - {"native_approximate", "(IF)[F", (void*) SkPathGlue::approximate}, - {"native_destroyMeasure","(I)V", (void*) SkPathGlue::destroyMeasure}, - {"native_trim","(IIIFFF)I", (void*) SkPathGlue::trim}, + {"finalizer", "(J)V", (void*) SkPathGlue::finalizer}, + {"init1","()J", (void*) SkPathGlue::init1}, + {"init2","(J)J", (void*) SkPathGlue::init2}, + {"native_reset","(J)V", (void*) SkPathGlue::reset}, + {"native_rewind","(J)V", (void*) SkPathGlue::rewind}, + {"native_set","(JJ)V", (void*) SkPathGlue::assign}, + {"native_getFillType","(J)I", (void*) SkPathGlue::getFillType}, + {"native_setFillType","(JI)V", (void*) SkPathGlue::setFillType}, + {"native_isEmpty","(J)Z", (void*) SkPathGlue::isEmpty}, + {"native_isRect","(JLandroid/graphics/RectF;)Z", (void*) SkPathGlue::isRect}, + {"native_computeBounds","(JLandroid/graphics/RectF;)V", (void*) SkPathGlue::computeBounds}, + {"native_incReserve","(JI)V", (void*) SkPathGlue::incReserve}, + {"native_moveTo","(JFF)V", (void*) SkPathGlue::moveTo__FF}, + {"native_rMoveTo","(JFF)V", (void*) SkPathGlue::rMoveTo}, + {"native_lineTo","(JFF)V", (void*) SkPathGlue::lineTo__FF}, + {"native_rLineTo","(JFF)V", (void*) SkPathGlue::rLineTo}, + {"native_quadTo","(JFFFF)V", (void*) SkPathGlue::quadTo__FFFF}, + {"native_rQuadTo","(JFFFF)V", (void*) SkPathGlue::rQuadTo}, + {"native_cubicTo","(JFFFFFF)V", (void*) SkPathGlue::cubicTo__FFFFFF}, + {"native_rCubicTo","(JFFFFFF)V", (void*) SkPathGlue::rCubicTo}, + {"native_arcTo","(JLandroid/graphics/RectF;FFZ)V", (void*) SkPathGlue::arcTo}, + {"native_close","(J)V", (void*) SkPathGlue::close}, + {"native_addRect","(JLandroid/graphics/RectF;I)V", (void*) SkPathGlue::addRect__RectFI}, + {"native_addRect","(JFFFFI)V", (void*) SkPathGlue::addRect__FFFFI}, + {"native_addOval","(JLandroid/graphics/RectF;I)V", (void*) SkPathGlue::addOval}, + {"native_addCircle","(JFFFI)V", (void*) SkPathGlue::addCircle}, + {"native_addArc","(JLandroid/graphics/RectF;FF)V", (void*) SkPathGlue::addArc}, + {"native_addRoundRect","(JLandroid/graphics/RectF;FFI)V", (void*) SkPathGlue::addRoundRectXY}, + {"native_addRoundRect","(JLandroid/graphics/RectF;[FI)V", (void*) SkPathGlue::addRoundRect8}, + {"native_addPath","(JJFF)V", (void*) SkPathGlue::addPath__PathFF}, + {"native_addPath","(JJ)V", (void*) SkPathGlue::addPath__Path}, + {"native_addPath","(JJJ)V", (void*) SkPathGlue::addPath__PathMatrix}, + {"native_offset","(JFFJ)V", (void*) SkPathGlue::offset__FFPath}, + {"native_offset","(JFF)V", (void*) SkPathGlue::offset__FF}, + {"native_setLastPoint","(JFF)V", (void*) SkPathGlue::setLastPoint}, + {"native_transform","(JJJ)V", (void*) SkPathGlue::transform__MatrixPath}, + {"native_transform","(JJ)V", (void*) SkPathGlue::transform__Matrix}, + {"native_op","(JJIJ)Z", (void*) SkPathGlue::op}, + {"native_approximate", "(JF)[F", (void*) SkPathGlue::approximate}, + {"native_destroyMeasure","(J)V", (void*) SkPathGlue::destroyMeasure}, + {"native_trim","(JJJFFF)I", (void*) SkPathGlue::trim}, }; int register_android_graphics_Path(JNIEnv* env) { |