15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2011 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef PPAPI_THUNK_PPB_BROWSER_FONT_TRUSTED_API_H_ 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define PPAPI_THUNK_PPB_BROWSER_FONT_TRUSTED_API_H_ 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/c/trusted/ppb_browser_font_trusted.h" 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/thunk/ppapi_thunk_export.h" 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace ppapi { 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace thunk { 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// API for font resources. 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class PPAPI_THUNK_EXPORT PPB_BrowserFont_Trusted_API { 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public: 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual ~PPB_BrowserFont_Trusted_API() {} 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual PP_Bool Describe(PP_BrowserFont_Trusted_Description* description, 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) PP_BrowserFont_Trusted_Metrics* metrics) = 0; 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual PP_Bool DrawTextAt(PP_Resource image_data, 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const PP_BrowserFont_Trusted_TextRun* text, 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const PP_Point* position, 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) uint32_t color, 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const PP_Rect* clip, 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) PP_Bool image_data_is_opaque) = 0; 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual int32_t MeasureText(const PP_BrowserFont_Trusted_TextRun* text) = 0; 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual uint32_t CharacterOffsetForPixel( 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const PP_BrowserFont_Trusted_TextRun* text, 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) int32_t pixel_position) = 0; 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual int32_t PixelOffsetForCharacter( 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const PP_BrowserFont_Trusted_TextRun* text, 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) uint32_t char_offset) = 0; 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace thunk 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace ppapi 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif // PPAPI_THUNK_PPB_BROWSER_FONT_TRUSTED_API_H_ 40