Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(158)

Side by Side Diff: third_party/harfbuzz-ng/src/hb-buffer-private.hh

Issue 70193010: Update harfbuzz-ng to 0.9.24 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 unsigned int context_len[2]; 96 unsigned int context_len[2];
97 97
98 98
99 /* Methods */ 99 /* Methods */
100 100
101 HB_INTERNAL void reset (void); 101 HB_INTERNAL void reset (void);
102 HB_INTERNAL void clear (void); 102 HB_INTERNAL void clear (void);
103 103
104 inline unsigned int backtrack_len (void) const 104 inline unsigned int backtrack_len (void) const
105 { return have_output? out_len : idx; } 105 { return have_output? out_len : idx; }
106 inline unsigned int lookahead_len (void) const
107 { return len - idx; }
106 inline unsigned int next_serial (void) { return serial++; } 108 inline unsigned int next_serial (void) { return serial++; }
107 109
108 HB_INTERNAL void allocate_var (unsigned int byte_i, unsigned int count, const char *owner); 110 HB_INTERNAL void allocate_var (unsigned int byte_i, unsigned int count, const char *owner);
109 HB_INTERNAL void deallocate_var (unsigned int byte_i, unsigned int count, cons t char *owner); 111 HB_INTERNAL void deallocate_var (unsigned int byte_i, unsigned int count, cons t char *owner);
110 HB_INTERNAL void assert_var (unsigned int byte_i, unsigned int count, const ch ar *owner); 112 HB_INTERNAL void assert_var (unsigned int byte_i, unsigned int count, const ch ar *owner);
111 HB_INTERNAL void deallocate_var_all (void); 113 HB_INTERNAL void deallocate_var_all (void);
112 114
113 HB_INTERNAL void add (hb_codepoint_t codepoint, 115 HB_INTERNAL void add (hb_codepoint_t codepoint,
114 unsigned int cluster); 116 unsigned int cluster);
115 HB_INTERNAL void add_info (const hb_glyph_info_t &glyph_info); 117 HB_INTERNAL void add_info (const hb_glyph_info_t &glyph_info);
(...skipping 11 matching lines...) Expand all
127 HB_INTERNAL void replace_glyphs (unsigned int num_in, 129 HB_INTERNAL void replace_glyphs (unsigned int num_in,
128 unsigned int num_out, 130 unsigned int num_out,
129 const hb_codepoint_t *glyph_data); 131 const hb_codepoint_t *glyph_data);
130 132
131 HB_INTERNAL void replace_glyph (hb_codepoint_t glyph_index); 133 HB_INTERNAL void replace_glyph (hb_codepoint_t glyph_index);
132 /* Makes a copy of the glyph at idx to output and replace glyph_index */ 134 /* Makes a copy of the glyph at idx to output and replace glyph_index */
133 HB_INTERNAL void output_glyph (hb_codepoint_t glyph_index); 135 HB_INTERNAL void output_glyph (hb_codepoint_t glyph_index);
134 HB_INTERNAL void output_info (const hb_glyph_info_t &glyph_info); 136 HB_INTERNAL void output_info (const hb_glyph_info_t &glyph_info);
135 /* Copies glyph at idx to output but doesn't advance idx */ 137 /* Copies glyph at idx to output but doesn't advance idx */
136 HB_INTERNAL void copy_glyph (void); 138 HB_INTERNAL void copy_glyph (void);
139 HB_INTERNAL bool move_to (unsigned int i); /* i is output-buffer index. */
137 /* Copies glyph at idx to output and advance idx. 140 /* Copies glyph at idx to output and advance idx.
138 * If there's no output, just advance idx. */ 141 * If there's no output, just advance idx. */
139 inline void 142 inline void
140 next_glyph (void) 143 next_glyph (void)
141 { 144 {
142 if (have_output) 145 if (have_output)
143 { 146 {
144 if (unlikely (out_info != info || out_len != idx)) { 147 if (unlikely (out_info != info || out_len != idx)) {
145 if (unlikely (!make_room_for (1, 1))) return; 148 if (unlikely (!make_room_for (1, 1))) return;
146 out_info[out_len] = info[idx]; 149 out_info[out_len] = info[idx];
(...skipping 27 matching lines...) Expand all
174 HB_INTERNAL void merge_out_clusters (unsigned int start, 177 HB_INTERNAL void merge_out_clusters (unsigned int start,
175 unsigned int end); 178 unsigned int end);
176 179
177 /* Internal methods */ 180 /* Internal methods */
178 HB_INTERNAL bool enlarge (unsigned int size); 181 HB_INTERNAL bool enlarge (unsigned int size);
179 182
180 inline bool ensure (unsigned int size) 183 inline bool ensure (unsigned int size)
181 { return likely (size < allocated) ? true : enlarge (size); } 184 { return likely (size < allocated) ? true : enlarge (size); }
182 185
183 HB_INTERNAL bool make_room_for (unsigned int num_in, unsigned int num_out); 186 HB_INTERNAL bool make_room_for (unsigned int num_in, unsigned int num_out);
187 HB_INTERNAL bool shift_forward (unsigned int count);
184 188
185 HB_INTERNAL void *get_scratch_buffer (unsigned int *size); 189 typedef long scratch_buffer_t;
190 HB_INTERNAL scratch_buffer_t *get_scratch_buffer (unsigned int *size);
186 191
187 inline void clear_context (unsigned int side) { context_len[side] = 0; } 192 inline void clear_context (unsigned int side) { context_len[side] = 0; }
188 }; 193 };
189 194
190 195
191 #define HB_BUFFER_XALLOCATE_VAR(b, func, var, owner) \ 196 #define HB_BUFFER_XALLOCATE_VAR(b, func, var, owner) \
192 b->func (offsetof (hb_glyph_info_t, var) - offsetof(hb_glyph_info_t, var1), \ 197 b->func (offsetof (hb_glyph_info_t, var) - offsetof(hb_glyph_info_t, var1), \
193 sizeof (b->info[0].var), owner) 198 sizeof (b->info[0].var), owner)
194 #define HB_BUFFER_ALLOCATE_VAR(b, var) \ 199 #define HB_BUFFER_ALLOCATE_VAR(b, var) \
195 HB_BUFFER_XALLOCATE_VAR (b, allocate_var, var (), #var) 200 HB_BUFFER_XALLOCATE_VAR (b, allocate_var, var (), #var)
196 #define HB_BUFFER_DEALLOCATE_VAR(b, var) \ 201 #define HB_BUFFER_DEALLOCATE_VAR(b, var) \
197 HB_BUFFER_XALLOCATE_VAR (b, deallocate_var, var (), #var) 202 HB_BUFFER_XALLOCATE_VAR (b, deallocate_var, var (), #var)
198 #define HB_BUFFER_ASSERT_VAR(b, var) \ 203 #define HB_BUFFER_ASSERT_VAR(b, var) \
199 HB_BUFFER_XALLOCATE_VAR (b, assert_var, var (), #var) 204 HB_BUFFER_XALLOCATE_VAR (b, assert_var, var (), #var)
200 205
201 206
202 #endif /* HB_BUFFER_PRIVATE_HH */ 207 #endif /* HB_BUFFER_PRIVATE_HH */
OLDNEW
« no previous file with comments | « third_party/harfbuzz-ng/src/hb-buffer.cc ('k') | third_party/harfbuzz-ng/src/hb-buffer-serialize.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698