1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef PPAPI_C_PRIVATE_PPP_PDF_H_
6 #define PPAPI_C_PRIVATE_PPP_PDF_H_
8 #include "ppapi/c/dev/pp_print_settings_dev.h"
9 #include "ppapi/c/pp_instance.h"
10 #include "ppapi/c/pp_point.h"
11 #include "ppapi/c/pp_var.h"
13 #define PPP_PDF_INTERFACE_1 "PPP_Pdf;1"
14 #define PPP_PDF_INTERFACE PPP_PDF_INTERFACE_1
17 // Rotates the page 90 degrees clockwise from its current orientation.
18 PP_PRIVATEPAGETRANSFORMTYPE_ROTATE_90_CW
,
19 // Rotates the page 90 degrees counterclockwise from its current orientation.
20 PP_PRIVATEPAGETRANSFORMTYPE_ROTATE_90_CCW
21 } PP_PrivatePageTransformType
;
22 PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_PrivatePageTransformType
, 4);
25 PP_PRIVATEDUPLEXMODE_NONE
= 0,
26 PP_PRIVATEDUPLEXMODE_SIMPLEX
= 1,
27 PP_PRIVATEDUPLEXMODE_SHORT_EDGE
= 2,
28 PP_PRIVATEDUPLEXMODE_LONG_EDGE
= 3,
29 PP_PRIVATEDUPLEXMODE_LAST
= PP_PRIVATEDUPLEXMODE_LONG_EDGE
30 } PP_PrivateDuplexMode_Dev
;
31 PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_PrivateDuplexMode_Dev
, 4);
33 struct PP_PdfPrintPresetOptions_Dev
{
34 // Returns whether scaling is disabled. Returns same information as the
35 // PPP_Printing_Dev's method IsScalingDiabled().
36 PP_Bool is_scaling_disabled
;
38 // Number of copies to be printed.
41 // DuplexMode to be used for printing.
42 PP_PrivateDuplexMode_Dev duplex
;
44 // True if all the pages in the PDF are the same size.
45 PP_Bool is_page_size_uniform
;
47 // Only valid if |is_page_size_uniform| is true. The page size.
48 PP_Size uniform_page_size
;
50 PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PP_PdfPrintPresetOptions_Dev
, 24);
53 // Returns an absolute URL if the position is over a link.
54 PP_Var (*GetLinkAtPosition
)(PP_Instance instance
,
57 // Requests that the plugin apply the given transform to its view.
58 void (*Transform
)(PP_Instance instance
, PP_PrivatePageTransformType type
);
60 // Return true if print preset options are updated from document.
61 PP_Bool (*GetPrintPresetOptionsFromDocument
)(
63 PP_PdfPrintPresetOptions_Dev
* options
);
66 typedef PPP_Pdf_1_1 PPP_Pdf
;
68 #endif // PPAPI_C_PRIVATE_PPP_PDF_H_