đây là hàm trên JAVA:
public native void drawPage(Canvas canvas, int page);
hàm dưới C++
Code:
static SkCanvas* getCanvas(JNIEnv* env, jobject jcanvas) {
return (SkCanvas*) env->GetIntField(jcanvas, fields.nativeCanvas);
}
Code:
/*
* Method: drawPage
* Signature: (Landroid/graphics/Canvas;I)V
*/
static void drawPage(JNIEnv *env, jobject clazz, jobject jcanvas, jint page) {
PDFDoc *doc = getDoc(env, clazz);
if (!doc || !doc->isOk())
return;
SkCanvas *canvas = getCanvas(env, jcanvas);
AndroidOutputDev out(canvas, doc->getXRef());
double hDPI = gethDPI(env, clazz);
double vDPI = getvDPI(env, clazz);
int rotate = getRotate(env, clazz);
int useMediaBox = getUseMediaBox(env, clazz);
int crop = getCrop(env, clazz);
LOGV("page: %d", page);
doc->displayPage(&out, (int)page, hDPI, vDPI, rotate, useMediaBox, crop,
0, NULL, NULL, NULL, NULL);
}
mình hỏi là SkCanvas nó tưong đưong với import android.graphics.Canvas à ???