Pepper_56_C_interfaces
Pepper_56_C_interfaces
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
ppp_pdf.h
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.
4 
5 #ifndef PPAPI_C_PRIVATE_PPP_PDF_H_
6 #define PPAPI_C_PRIVATE_PPP_PDF_H_
7 
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"
12 
13 #define PPP_PDF_INTERFACE_1 "PPP_Pdf;1"
14 #define PPP_PDF_INTERFACE PPP_PDF_INTERFACE_1
15 
16 typedef enum {
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);
23 
24 typedef enum {
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);
32 
34  // Returns whether scaling is disabled. Returns same information as the
35  // PPP_Printing_Dev's method IsScalingDiabled().
36  PP_Bool is_scaling_disabled;
37 
38  // Number of copies to be printed.
39  int32_t copies;
40 
41  // DuplexMode to be used for printing.
42  PP_PrivateDuplexMode_Dev duplex;
43 
44  // True if all the pages in the PDF are the same size.
45  PP_Bool is_page_size_uniform;
46 
47  // Only valid if |is_page_size_uniform| is true. The page size.
48  PP_Size uniform_page_size;
49 };
50 PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PP_PdfPrintPresetOptions_Dev, 24);
51 
52 struct PPP_Pdf_1_1 {
53  // Returns an absolute URL if the position is over a link.
54  PP_Var (*GetLinkAtPosition)(PP_Instance instance,
55  PP_Point point);
56 
57  // Requests that the plugin apply the given transform to its view.
58  void (*Transform)(PP_Instance instance, PP_PrivatePageTransformType type);
59 
60  // Return true if print preset options are updated from document.
61  PP_Bool (*GetPrintPresetOptionsFromDocument)(
62  PP_Instance instance,
64 };
65 
66 typedef PPP_Pdf_1_1 PPP_Pdf;
67 
68 #endif // PPAPI_C_PRIVATE_PPP_PDF_H_
Definition: pp_point.h:28
Definition: pp_var.h:166
int32_t PP_Instance
Definition: pp_instance.h:34
PP_Bool
Definition: pp_bool.h:30
Definition: ppp_pdf.h:52
Definition: ppp_pdf.h:33
Definition: pp_size.h:27