diff options
author | Behdad Esfahbod <behdad@gnome.org> | 2007-10-11 07:21:31 +0000 |
---|---|---|
committer | Behdad Esfahbod <behdad@src.gnome.org> | 2007-10-11 07:21:31 +0000 |
commit | 1abb91a29c047cbad456d937f3c4a2128e21e3b9 (patch) | |
tree | f12815b74d87eadfe1dd70c8df37bd2f0d948001 | |
parent | 49b956b53925ea697711a319195c08351bc14ba0 (diff) | |
download | pango-1abb91a29c047cbad456d937f3c4a2128e21e3b9.tar.gz |
Move some code around.
2007-10-11 Behdad Esfahbod <behdad@gnome.org>
* pango/opentype/harfbuzz-buffer.c: Move some code around.
svn path=/trunk/; revision=2436
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | pango/opentype/harfbuzz-buffer.c | 91 |
2 files changed, 52 insertions, 43 deletions
@@ -1,5 +1,9 @@ 2007-10-11 Behdad Esfahbod <behdad@gnome.org> + * pango/opentype/harfbuzz-buffer.c: Move some code around. + +2007-10-11 Behdad Esfahbod <behdad@gnome.org> + * pango/opentype/harfbuzz-buffer.[ch]: Rename buffer->inplace to buffer->separate_out with the inverted meaning, such that buffer is initialization is memset(0). diff --git a/pango/opentype/harfbuzz-buffer.c b/pango/opentype/harfbuzz-buffer.c index 10c08672..bca5002e 100644 --- a/pango/opentype/harfbuzz-buffer.c +++ b/pango/opentype/harfbuzz-buffer.c @@ -103,29 +103,64 @@ hb_buffer_duplicate_out_buffer( HB_Buffer buffer ) } HB_Error -hb_buffer_new( HB_Buffer *buffer ) +hb_buffer_new( HB_Buffer *pbuffer ) { + HB_Buffer buffer; HB_Error error; - if ( ALLOC( *buffer, sizeof( HB_BufferRec ) ) ) + if ( ALLOC( buffer, sizeof( HB_BufferRec ) ) ) return error; - (*buffer)->in_length = 0; - (*buffer)->out_length = 0; - (*buffer)->allocated = 0; - (*buffer)->in_pos = 0; - (*buffer)->out_pos = 0; + /* not these ones */ + buffer->allocated = 0; + buffer->in_string = NULL; + buffer->alt_string = NULL; + buffer->positions = NULL; - (*buffer)->separate_out = FALSE; - (*buffer)->in_string = NULL; - (*buffer)->out_string = NULL; - (*buffer)->alt_string = NULL; - (*buffer)->positions = NULL; - (*buffer)->max_ligID = 0; + /* these should be reset when reusing buffer */ + buffer->in_length = 0; + buffer->out_length = 0; + buffer->in_pos = 0; + buffer->out_pos = 0; + buffer->separate_out = FALSE; + buffer->out_string = buffer->in_string; + buffer->max_ligID = 0; + + *pbuffer = buffer; return HB_Err_Ok; } +void +hb_buffer_free( HB_Buffer buffer ) +{ + FREE( buffer->in_string ); + FREE( buffer->alt_string ); + buffer->out_string = NULL; + FREE( buffer->positions ); + FREE( buffer ); +} + +void +hb_buffer_clear( HB_Buffer buffer ) +{ + buffer->in_length = 0; + buffer->out_length = 0; + buffer->in_pos = 0; + buffer->out_pos = 0; + buffer->out_string = buffer->in_string; + buffer->separate_out = FALSE; +} + +void +hb_buffer_clear_output( HB_Buffer buffer ) +{ + buffer->out_length = 0; + buffer->out_pos = 0; + buffer->out_string = buffer->in_string; + buffer->separate_out = FALSE; +} + HB_Error hb_buffer_clear_positions( HB_Buffer buffer ) { @@ -143,15 +178,6 @@ hb_buffer_clear_positions( HB_Buffer buffer ) } void -hb_buffer_clear_output( HB_Buffer buffer ) -{ - buffer->out_length = 0; - buffer->out_pos = 0; - buffer->out_string = buffer->in_string; - buffer->separate_out = FALSE; -} - -void hb_buffer_swap( HB_Buffer buffer ) { HB_GlyphItem tmp_string; @@ -175,27 +201,6 @@ hb_buffer_swap( HB_Buffer buffer ) buffer->out_pos = tmp_pos; } -void -hb_buffer_free( HB_Buffer buffer ) -{ - FREE( buffer->in_string ); - FREE( buffer->alt_string ); - buffer->out_string = NULL; - FREE( buffer->positions ); - FREE( buffer ); -} - -void -hb_buffer_clear( HB_Buffer buffer ) -{ - buffer->in_length = 0; - buffer->out_length = 0; - buffer->in_pos = 0; - buffer->out_pos = 0; - buffer->out_string = buffer->in_string; - buffer->separate_out = FALSE; -} - HB_Error hb_buffer_add_glyph( HB_Buffer buffer, FT_UInt glyph_index, |