| 846 | } |
| 847 | |
| 848 | static hb_buffer_t * hb_blend_work(hb_blend_object_t *object, |
| 849 | hb_buffer_t *in, |
| 850 | hb_buffer_list_t *overlays, |
| 851 | int changed) |
| 852 | { |
| 853 | hb_blend_private_t *pv = object->private_data; |
| 854 | hb_buffer_t *out = in; |
| 855 | |
| 856 | if (hb_buffer_list_count(overlays) == 0) |
| 857 | { |
| 858 | return out; |
| 859 | } |
| 860 | |
| 861 | if (hb_buffer_is_writable(in) == 0) |
| 862 | { |
| 863 | out = hb_buffer_dup(in); |
| 864 | hb_buffer_close(&in); |
| 865 | } |
| 866 | |
| 867 | for (hb_buffer_t *overlay = hb_buffer_list_head(overlays); overlay; overlay = overlay->next) |
| 868 | { |
| 869 | pv->blend(pv, out, overlay, pv->depth - 8); |
| 870 | } |
| 871 | |
| 872 | return out; |
| 873 | } |
| 874 | |
| 875 | static void hb_blend_close(hb_blend_object_t *object) |
| 876 | { |
nothing calls this directly
no test coverage detected