summaryrefslogtreecommitdiff
path: root/platform/android/jni/mupdf.c
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/jni/mupdf.c')
-rw-r--r--platform/android/jni/mupdf.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/platform/android/jni/mupdf.c b/platform/android/jni/mupdf.c
index 3652595e..8a96951b 100644
--- a/platform/android/jni/mupdf.c
+++ b/platform/android/jni/mupdf.c
@@ -644,6 +644,7 @@ JNI_FN(MuPDFCore_drawPage)(JNIEnv *env, jobject thiz, jobject bitmap,
fz_try(ctx)
{
+ fz_irect pixbbox;
pdf_document *idoc = pdf_specifics(doc);
if (idoc)
@@ -679,7 +680,11 @@ JNI_FN(MuPDFCore_drawPage)(JNIEnv *env, jobject thiz, jobject bitmap,
bbox.y0 = patchY;
bbox.x1 = patchX + patchW;
bbox.y1 = patchY + patchH;
- pix = fz_new_pixmap_with_bbox_and_data(ctx, glo->colorspace, &bbox, pixels);
+ pixbbox = bbox;
+ pixbbox.x1 = pixbbox.x0 + info.width;
+ /* pixmaps cannot handle right-edge padding, so the bbox must be expanded to
+ * match the pixels data */
+ pix = fz_new_pixmap_with_bbox_and_data(ctx, glo->colorspace, &pixbbox, pixels);
if (pc->page_list == NULL && pc->annot_list == NULL)
{
fz_clear_pixmap_with_value(ctx, pix, 0xd0);
@@ -823,6 +828,7 @@ JNI_FN(MuPDFCore_updatePageInternal)(JNIEnv *env, jobject thiz, jobject bitmap,
fz_try(ctx)
{
fz_annot *annot;
+ fz_irect pixbbox;
if (idoc)
{
@@ -853,7 +859,11 @@ JNI_FN(MuPDFCore_updatePageInternal)(JNIEnv *env, jobject thiz, jobject bitmap,
bbox.y0 = patchY;
bbox.x1 = patchX + patchW;
bbox.y1 = patchY + patchH;
- pix = fz_new_pixmap_with_bbox_and_data(ctx, glo->colorspace, &bbox, pixels);
+ pixbbox = bbox;
+ pixbbox.x1 = pixbbox.x0 + info.width;
+ /* pixmaps cannot handle right-edge padding, so the bbox must be expanded to
+ * match the pixels data */
+ pix = fz_new_pixmap_with_bbox_and_data(ctx, glo->colorspace, &pixbbox, pixels);
zoom = glo->resolution / 72;
fz_scale(&ctm, zoom, zoom);