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