Index: third_party/harfbuzz-ng/src/hb-buffer.h |
diff --git a/third_party/harfbuzz-ng/src/hb-buffer.h b/third_party/harfbuzz-ng/src/hb-buffer.h |
index 0185415c46e373856086002900b3e96147934fcc..9582ebee49941bbe8c5c80f294e59d2ccbe44419 100644 |
--- a/third_party/harfbuzz-ng/src/hb-buffer.h |
+++ b/third_party/harfbuzz-ng/src/hb-buffer.h |
@@ -1,8 +1,9 @@ |
/* |
- * Copyright (C) 1998-2004 David Turner and Werner Lemberg |
- * Copyright (C) 2004,2007,2009 Red Hat, 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. |
+ * This is part of HarfBuzz, a text shaping library. |
* |
* Permission is hereby granted, without written agreement and without |
* license or royalty fees, to use, copy, modify, and distribute this |
@@ -23,6 +24,7 @@ |
* PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. |
* |
* Red Hat Author(s): Owen Taylor, Behdad Esfahbod |
+ * Google Author(s): Behdad Esfahbod |
*/ |
#ifndef HB_BUFFER_H |
@@ -30,7 +32,6 @@ |
#include "hb-common.h" |
#include "hb-unicode.h" |
-#include "hb-language.h" |
HB_BEGIN_DECLS |
@@ -41,6 +42,8 @@ typedef struct _hb_glyph_info_t { |
hb_codepoint_t codepoint; |
hb_mask_t mask; |
uint32_t cluster; |
+ |
+ /*< private >*/ |
hb_var_int_t var1; |
hb_var_int_t var2; |
} hb_glyph_info_t; |
@@ -50,22 +53,35 @@ typedef struct _hb_glyph_position_t { |
hb_position_t y_advance; |
hb_position_t x_offset; |
hb_position_t y_offset; |
+ |
+ /*< private >*/ |
hb_var_int_t var; |
} 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, |
@@ -96,15 +112,20 @@ hb_language_t |
hb_buffer_get_language (hb_buffer_t *buffer); |
+/* Resets the buffer. Afterwards it's as if it was just created, |
+ * except that it has a larger buffer allocated perhaps... */ |
void |
-hb_buffer_clear (hb_buffer_t *buffer); |
+hb_buffer_reset (hb_buffer_t *buffer); |
+ |
+/* Returns FALSE if allocation failed */ |
+hb_bool_t |
+hb_buffer_pre_allocate (hb_buffer_t *buffer, |
+ unsigned int size); |
-void |
-hb_buffer_clear_positions (hb_buffer_t *buffer); |
+/* Returns FALSE if allocation has failed before */ |
hb_bool_t |
-hb_buffer_ensure (hb_buffer_t *buffer, |
- unsigned int size); |
+hb_buffer_allocation_successful (hb_buffer_t *buffer); |
void |
hb_buffer_reverse (hb_buffer_t *buffer); |
@@ -112,50 +133,60 @@ 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); |
-/* Getting glyphs out of the buffer */ |
+/* Clears any new items added at the end */ |
+hb_bool_t |
+hb_buffer_set_length (hb_buffer_t *buffer, |
+ unsigned int length); |
/* Return value valid as long as buffer not modified */ |
unsigned int |
hb_buffer_get_length (hb_buffer_t *buffer); |
+/* Getting glyphs out of the buffer */ |
+ |
/* Return value valid as long as buffer not modified */ |
hb_glyph_info_t * |
-hb_buffer_get_glyph_infos (hb_buffer_t *buffer); |
+hb_buffer_get_glyph_infos (hb_buffer_t *buffer, |
+ unsigned int *length); |
/* Return value valid as long as buffer not modified */ |
hb_glyph_position_t * |
-hb_buffer_get_glyph_positions (hb_buffer_t *buffer); |
+hb_buffer_get_glyph_positions (hb_buffer_t *buffer, |
+ unsigned int *length); |
HB_END_DECLS |