12a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Copyright (c) 2013 The Chromium Authors. All rights reserved. 22a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 32a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// found in the LICENSE file. 42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef PPAPI_CPP_PRIVATE_PDF_H_ 62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define PPAPI_CPP_PRIVATE_PDF_H_ 72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include <string> 92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "ppapi/c/private/ppb_pdf.h" 112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 12c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)struct PP_BrowserFont_Trusted_Description; 13c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace pp { 152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class ImageData; 172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class InstanceHandle; 182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class Var; 192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class PDF { 212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) public: 222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // Returns true if the required interface is available. 232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) static bool IsAvailable(); 242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) static Var GetLocalizedString(const InstanceHandle& instance, 262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) PP_ResourceString string_id); 272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) static ImageData GetResourceImage(const InstanceHandle& instance, 282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) PP_ResourceImage image_id); 29c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) static PP_Resource GetFontFileWithFallback( 30c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) const InstanceHandle& instance, 31c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) const PP_BrowserFont_Trusted_Description* description, 32c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) PP_PrivateFontCharset charset); 332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) static bool GetFontTableForPrivateFontFile(PP_Resource font_file, 342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) uint32_t table, 352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) void* output, 362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) uint32_t* output_length); 372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) static void SearchString(const InstanceHandle& instance, 382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const unsigned short* string, 392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const unsigned short* term, 402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) bool case_sensitive, 412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) PP_PrivateFindResult** results, 422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) int* count); 432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) static void DidStartLoading(const InstanceHandle& instance); 442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) static void DidStopLoading(const InstanceHandle& instance); 452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) static void SetContentRestriction(const InstanceHandle& instance, 462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) int restrictions); 472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) static void HistogramPDFPageCount(const InstanceHandle& instance, 482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) int count); 492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) static void UserMetricsRecordAction(const InstanceHandle& instance, 502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const Var& action); 512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) static void HasUnsupportedFeature(const InstanceHandle& instance); 522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) static void SaveAs(const InstanceHandle& instance); 532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) static void Print(const InstanceHandle& instance); 542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) static bool IsFeatureEnabled(const InstanceHandle& instance, 552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) PP_PDFFeature feature); 562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) static ImageData GetResourceImageForScale(const InstanceHandle& instance, 572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) PP_ResourceImage image_id, 582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) float scale); 59d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles) static Var ModalPromptForPassword(const InstanceHandle& instance, 60d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles) Var message); 61f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) static bool IsOutOfProcess(const InstanceHandle& instance); 625d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) static void SetSelectedText(const InstanceHandle& instance, 635d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) const char* selected_text); 645d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) static void SetLinkUnderCursor(const InstanceHandle& instance, 655d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) const char* url); 662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}; 672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} // namespace pp 692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif // PPAPI_CPP_PRIVATE_PDF_H_ 71