diff options
author | Tom Sepez <tsepez@chromium.org> | 2015-05-11 14:27:24 -0700 |
---|---|---|
committer | Tom Sepez <tsepez@chromium.org> | 2015-05-11 14:27:24 -0700 |
commit | ac19d2d8f64ab87577f167e0a8df075a7fe3ffdc (patch) | |
tree | 3c8e9be3b07c4818c7866babf3f98ef78aed8fc2 /public/fpdf_progressive.h | |
parent | 06272311aca7ead4f419b65ca41673f1599218ae (diff) | |
download | pdfium-ac19d2d8f64ab87577f167e0a8df075a7fe3ffdc.tar.xz |
Create top-level public/ header directory.
These are the only files that embedders of PDFium should be including.
They are entirely self-contained, and compile cleanly against -Wall so
as to not offend the code that may include them.
Having done this, we can see that chromium is pulling in two additional
files from the fpdfsdk/include/pdfwindow directory, which is not guaranteed
to work.
A few files are renamed, adding an "_" to make the names consistent.
The exception is fpdfview, which is doc'd as such in the doc.
Naturally, paths will need updating in a handful of files in chrome
when this rolls in.
BUG=pdfium:154
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1135913002
Diffstat (limited to 'public/fpdf_progressive.h')
-rw-r--r-- | public/fpdf_progressive.h | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/public/fpdf_progressive.h b/public/fpdf_progressive.h new file mode 100644 index 0000000000..029264eae2 --- /dev/null +++ b/public/fpdf_progressive.h @@ -0,0 +1,94 @@ +// 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. +// +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 //_FPDF_PROGRESSIVE_H_ |