diff options
author | Vincent Sanders <vince@kyllikki.org> | 2015-04-13 23:19:04 +0100 |
---|---|---|
committer | Vincent Sanders <vince@kyllikki.org> | 2015-04-13 23:19:04 +0100 |
commit | f37e52c39475e6efd3740c5ae1ec4f290662928f (patch) | |
tree | 88d01618e903975743a3cb74bff9bf8df54c2a45 /desktop/treeview.c | |
parent | 7a28131e4953934150967eb7886bc06678e249e8 (diff) | |
download | netsurf-f37e52c39475e6efd3740c5ae1ec4f290662928f.tar.gz netsurf-f37e52c39475e6efd3740c5ae1ec4f290662928f.tar.bz2 |
Move bitmap operations into an operation table.
The generic bitmap handlers provided by each frontend are called back
from the core and therefore should be in an operation table. This was
one of the very few remaining interfaces stopping the core code from
being split into a library.
Diffstat (limited to 'desktop/treeview.c')
-rw-r--r-- | desktop/treeview.c | 63 |
1 files changed, 32 insertions, 31 deletions
diff --git a/desktop/treeview.c b/desktop/treeview.c index f6134ae71..35458f7fb 100644 --- a/desktop/treeview.c +++ b/desktop/treeview.c @@ -3698,12 +3698,12 @@ static struct bitmap * treeview_generate_triangle_bitmap( colour colour4 = fg; /* Create the bitmap */ - b = bitmap_create(size, size, BITMAP_NEW | BITMAP_OPAQUE); + b = guit->bitmap->create(size, size, BITMAP_NEW | BITMAP_OPAQUE); if (b == NULL) return NULL; - rpos = bitmap_get_buffer(b); - stride = bitmap_get_rowstride(b); + rpos = guit->bitmap->get_buffer(b); + stride = guit->bitmap->get_rowstride(b); /* Draw the triangle */ for (y = 0; y < size; y++) { @@ -3770,7 +3770,7 @@ static struct bitmap * treeview_generate_triangle_bitmap( rpos += stride; } - bitmap_modified(b); + guit->bitmap->modified(b); return b; } @@ -3793,29 +3793,29 @@ static struct bitmap * treeview_generate_copy_bitmap( if (orig == NULL) return NULL; - assert(size == bitmap_get_width(orig)); - assert(size == bitmap_get_height(orig)); + assert(size == guit->bitmap->get_width(orig)); + assert(size == guit->bitmap->get_height(orig)); /* Create the bitmap */ - b = bitmap_create(size, size, BITMAP_NEW | BITMAP_OPAQUE); + b = guit->bitmap->create(size, size, BITMAP_NEW | BITMAP_OPAQUE); if (b == NULL) return NULL; - stride = bitmap_get_rowstride(b); - assert(stride == bitmap_get_rowstride(orig)); + stride = guit->bitmap->get_rowstride(b); + assert(stride == guit->bitmap->get_rowstride(orig)); - data = bitmap_get_buffer(b); - orig_data = bitmap_get_buffer(orig); + data = guit->bitmap->get_buffer(b); + orig_data = guit->bitmap->get_buffer(orig); /* Copy the bitmap */ memcpy(data, orig_data, stride * size); - bitmap_modified(b); + guit->bitmap->modified(b); /* We've not modified the original image, but we called * bitmap_get_buffer(), so we need to pair that with a * bitmap_modified() call to appease certain front ends. */ - bitmap_modified(orig); + guit->bitmap->modified(orig); return b; } @@ -3841,19 +3841,19 @@ static struct bitmap * treeview_generate_rotate_bitmap( if (orig == NULL) return NULL; - assert(size == bitmap_get_width(orig)); - assert(size == bitmap_get_height(orig)); + assert(size == guit->bitmap->get_width(orig)); + assert(size == guit->bitmap->get_height(orig)); /* Create the bitmap */ - b = bitmap_create(size, size, BITMAP_NEW | BITMAP_OPAQUE); + b = guit->bitmap->create(size, size, BITMAP_NEW | BITMAP_OPAQUE); if (b == NULL) return NULL; - stride = bitmap_get_rowstride(b); - assert(stride == bitmap_get_rowstride(orig)); + stride = guit->bitmap->get_rowstride(b); + assert(stride == guit->bitmap->get_rowstride(orig)); - rpos = bitmap_get_buffer(b); - orig_data = bitmap_get_buffer(orig); + rpos = guit->bitmap->get_buffer(b); + orig_data = guit->bitmap->get_buffer(orig); /* Copy the rotated bitmap */ for (y = 0; y < size; y++) { @@ -3871,12 +3871,13 @@ static struct bitmap * treeview_generate_rotate_bitmap( rpos += stride; } - bitmap_modified(b); + guit->bitmap->modified(b); /* We've not modified the original image, but we called * bitmap_get_buffer(), so we need to pair that with a - * bitmap_modified() call to appease certain front ends. */ - bitmap_modified(orig); + * bitmap_modified() call to appease certain front ends. + */ + guit->bitmap->modified(orig); return b; } @@ -3988,14 +3989,14 @@ nserror treeview_fini(void) hlcache_handle_release(treeview_res[i].c); } - bitmap_destroy(plot_style_odd.furn[TREE_FURN_EXPAND].bmp); - bitmap_destroy(plot_style_odd.furn[TREE_FURN_EXPAND].sel); - bitmap_destroy(plot_style_even.furn[TREE_FURN_EXPAND].bmp); - bitmap_destroy(plot_style_even.furn[TREE_FURN_EXPAND].sel); - bitmap_destroy(plot_style_odd.furn[TREE_FURN_CONTRACT].bmp); - bitmap_destroy(plot_style_odd.furn[TREE_FURN_CONTRACT].sel); - bitmap_destroy(plot_style_even.furn[TREE_FURN_CONTRACT].bmp); - bitmap_destroy(plot_style_even.furn[TREE_FURN_CONTRACT].sel); + guit->bitmap->destroy(plot_style_odd.furn[TREE_FURN_EXPAND].bmp); + guit->bitmap->destroy(plot_style_odd.furn[TREE_FURN_EXPAND].sel); + guit->bitmap->destroy(plot_style_even.furn[TREE_FURN_EXPAND].bmp); + guit->bitmap->destroy(plot_style_even.furn[TREE_FURN_EXPAND].sel); + guit->bitmap->destroy(plot_style_odd.furn[TREE_FURN_CONTRACT].bmp); + guit->bitmap->destroy(plot_style_odd.furn[TREE_FURN_CONTRACT].sel); + guit->bitmap->destroy(plot_style_even.furn[TREE_FURN_CONTRACT].bmp); + guit->bitmap->destroy(plot_style_even.furn[TREE_FURN_CONTRACT].sel); tree_g.initialised = false; |