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 38 HB_BEGIN_DECLS 39 40 41 /* Object types */ 42 43 GType hb_gobject_blob_get_type (void); 44 #define HB_GOBJECT_TYPE_BLOB (hb_gobject_blob_get_type ()) 45 46 GType hb_gobject_buffer_get_type (void); 47 #define HB_GOBJECT_TYPE_BUFFER (hb_gobject_buffer_get_type ()) 48 49 GType hb_gobject_face_get_type (void); 50 #define HB_GOBJECT_TYPE_FACE (hb_gobject_face_get_type ()) 51 52 GType hb_gobject_font_get_type (void); 53 #define HB_GOBJECT_TYPE_FONT (hb_gobject_font_get_type ()) 54 55 GType hb_gobject_font_funcs_get_type (void); 56 #define HB_GOBJECT_TYPE_FONT_FUNCS (hb_gobject_font_funcs_get_type ()) 57 58 GType hb_gobject_set_get_type (void); 59 #define HB_GOBJECT_TYPE_SET (hb_gobject_set_get_type ()) 60 61 GType hb_gobject_shape_plan_get_type (void); 62 #define HB_GOBJECT_TYPE_SHAPE_PLAN (hb_gobject_shape_plan_get_type ()) 63 64 GType 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 69 GType hb_gobject_feature_get_type (void); 70 #define HB_GOBJECT_TYPE_FEATURE (hb_gobject_feature_get_type ()) 71 72 GType hb_gobject_glyph_info_get_type (void); 73 #define HB_GOBJECT_TYPE_GLYPH_INFO (hb_gobject_glyph_info_get_type ()) 74 75 GType hb_gobject_glyph_position_get_type (void); 76 #define HB_GOBJECT_TYPE_GLYPH_POSITION (hb_gobject_glyph_position_get_type ()) 77 78 GType hb_gobject_segment_properties_get_type (void); 79 #define HB_GOBJECT_TYPE_SEGMENT_PROPERTIES (hb_gobject_segment_properties_get_type ()) 80 81 GType 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 */ 90 GType hb_gobject_language_get_type (void); 91 #define HB_GOBJECT_TYPE_LANGUAGE (hb_gobject_language_get_type ()) 92 93 HB_END_DECLS 94 95 #endif /* HB_GOBJECT_H */ 96