1 /* Pango
2  * pango-ot-private.h: Implementation details for Pango OpenType code
3  *
4  * Copyright (C) 2000 Red Hat Software
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Library General Public
8  * License as published by the Free Software Foundation; either
9  * version 2 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU
14  * Library General Public License for more details.
15  *
16  * You should have received a copy of the GNU Library General Public
17  * License along with this library; if not, write to the
18  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19  * Boston, MA 02111-1307, USA.
20  */
21 
22 #ifndef __PANGO_OT_PRIVATE_H__
23 #define __PANGO_OT_PRIVATE_H__
24 
25 #include <glib.h>
26 #include <glib-object.h>
27 
28 #include <pango/pango-ot.h>
29 #include <hb-ot.h>
30 #include <hb-ft.h>
31 
32 #include "pangofc-private.h"
33 
34 G_BEGIN_DECLS
35 
36 typedef struct _PangoOTInfoClass PangoOTInfoClass;
37 
38 /**
39  * PangoOTInfo:
40  *
41  * The `PangoOTInfo` struct contains the various
42  * tables associated with an OpenType font. It contains only private fields and
43  * should only be accessed via the pango_ot_info_… functions
44  * which are documented below. To obtain a `PangoOTInfo`,
45  * use pango_ot_info_get().
46  */
47 struct _PangoOTInfo
48 {
49   GObject parent_instance;
50 
51   FT_Face face;
52   hb_face_t *hb_face;
53 };
54 
55 struct _PangoOTInfoClass
56 {
57   GObjectClass parent_class;
58 };
59 
60 
61 typedef struct _PangoOTRulesetClass PangoOTRulesetClass;
62 
63 struct _PangoOTRuleset
64 {
65   GObject parent_instance;
66 };
67 
68 struct _PangoOTRulesetClass
69 {
70   GObjectClass parent_class;
71 };
72 
73 /**
74  * PangoOTBuffer:
75  *
76  * The `PangoOTBuffer` structure is used to store strings of glyphs associated
77  * with a `PangoFcFont`, suitable for OpenType layout processing.  It contains
78  * only private fields and should only be accessed via the
79  * pango_ot_buffer_… functions which are documented below.
80  * To obtain a `PangoOTBuffer`, use pango_ot_buffer_new().
81  */
82 struct _PangoOTBuffer
83 {
84   hb_buffer_t *buffer;
85 };
86 
87 G_END_DECLS
88 
89 #endif /* __PANGO_OT_PRIVATE_H__ */
90