1*3ac0a46fSAndroid Build Coastguard Worker // Copyright 2018 The PDFium Authors 2*3ac0a46fSAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 3*3ac0a46fSAndroid Build Coastguard Worker // found in the LICENSE file. 4*3ac0a46fSAndroid Build Coastguard Worker 5*3ac0a46fSAndroid Build Coastguard Worker #ifndef SAMPLES_HELPERS_WRITE_H_ 6*3ac0a46fSAndroid Build Coastguard Worker #define SAMPLES_HELPERS_WRITE_H_ 7*3ac0a46fSAndroid Build Coastguard Worker 8*3ac0a46fSAndroid Build Coastguard Worker #include <memory> 9*3ac0a46fSAndroid Build Coastguard Worker #include <string> 10*3ac0a46fSAndroid Build Coastguard Worker 11*3ac0a46fSAndroid Build Coastguard Worker #include "public/fpdfview.h" 12*3ac0a46fSAndroid Build Coastguard Worker 13*3ac0a46fSAndroid Build Coastguard Worker #ifdef PDF_ENABLE_SKIA 14*3ac0a46fSAndroid Build Coastguard Worker class SkPicture; 15*3ac0a46fSAndroid Build Coastguard Worker class SkWStream; 16*3ac0a46fSAndroid Build Coastguard Worker #endif // PDF_ENABLE_SKIA 17*3ac0a46fSAndroid Build Coastguard Worker 18*3ac0a46fSAndroid Build Coastguard Worker std::string WritePpm(const char* pdf_name, 19*3ac0a46fSAndroid Build Coastguard Worker int num, 20*3ac0a46fSAndroid Build Coastguard Worker void* buffer_void, 21*3ac0a46fSAndroid Build Coastguard Worker int stride, 22*3ac0a46fSAndroid Build Coastguard Worker int width, 23*3ac0a46fSAndroid Build Coastguard Worker int height); 24*3ac0a46fSAndroid Build Coastguard Worker void WriteText(FPDF_TEXTPAGE textpage, const char* pdf_name, int num); 25*3ac0a46fSAndroid Build Coastguard Worker void WriteAnnot(FPDF_PAGE page, const char* pdf_name, int num); 26*3ac0a46fSAndroid Build Coastguard Worker std::string WritePng(const char* pdf_name, 27*3ac0a46fSAndroid Build Coastguard Worker int num, 28*3ac0a46fSAndroid Build Coastguard Worker void* buffer, 29*3ac0a46fSAndroid Build Coastguard Worker int stride, 30*3ac0a46fSAndroid Build Coastguard Worker int width, 31*3ac0a46fSAndroid Build Coastguard Worker int height); 32*3ac0a46fSAndroid Build Coastguard Worker 33*3ac0a46fSAndroid Build Coastguard Worker #ifdef _WIN32 34*3ac0a46fSAndroid Build Coastguard Worker std::string WriteBmp(const char* pdf_name, 35*3ac0a46fSAndroid Build Coastguard Worker int num, 36*3ac0a46fSAndroid Build Coastguard Worker void* buffer, 37*3ac0a46fSAndroid Build Coastguard Worker int stride, 38*3ac0a46fSAndroid Build Coastguard Worker int width, 39*3ac0a46fSAndroid Build Coastguard Worker int height); 40*3ac0a46fSAndroid Build Coastguard Worker void WriteEmf(FPDF_PAGE page, const char* pdf_name, int num); 41*3ac0a46fSAndroid Build Coastguard Worker void WritePS(FPDF_PAGE page, const char* pdf_name, int num); 42*3ac0a46fSAndroid Build Coastguard Worker #endif // _WIN32 43*3ac0a46fSAndroid Build Coastguard Worker 44*3ac0a46fSAndroid Build Coastguard Worker #ifdef PDF_ENABLE_SKIA 45*3ac0a46fSAndroid Build Coastguard Worker std::unique_ptr<SkWStream> WriteToSkWStream(const std::string& pdf_name, 46*3ac0a46fSAndroid Build Coastguard Worker int num, 47*3ac0a46fSAndroid Build Coastguard Worker const std::string& extension); 48*3ac0a46fSAndroid Build Coastguard Worker std::unique_ptr<SkWStream> WriteToSkWStream(const std::string& pdf_name, 49*3ac0a46fSAndroid Build Coastguard Worker int num, 50*3ac0a46fSAndroid Build Coastguard Worker const std::string& extension, 51*3ac0a46fSAndroid Build Coastguard Worker std::string& filename); 52*3ac0a46fSAndroid Build Coastguard Worker std::string WriteSkp(const char* pdf_name, int num, const SkPicture& picture); 53*3ac0a46fSAndroid Build Coastguard Worker #endif // PDF_ENABLE_SKIA 54*3ac0a46fSAndroid Build Coastguard Worker 55*3ac0a46fSAndroid Build Coastguard Worker void WriteAttachments(FPDF_DOCUMENT doc, const std::string& name); 56*3ac0a46fSAndroid Build Coastguard Worker void WriteImages(FPDF_PAGE page, const char* pdf_name, int page_num); 57*3ac0a46fSAndroid Build Coastguard Worker void WriteRenderedImages(FPDF_DOCUMENT doc, 58*3ac0a46fSAndroid Build Coastguard Worker FPDF_PAGE page, 59*3ac0a46fSAndroid Build Coastguard Worker const char* pdf_name, 60*3ac0a46fSAndroid Build Coastguard Worker int page_num); 61*3ac0a46fSAndroid Build Coastguard Worker void WriteDecodedThumbnailStream(FPDF_PAGE page, 62*3ac0a46fSAndroid Build Coastguard Worker const char* pdf_name, 63*3ac0a46fSAndroid Build Coastguard Worker int page_num); 64*3ac0a46fSAndroid Build Coastguard Worker void WriteRawThumbnailStream(FPDF_PAGE page, 65*3ac0a46fSAndroid Build Coastguard Worker const char* pdf_name, 66*3ac0a46fSAndroid Build Coastguard Worker int page_num); 67*3ac0a46fSAndroid Build Coastguard Worker void WriteThumbnail(FPDF_PAGE page, const char* pdf_name, int page_num); 68*3ac0a46fSAndroid Build Coastguard Worker 69*3ac0a46fSAndroid Build Coastguard Worker #endif // SAMPLES_HELPERS_WRITE_H_ 70