| // Copyright 2019 The PDFium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef PUBLIC_FPDF_THUMBNAIL_H_ |
| #define PUBLIC_FPDF_THUMBNAIL_H_ |
| |
| #include <stdint.h> |
| |
| // NOLINTNEXTLINE(build/include) |
| #include "fpdfview.h" |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| // Experimental API. |
| // Gets the decoded data from the thumbnail of |page| if it exists. |
| // This only modifies |buffer| if |buflen| less than or equal to the |
| // size of the decoded data. Returns the size of the decoded |
| // data or 0 if thumbnail DNE. Optional, pass null to just retrieve |
| // the size of the buffer needed. |
| // |
| // page - handle to a page. |
| // buffer - buffer for holding the decoded image data. |
| // buflen - length of the buffer in bytes. |
| FPDF_EXPORT unsigned long FPDF_CALLCONV |
| FPDFPage_GetDecodedThumbnailData(FPDF_PAGE page, |
| void* buffer, |
| unsigned long buflen); |
| |
| // Experimental API. |
| // Gets the raw data from the thumbnail of |page| if it exists. |
| // This only modifies |buffer| if |buflen| is less than or equal to |
| // the size of the raw data. Returns the size of the raw data or 0 |
| // if thumbnail DNE. Optional, pass null to just retrieve the size |
| // of the buffer needed. |
| // |
| // page - handle to a page. |
| // buffer - buffer for holding the raw image data. |
| // buflen - length of the buffer in bytes. |
| FPDF_EXPORT unsigned long FPDF_CALLCONV |
| FPDFPage_GetRawThumbnailData(FPDF_PAGE page, |
| void* buffer, |
| unsigned long buflen); |
| |
| // Experimental API. |
| // Returns the thumbnail of |page| as a FPDF_BITMAP. Returns a nullptr |
| // if unable to access the thumbnail's stream. |
| // |
| // page - handle to a page. |
| FPDF_EXPORT FPDF_BITMAP FPDF_CALLCONV |
| FPDFPage_GetThumbnailAsBitmap(FPDF_PAGE page); |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif // PUBLIC_FPDF_THUMBNAIL_H_ |