Home | History | Annotate | Download | only in thunk
      1 // Copyright (c) 2012 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 #include "ppapi/c/private/ppb_flash_font_file.h"
      6 #include "ppapi/thunk/enter.h"
      7 #include "ppapi/thunk/ppb_flash_font_file_api.h"
      8 #include "ppapi/thunk/resource_creation_api.h"
      9 #include "ppapi/thunk/thunk.h"
     10 
     11 namespace ppapi {
     12 namespace thunk {
     13 
     14 namespace {
     15 
     16 PP_Resource Create(PP_Instance instance,
     17                    const PP_BrowserFont_Trusted_Description* description,
     18                    PP_PrivateFontCharset charset) {
     19   EnterResourceCreation enter(instance);
     20   if (enter.failed())
     21     return 0;
     22   return enter.functions()->CreateFlashFontFile(instance, description, charset);
     23 }
     24 
     25 PP_Bool IsFlashFontFile(PP_Resource resource) {
     26   EnterResource<PPB_Flash_FontFile_API> enter(resource, false);
     27   return PP_FromBool(enter.succeeded());
     28 }
     29 
     30 PP_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 
     40 const PPB_Flash_FontFile g_ppb_flash_fontfile_thunk = {
     41   &Create,
     42   &IsFlashFontFile,
     43   &GetFontTable
     44 };
     45 
     46 }  // namespace
     47 
     48 const 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