xref: /aosp_15_r20/external/pdfium/samples/helpers/write.h (revision 3ac0a46f773bac49fa9476ec2b1cf3f8da5ec3a4)
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