virtual void operator()(text_render_thunk const& thunk) { tex_.set_comp_op(thunk.comp_op_); tex_.set_halo_comp_op(thunk.comp_op_); tex_.set_halo_rasterizer(thunk.halo_rasterizer_); for (auto const& glyphs : thunk.placements_) { scoped_glyph_positions_offset tmp_off(*glyphs, offset_); if (auto const& mark = glyphs->get_marker()) { ren_.render_marker(glyphs->marker_pos(), *mark->marker_, mark->transform_, thunk.opacity_, thunk.comp_op_); } tex_.render(*glyphs); } }
virtual void operator()(text_render_thunk const &thunk) { tex_.set_comp_op(thunk.comp_op_); value_integer feature_id = feature_.id(); for (auto const& glyphs : thunk.placements_) { scoped_glyph_positions_offset tmp_off(*glyphs, offset_); if (auto const& mark = glyphs->get_marker()) { ren_.render_marker(feature_, glyphs->marker_pos(), *mark->marker_, mark->transform_, thunk.opacity_, thunk.comp_op_); } tex_.render(*glyphs, feature_id); } pixmap_.add_feature(feature_); }