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 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
73 | 73 |
74 inline hb_glyph_info_t &cur (unsigned int i = 0) { return info[idx + i]; } | 74 inline hb_glyph_info_t &cur (unsigned int i = 0) { return info[idx + i]; } |
75 inline hb_glyph_info_t cur (unsigned int i = 0) const { return info[idx + i];
} | 75 inline hb_glyph_info_t cur (unsigned int i = 0) const { return info[idx + i];
} |
76 | 76 |
77 inline hb_glyph_position_t &cur_pos (unsigned int i = 0) { return pos[idx + i]
; } | 77 inline hb_glyph_position_t &cur_pos (unsigned int i = 0) { return pos[idx + i]
; } |
78 inline hb_glyph_position_t cur_pos (unsigned int i = 0) const { return pos[idx
+ i]; } | 78 inline hb_glyph_position_t cur_pos (unsigned int i = 0) const { return pos[idx
+ i]; } |
79 | 79 |
80 inline hb_glyph_info_t &prev (void) { return out_info[out_len - 1]; } | 80 inline hb_glyph_info_t &prev (void) { return out_info[out_len - 1]; } |
81 inline hb_glyph_info_t prev (void) const { return info[out_len - 1]; } | 81 inline hb_glyph_info_t prev (void) const { return info[out_len - 1]; } |
82 | 82 |
| 83 inline bool has_separate_output (void) const { return info != out_info; } |
| 84 |
83 unsigned int serial; | 85 unsigned int serial; |
84 | 86 |
85 /* These reflect current allocations of the bytes in glyph_info_t's var1 and v
ar2. */ | 87 /* These reflect current allocations of the bytes in glyph_info_t's var1 and v
ar2. */ |
86 uint8_t allocated_var_bytes[8]; | 88 uint8_t allocated_var_bytes[8]; |
87 const char *allocated_var_owner[8]; | 89 const char *allocated_var_owner[8]; |
88 | 90 |
89 /* Text before / after the main buffer contents. | 91 /* Text before / after the main buffer contents. |
90 * Always in Unicode, and ordered outward. | 92 * Always in Unicode, and ordered outward. |
91 * Index 0 is for "pre-context", 1 for "post-context". */ | 93 * Index 0 is for "pre-context", 1 for "post-context". */ |
92 static const unsigned int CONTEXT_LENGTH = 5; | 94 static const unsigned int CONTEXT_LENGTH = 5; |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
191 sizeof (b->info[0].var), owner) | 193 sizeof (b->info[0].var), owner) |
192 #define HB_BUFFER_ALLOCATE_VAR(b, var) \ | 194 #define HB_BUFFER_ALLOCATE_VAR(b, var) \ |
193 HB_BUFFER_XALLOCATE_VAR (b, allocate_var, var (), #var) | 195 HB_BUFFER_XALLOCATE_VAR (b, allocate_var, var (), #var) |
194 #define HB_BUFFER_DEALLOCATE_VAR(b, var) \ | 196 #define HB_BUFFER_DEALLOCATE_VAR(b, var) \ |
195 HB_BUFFER_XALLOCATE_VAR (b, deallocate_var, var (), #var) | 197 HB_BUFFER_XALLOCATE_VAR (b, deallocate_var, var (), #var) |
196 #define HB_BUFFER_ASSERT_VAR(b, var) \ | 198 #define HB_BUFFER_ASSERT_VAR(b, var) \ |
197 HB_BUFFER_XALLOCATE_VAR (b, assert_var, var (), #var) | 199 HB_BUFFER_XALLOCATE_VAR (b, assert_var, var (), #var) |
198 | 200 |
199 | 201 |
200 #endif /* HB_BUFFER_PRIVATE_HH */ | 202 #endif /* HB_BUFFER_PRIVATE_HH */ |
OLD | NEW |