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
6/* From private/ppb_flash_font_file.idl modified Thu Dec 13 10:56:15 2012. */
7
8#ifndef PPAPI_C_PRIVATE_PPB_FLASH_FONT_FILE_H_
9#define PPAPI_C_PRIVATE_PPB_FLASH_FONT_FILE_H_
10
11#include "ppapi/c/pp_bool.h"
12#include "ppapi/c/pp_instance.h"
13#include "ppapi/c/pp_macros.h"
14#include "ppapi/c/pp_resource.h"
15#include "ppapi/c/pp_stdint.h"
16#include "ppapi/c/pp_var.h"
17#include "ppapi/c/private/pp_private_font_charset.h"
18#include "ppapi/c/trusted/ppb_browser_font_trusted.h"
19
20#define PPB_FLASH_FONTFILE_INTERFACE_0_1 "PPB_Flash_FontFile;0.1"
21#define PPB_FLASH_FONTFILE_INTERFACE PPB_FLASH_FONTFILE_INTERFACE_0_1
22
23/**
24 * @file
25 * This file contains the <code>PPB_Flash_FontFile</code> interface.
26 */
27
28
29/**
30 * @addtogroup Interfaces
31 * @{
32 */
33struct PPB_Flash_FontFile_0_1 {
34  /* Returns a resource identifying a font file corresponding to the given font
35   * request after applying the browser-specific fallback.
36   */
37  PP_Resource (*Create)(
38      PP_Instance instance,
39      const struct PP_BrowserFont_Trusted_Description* description,
40      PP_PrivateFontCharset charset);
41  /* Determines if a given resource is Flash font file.
42   */
43  PP_Bool (*IsFlashFontFile)(PP_Resource resource);
44  /* Returns the requested font table.
45   * |output_length| should pass in the size of |output|. And it will return
46   * the actual length of returned data. |output| could be NULL in order to
47   * query the size of the buffer size needed. In that case, the input value of
48   * |output_length| is ignored.
49   * Note: it is Linux only and fails directly on other platforms.
50   */
51  PP_Bool (*GetFontTable)(PP_Resource font_file,
52                          uint32_t table,
53                          void* output,
54                          uint32_t* output_length);
55};
56
57typedef struct PPB_Flash_FontFile_0_1 PPB_Flash_FontFile;
58/**
59 * @}
60 */
61
62#endif  /* PPAPI_C_PRIVATE_PPB_FLASH_FONT_FILE_H_ */
63
64