summaryrefslogtreecommitdiffstats
path: root/webkit/glue/plugins/ppb_private.h
blob: 24831c1ebac039d22c3595a1a6e0308ea9d94850 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
// Copyright (c) 2010 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef WEBKIT_GLUE_PLUGINS_PPB_PRIVATE_H_
#define WEBKIT_GLUE_PLUGINS_PPB_PRIVATE_H_

#include "third_party/ppapi/c/pp_module.h"
#include "third_party/ppapi/c/pp_var.h"

#define PPB_PRIVATE_INTERFACE "PPB_Private;1"

typedef enum _pp_ResourceString {
  PP_RESOURCESTRING_PDFGETPASSWORD = 0,
} PP_ResourceString;

typedef enum _pp_PrivateFontPitch {
  PP_PRIVATEFONTPITCH_DEFAULT = 0,
  PP_PRIVATEFONTPITCH_FIXED = 1
} PP_PrivateFontPitch;

typedef enum _pp_PrivateFontFamily {
  PP_PRIVATEFONTFAMILY_DEFAULT = 0,
  PP_PRIVATEFONTFAMILY_ROMAN = 1,
  PP_PRIVATEFONTFAMILY_SCRIPT = 2
} PP_PrivateFontFamily;

typedef enum _pp_PrivateFontCharset {
  PP_PRIVATEFONTCHARSET_ANSI = 0,
  PP_PRIVATEFONTCHARSET_DEFAULT = 1,
  PP_PRIVATEFONTCHARSET_SYMBOL = 2,
  PP_PRIVATEFONTCHARSET_MAC = 77,
  PP_PRIVATEFONTCHARSET_SHIFTJIS = 128,
  PP_PRIVATEFONTCHARSET_HANGUL = 129,
  PP_PRIVATEFONTCHARSET_JOHAB = 130,
  PP_PRIVATEFONTCHARSET_GB2312 =134,
  PP_PRIVATEFONTCHARSET_CHINESEBIG5 = 136,
  PP_PRIVATEFONTCHARSET_GREEK = 161,
  PP_PRIVATEFONTCHARSET_TURKISH = 162,
  PP_PRIVATEFONTCHARSET_VIETNAMESE = 163,
  PP_PRIVATEFONTCHARSET_HEBREW = 177,
  PP_PRIVATEFONTCHARSET_ARABIC = 178,
  PP_PRIVATEFONTCHARSET_BALTIC = 186,
  PP_PRIVATEFONTCHARSET_RUSSIAN = 204,
  PP_PRIVATEFONTCHARSET_THAI = 222,
  PP_PRIVATEFONTCHARSET_EASTEUROPE = 238,
  PP_PRIVATEFONTCHARSET_OEM = 255
} PP_PrivateFontCharset;

typedef struct _pp_PrivateFontFileDescription {
  const char* face;
  uint32_t weight;
  bool italic;
  PP_PrivateFontPitch pitch;
  PP_PrivateFontFamily family;
  PP_PrivateFontCharset charset;
} PP_PrivateFontFileDescription;

typedef struct _ppb_Private {
  // Returns a localized string.
  PP_Var (*GetLocalizedString)(PP_ResourceString string_id);

  // Returns a resource identifying a font file corresponding to the given font
  // request after applying the browser-specific fallback. Linux only.
  PP_Resource (*GetFontFileWithFallback)(
      PP_Module module,
      const PP_PrivateFontFileDescription* description);

  // Given a resource previously returned by GetFontFileWithFallback, returns
  // a pointer to the requested font table. Linux only.
  bool (*GetFontTableForPrivateFontFile)(PP_Resource font_file,
                                         uint32_t table,
                                         void* output,
                                         uint32_t* output_length);
} PPB_Private;

#endif  // WEBKIT_GLUE_PLUGINS_PPB_PRIVATE_H_