19682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall// Copyright (c) 2012 The Chromium Authors. All rights reserved. 29682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall// Use of this source code is governed by a BSD-style license that can be 39682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall// found in the LICENSE file. 49682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 59682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#include "ppapi/c/private/ppb_flash_font_file.h" 69682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#include "ppapi/thunk/enter.h" 79682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#include "ppapi/thunk/ppb_flash_font_file_api.h" 89682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#include "ppapi/thunk/resource_creation_api.h" 99682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall#include "ppapi/thunk/thunk.h" 109682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 119682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallnamespace ppapi { 129682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallnamespace thunk { 139682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 149682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallnamespace { 159682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall 169682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallPP_Resource Create(PP_Instance instance, 179682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall const PP_BrowserFont_Trusted_Description* description, 189682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall PP_PrivateFontCharset charset) { 199682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall EnterResourceCreation enter(instance); 20 if (enter.failed()) 21 return 0; 22 return enter.functions()->CreateFlashFontFile(instance, description, charset); 23} 24 25PP_Bool IsFlashFontFile(PP_Resource resource) { 26 EnterResource<PPB_Flash_FontFile_API> enter(resource, false); 27 return PP_FromBool(enter.succeeded()); 28} 29 30PP_Bool GetFontTable(PP_Resource font_file, 31 uint32_t table, 32 void* output, 33 uint32_t* output_length) { 34 EnterResource<PPB_Flash_FontFile_API> enter(font_file, true); 35 if (enter.failed()) 36 return PP_FALSE; 37 return enter.object()->GetFontTable(table, output, output_length); 38} 39 40const PPB_Flash_FontFile g_ppb_flash_fontfile_thunk = { 41 &Create, 42 &IsFlashFontFile, 43 &GetFontTable 44}; 45 46} // namespace 47 48const PPB_Flash_FontFile_0_1* GetPPB_Flash_FontFile_0_1_Thunk() { 49 return &g_ppb_flash_fontfile_thunk; 50} 51 52} // namespace thunk 53} // namespace ppapi 54