mirror of
				https://github.com/YACReader/yacreader
				synced 2025-11-03 16:54:39 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			121 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			121 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
// 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_READY 0
 | 
						|
#define FPDF_RENDER_TOBECONTINUED 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.
 | 
						|
//
 | 
						|
FPDF_EXPORT int FPDF_CALLCONV 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.
 | 
						|
FPDF_EXPORT int FPDF_CALLCONV 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
 | 
						|
FPDF_EXPORT void FPDF_CALLCONV FPDF_RenderPage_Close(FPDF_PAGE page);
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
}
 | 
						|
#endif
 | 
						|
 | 
						|
#endif  // PUBLIC_FPDF_PROGRESSIVE_H_
 |