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 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
103 { return have_output? out_len : idx; } | 103 { return have_output? out_len : idx; } |
104 inline unsigned int next_serial (void) { return serial++; } | 104 inline unsigned int next_serial (void) { return serial++; } |
105 | 105 |
106 HB_INTERNAL void allocate_var (unsigned int byte_i, unsigned int count, const
char *owner); | 106 HB_INTERNAL void allocate_var (unsigned int byte_i, unsigned int count, const
char *owner); |
107 HB_INTERNAL void deallocate_var (unsigned int byte_i, unsigned int count, cons
t char *owner); | 107 HB_INTERNAL void deallocate_var (unsigned int byte_i, unsigned int count, cons
t char *owner); |
108 HB_INTERNAL void assert_var (unsigned int byte_i, unsigned int count, const ch
ar *owner); | 108 HB_INTERNAL void assert_var (unsigned int byte_i, unsigned int count, const ch
ar *owner); |
109 HB_INTERNAL void deallocate_var_all (void); | 109 HB_INTERNAL void deallocate_var_all (void); |
110 | 110 |
111 HB_INTERNAL void add (hb_codepoint_t codepoint, | 111 HB_INTERNAL void add (hb_codepoint_t codepoint, |
112 unsigned int cluster); | 112 unsigned int cluster); |
| 113 HB_INTERNAL void add_info (const hb_glyph_info_t &glyph_info); |
113 | 114 |
114 HB_INTERNAL void reverse_range (unsigned int start, unsigned int end); | 115 HB_INTERNAL void reverse_range (unsigned int start, unsigned int end); |
115 HB_INTERNAL void reverse (void); | 116 HB_INTERNAL void reverse (void); |
116 HB_INTERNAL void reverse_clusters (void); | 117 HB_INTERNAL void reverse_clusters (void); |
117 HB_INTERNAL void guess_segment_properties (void); | 118 HB_INTERNAL void guess_segment_properties (void); |
118 | 119 |
119 HB_INTERNAL void swap_buffers (void); | 120 HB_INTERNAL void swap_buffers (void); |
120 HB_INTERNAL void remove_output (void); | 121 HB_INTERNAL void remove_output (void); |
121 HB_INTERNAL void clear_output (void); | 122 HB_INTERNAL void clear_output (void); |
122 HB_INTERNAL void clear_positions (void); | 123 HB_INTERNAL void clear_positions (void); |
123 | 124 |
124 HB_INTERNAL void replace_glyphs (unsigned int num_in, | 125 HB_INTERNAL void replace_glyphs (unsigned int num_in, |
125 unsigned int num_out, | 126 unsigned int num_out, |
126 const hb_codepoint_t *glyph_data); | 127 const hb_codepoint_t *glyph_data); |
127 | 128 |
128 HB_INTERNAL void replace_glyph (hb_codepoint_t glyph_index); | 129 HB_INTERNAL void replace_glyph (hb_codepoint_t glyph_index); |
129 /* Makes a copy of the glyph at idx to output and replace glyph_index */ | 130 /* Makes a copy of the glyph at idx to output and replace glyph_index */ |
130 HB_INTERNAL void output_glyph (hb_codepoint_t glyph_index); | 131 HB_INTERNAL void output_glyph (hb_codepoint_t glyph_index); |
131 HB_INTERNAL void output_info (hb_glyph_info_t &glyph_info); | 132 HB_INTERNAL void output_info (const hb_glyph_info_t &glyph_info); |
132 /* Copies glyph at idx to output but doesn't advance idx */ | 133 /* Copies glyph at idx to output but doesn't advance idx */ |
133 HB_INTERNAL void copy_glyph (void); | 134 HB_INTERNAL void copy_glyph (void); |
134 /* Copies glyph at idx to output and advance idx. | 135 /* Copies glyph at idx to output and advance idx. |
135 * If there's no output, just advance idx. */ | 136 * If there's no output, just advance idx. */ |
136 inline void | 137 inline void |
137 next_glyph (void) | 138 next_glyph (void) |
138 { | 139 { |
139 if (have_output) | 140 if (have_output) |
140 { | 141 { |
141 if (unlikely (out_info != info || out_len != idx)) { | 142 if (unlikely (out_info != info || out_len != idx)) { |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
190 sizeof (b->info[0].var), owner) | 191 sizeof (b->info[0].var), owner) |
191 #define HB_BUFFER_ALLOCATE_VAR(b, var) \ | 192 #define HB_BUFFER_ALLOCATE_VAR(b, var) \ |
192 HB_BUFFER_XALLOCATE_VAR (b, allocate_var, var (), #var) | 193 HB_BUFFER_XALLOCATE_VAR (b, allocate_var, var (), #var) |
193 #define HB_BUFFER_DEALLOCATE_VAR(b, var) \ | 194 #define HB_BUFFER_DEALLOCATE_VAR(b, var) \ |
194 HB_BUFFER_XALLOCATE_VAR (b, deallocate_var, var (), #var) | 195 HB_BUFFER_XALLOCATE_VAR (b, deallocate_var, var (), #var) |
195 #define HB_BUFFER_ASSERT_VAR(b, var) \ | 196 #define HB_BUFFER_ASSERT_VAR(b, var) \ |
196 HB_BUFFER_XALLOCATE_VAR (b, assert_var, var (), #var) | 197 HB_BUFFER_XALLOCATE_VAR (b, assert_var, var (), #var) |
197 | 198 |
198 | 199 |
199 #endif /* HB_BUFFER_PRIVATE_HH */ | 200 #endif /* HB_BUFFER_PRIVATE_HH */ |
OLD | NEW |