You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
120 lines
4.6 KiB
120 lines
4.6 KiB
// 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 PUBLIC_FPDF_PROGRESSIVE_H_ |
|
#define PUBLIC_FPDF_PROGRESSIVE_H_ |
|
|
|
// NOLINTNEXTLINE(build/include) |
|
#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 in fpdfview.h. With FPDF_ANNOT flag, it |
|
// renders all annotations that does not require |
|
// user-interaction, which are all annotations except |
|
// widget and popup annotations. |
|
// 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. |
|
// |
|
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. |
|
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 |
|
DLLEXPORT void STDCALL FPDF_RenderPage_Close(FPDF_PAGE page); |
|
|
|
#ifdef __cplusplus |
|
} |
|
#endif |
|
|
|
#endif // PUBLIC_FPDF_PROGRESSIVE_H_
|
|
|