|  | // 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_ |