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/pp_instance.h"
9#include "ppapi/c/pp_point.h"
10#include "ppapi/c/pp_var.h"
11
12#define PPP_PDF_INTERFACE_1 "PPP_Pdf;1"
13#define PPP_PDF_INTERFACE PPP_PDF_INTERFACE_1
14
15typedef enum {
16  // Rotates the page 90 degrees clockwise from its current orientation.
17  PP_PRIVATEPAGETRANSFORMTYPE_ROTATE_90_CW,
18  // Rotates the page 90 degrees counterclockwise from its current orientation.
19  PP_PRIVATEPAGETRANSFORMTYPE_ROTATE_90_CCW
20} PP_PrivatePageTransformType;
21PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_PrivatePageTransformType, 4);
22
23struct PPP_Pdf_1 {
24  // Returns an absolute URL if the position is over a link.
25  PP_Var (*GetLinkAtPosition)(PP_Instance instance,
26                              PP_Point point);
27
28  // Requests that the plugin apply the given transform to its view.
29  void (*Transform)(PP_Instance instance, PP_PrivatePageTransformType type);
30};
31
32typedef PPP_Pdf_1 PPP_Pdf;
33
34#endif  // PPAPI_C_PRIVATE_PPP_PDF_H_
35