OLD | NEW |
1 /* | 1 /* |
2 * Copyright © 1998-2004 David Turner and Werner Lemberg | 2 * Copyright © 1998-2004 David Turner and Werner Lemberg |
3 * Copyright © 2004,2007,2009,2010 Red Hat, Inc. | 3 * Copyright © 2004,2007,2009,2010 Red Hat, Inc. |
4 * Copyright © 2011,2012 Google, Inc. | 4 * Copyright © 2011,2012 Google, Inc. |
5 * | 5 * |
6 * This is part of HarfBuzz, a text shaping library. | 6 * This is part of HarfBuzz, a text shaping library. |
7 * | 7 * |
8 * Permission is hereby granted, without written agreement and without | 8 * Permission is hereby granted, without written agreement and without |
9 * license or royalty fees, to use, copy, modify, and distribute this | 9 * license or royalty fees, to use, copy, modify, and distribute this |
10 * software and its documentation for any purpose, provided that the | 10 * software and its documentation for any purpose, provided that the |
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
194 inline bool ensure_inplace (unsigned int size) | 194 inline bool ensure_inplace (unsigned int size) |
195 { return likely (!size || size < allocated); } | 195 { return likely (!size || size < allocated); } |
196 | 196 |
197 HB_INTERNAL bool make_room_for (unsigned int num_in, unsigned int num_out); | 197 HB_INTERNAL bool make_room_for (unsigned int num_in, unsigned int num_out); |
198 HB_INTERNAL bool shift_forward (unsigned int count); | 198 HB_INTERNAL bool shift_forward (unsigned int count); |
199 | 199 |
200 typedef long scratch_buffer_t; | 200 typedef long scratch_buffer_t; |
201 HB_INTERNAL scratch_buffer_t *get_scratch_buffer (unsigned int *size); | 201 HB_INTERNAL scratch_buffer_t *get_scratch_buffer (unsigned int *size); |
202 | 202 |
203 inline void clear_context (unsigned int side) { context_len[side] = 0; } | 203 inline void clear_context (unsigned int side) { context_len[side] = 0; } |
| 204 |
| 205 HB_INTERNAL void sort (unsigned int start, unsigned int end, int(*compar)(cons
t hb_glyph_info_t *, const hb_glyph_info_t *)); |
204 }; | 206 }; |
205 | 207 |
206 | 208 |
207 #define HB_BUFFER_XALLOCATE_VAR(b, func, var, owner) \ | 209 #define HB_BUFFER_XALLOCATE_VAR(b, func, var, owner) \ |
208 b->func (offsetof (hb_glyph_info_t, var) - offsetof(hb_glyph_info_t, var1), \ | 210 b->func (offsetof (hb_glyph_info_t, var) - offsetof(hb_glyph_info_t, var1), \ |
209 sizeof (b->info[0].var), owner) | 211 sizeof (b->info[0].var), owner) |
210 #define HB_BUFFER_ALLOCATE_VAR(b, var) \ | 212 #define HB_BUFFER_ALLOCATE_VAR(b, var) \ |
211 HB_BUFFER_XALLOCATE_VAR (b, allocate_var, var (), #var) | 213 HB_BUFFER_XALLOCATE_VAR (b, allocate_var, var (), #var) |
212 #define HB_BUFFER_DEALLOCATE_VAR(b, var) \ | 214 #define HB_BUFFER_DEALLOCATE_VAR(b, var) \ |
213 HB_BUFFER_XALLOCATE_VAR (b, deallocate_var, var (), #var) | 215 HB_BUFFER_XALLOCATE_VAR (b, deallocate_var, var (), #var) |
214 #define HB_BUFFER_ASSERT_VAR(b, var) \ | 216 #define HB_BUFFER_ASSERT_VAR(b, var) \ |
215 HB_BUFFER_XALLOCATE_VAR (b, assert_var, var (), #var) | 217 HB_BUFFER_XALLOCATE_VAR (b, assert_var, var (), #var) |
216 | 218 |
217 | 219 |
218 #endif /* HB_BUFFER_PRIVATE_HH */ | 220 #endif /* HB_BUFFER_PRIVATE_HH */ |
OLD | NEW |