From 1ed8a21d5c26a9d78240d7d56850a1a4738d3f9c Mon Sep 17 00:00:00 2001 From: Tom Sepez Date: Mon, 11 May 2015 15:25:39 -0700 Subject: Merge to XFA: Create top-level public/ header directory. Original Review URL: https://codereview.chromium.org/1135913002 BUG=pdfium:154 R=thestig@chromium.org Review URL: https://codereview.chromium.org/1136703003 --- public/fpdf_progressive.h | 102 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 public/fpdf_progressive.h (limited to 'public/fpdf_progressive.h') diff --git a/public/fpdf_progressive.h b/public/fpdf_progressive.h new file mode 100644 index 0000000000..69bbfba4cd --- /dev/null +++ b/public/fpdf_progressive.h @@ -0,0 +1,102 @@ +// Copyright 2014 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef _FPDF_PROGRESSIVE_H_ +#define _FPDF_PROGRESSIVE_H_ + +#include "fpdfview.h" + +//Flags for progressive process status. +#define FPDF_RENDER_READER 0 +#define FPDF_RENDER_TOBECOUNTINUED 1 +#define FPDF_RENDER_DONE 2 +#define FPDF_RENDER_FAILED 3 + + +#ifdef __cplusplus +extern "C" { +#endif + + +//IFPDF_RENDERINFO interface. +typedef struct _IFSDK_PAUSE +{ + /** + * Version number of the interface. Currently must be 1. + **/ + int version; + + /* + * Method: NeedToPauseNow + * Check if we need to pause a progressive process now. + * Interface Version: + * 1 + * Implementation Required: + * yes + * Parameters: + * pThis - Pointer to the interface structure itself + * Return Value: + * Non-zero for pause now, 0 for continue. + * + */ + FPDF_BOOL (*NeedToPauseNow) (struct _IFSDK_PAUSE* pThis); + + //A user defined data pointer, used by user's application. Can be NULL. + void* user; +} IFSDK_PAUSE; + +// Function: FPDF_RenderPageBitmap_Start +// Start to render page contents to a device independent bitmap progressively. +// Parameters: +// bitmap - Handle to the device independent bitmap (as the output buffer). +// Bitmap handle can be created by FPDFBitmap_Create function. +// page - Handle to the page. Returned by FPDF_LoadPage function. +// start_x - Left pixel position of the display area in the bitmap coordinate. +// start_y - Top pixel position of the display area in the bitmap coordinate. +// size_x - Horizontal size (in pixels) for displaying the page. +// size_y - Vertical size (in pixels) for displaying the page. +// rotate - Page orientation: 0 (normal), 1 (rotated 90 degrees clockwise), +// 2 (rotated 180 degrees), 3 (rotated 90 degrees counter-clockwise). +// flags - 0 for normal display, or combination of flags defined above. +// pause - The IFSDK_PAUSE interface.A callback mechanism allowing the page rendering process +// Return value: +// Rendering Status. See flags for progressive process status for the details. +// Notes: +// The method cannot not support to render page which the document consists of dynamic XFA fields. +// +DLLEXPORT int STDCALL FPDF_RenderPageBitmap_Start(FPDF_BITMAP bitmap, FPDF_PAGE page, int start_x, int start_y, int size_x, + int size_y, int rotate, int flags,IFSDK_PAUSE * pause); + +// Function: FPDF_RenderPage_Continue +// Continue rendering a PDF page. +// Parameters: +// page - Handle to the page. Returned by FPDF_LoadPage function. +// pause - The IFSDK_PAUSE interface.A callback mechanism allowing the page rendering process +// to be paused before it's finished. This can be NULL if you don't want to pause. +// Return value: +// The rendering status. See flags for progressive process status for the details. +// Notes: +// The method cannot not support to render page which the document consists of dynamic XFA fields. +// +DLLEXPORT int STDCALL FPDF_RenderPage_Continue(FPDF_PAGE page,IFSDK_PAUSE * pause); + +// Function: FPDF_RenderPage_Close +// Release the resource allocate during page rendering. Need to be called after finishing rendering or +// cancel the rendering. +// Parameters: +// page - Handle to the page. Returned by FPDF_LoadPage function. +// Return value: +// NULL +// Notes: +// The method cannot not support to render page which the document consists of dynamic XFA fields. +// +DLLEXPORT void STDCALL FPDF_RenderPage_Close(FPDF_PAGE page); + +#ifdef __cplusplus +} +#endif + +#endif //_FPDF_PROGRESSIVE_H_ -- cgit v1.2.3