Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
fpdf_progressive.h
Go to the documentation of this file.
1// Copyright 2014 The PDFium Authors
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6
7#ifndef PUBLIC_FPDF_PROGRESSIVE_H_
8#define PUBLIC_FPDF_PROGRESSIVE_H_
9
10// clang-format off
11// NOLINTNEXTLINE(build/include)
12#include "fpdfview.h"
13
14// Flags for progressive process status.
15#define FPDF_RENDER_READY 0
16#define FPDF_RENDER_TOBECONTINUED 1
17#define FPDF_RENDER_DONE 2
18#define FPDF_RENDER_FAILED 3
19
20#ifdef __cplusplus
21extern "C" {
22#endif
23
24// IFPDF_RENDERINFO interface.
25typedef struct _IFSDK_PAUSE {
26 /*
27 * Version number of the interface. Currently must be 1.
28 */
30
31 /*
32 * Method: NeedToPauseNow
33 * Check if we need to pause a progressive process now.
34 * Interface Version:
35 * 1
36 * Implementation Required:
37 * yes
38 * Parameters:
39 * pThis - Pointer to the interface structure itself
40 * Return Value:
41 * Non-zero for pause now, 0 for continue.
42 */
43 FPDF_BOOL (*NeedToPauseNow)(struct _IFSDK_PAUSE* pThis);
44
45 // A user defined data pointer, used by user's application. Can be NULL.
46 void* user;
47} IFSDK_PAUSE;
48
49// Experimental API.
50// Function: FPDF_RenderPageBitmapWithColorScheme_Start
51// Start to render page contents to a device independent bitmap
52// progressively with a specified color scheme for the content.
53// Parameters:
54// bitmap - Handle to the device independent bitmap (as the
55// output buffer). Bitmap handle can be created by
56// FPDFBitmap_Create function.
57// page - Handle to the page as returned by FPDF_LoadPage
58// function.
59// start_x - Left pixel position of the display area in the
60// bitmap coordinate.
61// start_y - Top pixel position of the display area in the
62// bitmap coordinate.
63// size_x - Horizontal size (in pixels) for displaying the
64// page.
65// size_y - Vertical size (in pixels) for displaying the page.
66// rotate - Page orientation: 0 (normal), 1 (rotated 90
67// degrees clockwise), 2 (rotated 180 degrees),
68// 3 (rotated 90 degrees counter-clockwise).
69// flags - 0 for normal display, or combination of flags
70// defined in fpdfview.h. With FPDF_ANNOT flag, it
71// renders all annotations that does not require
72// user-interaction, which are all annotations except
73// widget and popup annotations.
74// color_scheme - Color scheme to be used in rendering the |page|.
75// If null, this function will work similar to
76// FPDF_RenderPageBitmap_Start().
77// pause - The IFSDK_PAUSE interface. A callback mechanism
78// allowing the page rendering process.
79// Return value:
80// Rendering Status. See flags for progressive process status for the
81// details.
84 FPDF_PAGE page,
85 int start_x,
86 int start_y,
87 int size_x,
88 int size_y,
89 int rotate,
90 int flags,
91 const FPDF_COLORSCHEME* color_scheme,
92 IFSDK_PAUSE* pause);
93
94// Function: FPDF_RenderPageBitmap_Start
95// Start to render page contents to a device independent bitmap
96// progressively.
97// Parameters:
98// bitmap - Handle to the device independent bitmap (as the
99// output buffer). Bitmap handle can be created by
100// FPDFBitmap_Create().
101// page - Handle to the page, as returned by FPDF_LoadPage().
102// start_x - Left pixel position of the display area in the
103// bitmap coordinates.
104// start_y - Top pixel position of the display area in the bitmap
105// coordinates.
106// size_x - Horizontal size (in pixels) for displaying the page.
107// size_y - Vertical size (in pixels) for displaying the page.
108// rotate - Page orientation: 0 (normal), 1 (rotated 90 degrees
109// clockwise), 2 (rotated 180 degrees), 3 (rotated 90
110// degrees counter-clockwise).
111// flags - 0 for normal display, or combination of flags
112// defined in fpdfview.h. With FPDF_ANNOT flag, it
113// renders all annotations that does not require
114// user-interaction, which are all annotations except
115// widget and popup annotations.
116// pause - The IFSDK_PAUSE interface.A callback mechanism
117// allowing the page rendering process
118// Return value:
119// Rendering Status. See flags for progressive process status for the
120// details.
122 FPDF_PAGE page,
123 int start_x,
124 int start_y,
125 int size_x,
126 int size_y,
127 int rotate,
128 int flags,
129 IFSDK_PAUSE* pause);
130
131// Function: FPDF_RenderPage_Continue
132// Continue rendering a PDF page.
133// Parameters:
134// page - Handle to the page, as returned by FPDF_LoadPage().
135// pause - The IFSDK_PAUSE interface (a callback mechanism
136// allowing the page rendering process to be paused
137// before it's finished). This can be NULL if you
138// don't want to pause.
139// Return value:
140// The rendering status. See flags for progressive process status for
141// the details.
143 IFSDK_PAUSE* pause);
144
145// Function: FPDF_RenderPage_Close
146// Release the resource allocate during page rendering. Need to be
147// called after finishing rendering or
148// cancel the rendering.
149// Parameters:
150// page - Handle to the page, as returned by FPDF_LoadPage().
151// Return value:
152// None.
154
155#ifdef __cplusplus
156}
157#endif
158
159#endif // PUBLIC_FPDF_PROGRESSIVE_H_
static void CompareBitmap(FPDF_BITMAP bitmap, int expected_width, int expected_height, const char *expected_md5sum)
void UnloadPage(FPDF_PAGE page)
FPDF_DOCUMENT document() const
FPDF_PAGE LoadPage(int page_number)
bool StartRenderPage(FPDF_PAGE page, IFSDK_PAUSE *pause)
bool ContinueRenderPage(FPDF_PAGE page, IFSDK_PAUSE *pause)
ScopedFPDFBitmap FinishRenderPageWithForms(FPDF_PAGE page, FPDF_FORMHANDLE handle)
ScopedFPDFBitmap RenderPageWithForcedColorScheme(FPDF_PAGE page, FPDF_FORMHANDLE handle, int flags, const FPDF_COLORSCHEME *color_scheme, FX_ARGB background_color)
bool StartRenderPageWithFlags(FPDF_PAGE page, IFSDK_PAUSE *pause, int flags)
bool StartRenderPageWithColorSchemeAndBackground(FPDF_PAGE page, IFSDK_PAUSE *pause, int flags, const FPDF_COLORSCHEME *color_scheme, uint32_t background_color)
void VerifyRenderingWithColorScheme(int page_num, int flags, const FPDF_COLORSCHEME *color_scheme, FX_ARGB background_color, int bitmap_width, int bitmap_height, const char *md5)
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFPage_HasTransparency(FPDF_PAGE page)
#define FPDF_RENDER_TOBECONTINUED
FPDF_EXPORT int FPDF_CALLCONV FPDF_RenderPageBitmapWithColorScheme_Start(FPDF_BITMAP bitmap, FPDF_PAGE page, int start_x, int start_y, int size_x, int size_y, int rotate, int flags, const FPDF_COLORSCHEME *color_scheme, IFSDK_PAUSE *pause)
FPDF_EXPORT void FPDF_CALLCONV FPDF_RenderPage_Close(FPDF_PAGE page)
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)
FPDF_EXPORT int FPDF_CALLCONV FPDF_RenderPage_Continue(FPDF_PAGE page, IFSDK_PAUSE *pause)
TEST_F(FPDFProgressiveRenderEmbedderTest, RenderWithoutPause)
FPDF_EXPORT double FPDF_CALLCONV FPDF_GetPageWidth(FPDF_PAGE page)
FPDF_EXPORT double FPDF_CALLCONV FPDF_GetPageHeight(FPDF_PAGE page)
#define FPDF_CONVERT_FILL_TO_STROKE
Definition fpdfview.h:835
#define FPDF_CALLCONV
Definition fpdfview.h:227
#define FPDF_EXPORT
Definition fpdfview.h:221
#define FPDF_ANNOT
Definition fpdfview.h:804
const char * AnnotationStampWithApChecksum()
const char * TextFormChecksum()