Upgrade to latest harfbuzz
[framework/uifw/harfbuzz.git] / src / hb-buffer.h
index c22e31d..fe53197 100644 (file)
@@ -1,7 +1,7 @@
 /*
- * Copyright (C) 1998-2004  David Turner and Werner Lemberg
- * Copyright (C) 2004,2007,2009  Red Hat, Inc.
- * Copyright (C) 2011  Google, Inc.
+ * Copyright © 1998-2004  David Turner and Werner Lemberg
+ * Copyright © 2004,2007,2009  Red Hat, Inc.
+ * Copyright © 2011  Google, Inc.
  *
  *  This is part of HarfBuzz, a text shaping library.
  *
  * Google Author(s): Behdad Esfahbod
  */
 
+#ifndef HB_H_IN
+#error "Include <hb.h> instead."
+#endif
+
 #ifndef HB_BUFFER_H
 #define HB_BUFFER_H
 
@@ -60,17 +64,28 @@ typedef struct _hb_glyph_position_t {
 
 
 hb_buffer_t *
-hb_buffer_create (unsigned int pre_alloc_size);
+hb_buffer_create (void);
 
 hb_buffer_t *
-hb_buffer_reference (hb_buffer_t *buffer);
+hb_buffer_get_empty (void);
 
-unsigned int
-hb_buffer_get_reference_count (hb_buffer_t *buffer);
+hb_buffer_t *
+hb_buffer_reference (hb_buffer_t *buffer);
 
 void
 hb_buffer_destroy (hb_buffer_t *buffer);
 
+hb_bool_t
+hb_buffer_set_user_data (hb_buffer_t        *buffer,
+                        hb_user_data_key_t *key,
+                        void *              data,
+                        hb_destroy_func_t   destroy,
+                        hb_bool_t           replace);
+
+void *
+hb_buffer_get_user_data (hb_buffer_t        *buffer,
+                        hb_user_data_key_t *key);
+
 
 void
 hb_buffer_set_unicode_funcs (hb_buffer_t        *buffer,
@@ -106,13 +121,13 @@ hb_buffer_get_language (hb_buffer_t *buffer);
 void
 hb_buffer_reset (hb_buffer_t *buffer);
 
-/* Returns FALSE if allocation failed */
+/* Returns false if allocation failed */
 hb_bool_t
 hb_buffer_pre_allocate (hb_buffer_t  *buffer,
                        unsigned int  size);
 
 
-/* Returns FALSE if allocation has failed before */
+/* Returns false if allocation has failed before */
 hb_bool_t
 hb_buffer_allocation_successful (hb_buffer_t  *buffer);
 
@@ -122,35 +137,38 @@ hb_buffer_reverse (hb_buffer_t *buffer);
 void
 hb_buffer_reverse_clusters (hb_buffer_t *buffer);
 
+void
+hb_buffer_guess_properties (hb_buffer_t *buffer);
+
 
 /* Filling the buffer in */
 
 void
-hb_buffer_add_glyph (hb_buffer_t    *buffer,
-                    hb_codepoint_t  codepoint,
-                    hb_mask_t       mask,
-                    unsigned int    cluster);
+hb_buffer_add (hb_buffer_t    *buffer,
+              hb_codepoint_t  codepoint,
+              hb_mask_t       mask,
+              unsigned int    cluster);
 
 void
 hb_buffer_add_utf8 (hb_buffer_t  *buffer,
                    const char   *text,
-                   unsigned int  text_length,
+                   int           text_length,
                    unsigned int  item_offset,
-                   unsigned int  item_length);
+                   int           item_length);
 
 void
 hb_buffer_add_utf16 (hb_buffer_t    *buffer,
                     const uint16_t *text,
-                    unsigned int    text_length,
+                    int             text_length,
                     unsigned int    item_offset,
-                    unsigned int    item_length);
+                    int             item_length);
 
 void
 hb_buffer_add_utf32 (hb_buffer_t    *buffer,
                     const uint32_t *text,
-                    unsigned int    text_length,
+                    int             text_length,
                     unsigned int    item_offset,
-                    unsigned int    item_length);
+                    int             item_length);
 
 
 /* Clears any new items added at the end */