From f5ac2007f11147cdc59bd1a9a3f8d43d72690b2d Mon Sep 17 00:00:00 2001 From: Sebastian Rasmussen Date: Tue, 24 Oct 2017 15:41:38 +0200 Subject: jni: Return correct quadpoints coordinates. --- source/pdf/pdf-annot-edit.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) (limited to 'source/pdf/pdf-annot-edit.c') diff --git a/source/pdf/pdf-annot-edit.c b/source/pdf/pdf-annot-edit.c index dbca68c6..d0ad0915 100644 --- a/source/pdf/pdf-annot-edit.c +++ b/source/pdf/pdf-annot-edit.c @@ -654,29 +654,25 @@ pdf_annot_quad_point_count(fz_context *ctx, pdf_annot *annot) pdf_obj *quad_points; check_allowed_subtypes(ctx, annot, PDF_NAME_QuadPoints, quad_point_subtypes); quad_points = pdf_dict_get(ctx, annot->obj, PDF_NAME_QuadPoints); - return pdf_array_len(ctx, quad_points); + return pdf_array_len(ctx, quad_points) / 8; } void pdf_annot_quad_point(fz_context *ctx, pdf_annot *annot, int idx, float v[8]) { pdf_obj *quad_points; - pdf_obj *quad_point; fz_matrix page_ctm; int i; check_allowed_subtypes(ctx, annot, PDF_NAME_QuadPoints, quad_point_subtypes); - quad_points = pdf_dict_get(ctx, annot->obj, PDF_NAME_QuadPoints); - quad_point = pdf_array_get(ctx, quad_points, idx); - pdf_page_transform(ctx, annot->page, NULL, &page_ctm); for (i = 0; i < 8; i += 2) { fz_point point; - point.x = pdf_to_real(ctx, pdf_array_get(ctx, quad_point, i+0)); - point.y = pdf_to_real(ctx, pdf_array_get(ctx, quad_point, i+1)); + point.x = pdf_to_real(ctx, pdf_array_get(ctx, quad_points, idx * 8 + i + 0)); + point.y = pdf_to_real(ctx, pdf_array_get(ctx, quad_points, idx * 8 + i + 1)); fz_transform_point(&point, &page_ctm); v[i+0] = point.x; v[i+1] = point.y; -- cgit v1.2.3