summaryrefslogtreecommitdiff
path: root/desktop/treeview.c
diff options
context:
space:
mode:
authorVincent Sanders <vince@kyllikki.org>2015-04-13 23:19:04 +0100
committerVincent Sanders <vince@kyllikki.org>2015-04-13 23:19:04 +0100
commitf37e52c39475e6efd3740c5ae1ec4f290662928f (patch)
tree88d01618e903975743a3cb74bff9bf8df54c2a45 /desktop/treeview.c
parent7a28131e4953934150967eb7886bc06678e249e8 (diff)
downloadnetsurf-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.c63
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;