1/*
2 * Copyright © 2011  Google, Inc.
3 *
4 *  This is part of HarfBuzz, a text shaping library.
5 *
6 * Permission is hereby granted, without written agreement and without
7 * license or royalty fees, to use, copy, modify, and distribute this
8 * software and its documentation for any purpose, provided that the
9 * above copyright notice and the following two paragraphs appear in
10 * all copies of this software.
11 *
12 * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
13 * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
14 * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
15 * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
16 * DAMAGE.
17 *
18 * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
19 * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
20 * FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
21 * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
22 * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
23 *
24 * Google Author(s): Behdad Esfahbod
25 */
26
27#ifndef HB_GOBJECT_H_IN
28#error "Include <hb-gobject.h> instead."
29#endif
30
31#ifndef HB_GOBJECT_STRUCTS_H
32#define HB_GOBJECT_STRUCTS_H
33
34#include "hb.h"
35
36#include <glib-object.h>
37
38HB_BEGIN_DECLS
39
40
41/* Object types */
42
43GType hb_gobject_blob_get_type (void);
44#define HB_GOBJECT_TYPE_BLOB (hb_gobject_blob_get_type ())
45
46GType hb_gobject_buffer_get_type (void);
47#define HB_GOBJECT_TYPE_BUFFER (hb_gobject_buffer_get_type ())
48
49GType hb_gobject_face_get_type (void);
50#define HB_GOBJECT_TYPE_FACE (hb_gobject_face_get_type ())
51
52GType hb_gobject_font_get_type (void);
53#define HB_GOBJECT_TYPE_FONT (hb_gobject_font_get_type ())
54
55GType hb_gobject_font_funcs_get_type (void);
56#define HB_GOBJECT_TYPE_FONT_FUNCS (hb_gobject_font_funcs_get_type ())
57
58GType hb_gobject_set_get_type (void);
59#define HB_GOBJECT_TYPE_SET (hb_gobject_set_get_type ())
60
61GType hb_gobject_shape_plan_get_type (void);
62#define HB_GOBJECT_TYPE_SHAPE_PLAN (hb_gobject_shape_plan_get_type ())
63
64GType hb_gobject_unicode_funcs_get_type (void);
65#define HB_GOBJECT_TYPE_UNICODE_FUNCS (hb_gobject_unicode_funcs_get_type ())
66
67/* Value types */
68
69GType hb_gobject_feature_get_type (void);
70#define HB_GOBJECT_TYPE_FEATURE (hb_gobject_feature_get_type ())
71
72GType hb_gobject_glyph_info_get_type (void);
73#define HB_GOBJECT_TYPE_GLYPH_INFO (hb_gobject_glyph_info_get_type ())
74
75GType hb_gobject_glyph_position_get_type (void);
76#define HB_GOBJECT_TYPE_GLYPH_POSITION (hb_gobject_glyph_position_get_type ())
77
78GType hb_gobject_segment_properties_get_type (void);
79#define HB_GOBJECT_TYPE_SEGMENT_PROPERTIES (hb_gobject_segment_properties_get_type ())
80
81GType hb_gobject_user_data_key_get_type (void);
82#define HB_GOBJECT_TYPE_USER_DATA_KEY (hb_gobject_user_data_key_get_type ())
83
84/* Currently gobject-introspection doesn't understand that hb_language_t
85 * can be passed by-value.  As such we box it up.  May remove in the
86 * future.
87 *
88 *   https://bugzilla.gnome.org/show_bug.cgi?id=707656
89 */
90GType hb_gobject_language_get_type (void);
91#define HB_GOBJECT_TYPE_LANGUAGE (hb_gobject_language_get_type ())
92
93HB_END_DECLS
94
95#endif /* HB_GOBJECT_H */
96