data.row = row;
data.col = col;
- process_lines<CoordsToGeomData, &Text::coords_to_geom_line>(part, parent, first_row, data);
+ process_lines(part, parent, first_row, &Text::coords_to_geom_line, data);
return data.result;
}
RenderData data;
data.bld = &bld;
- process_lines<RenderData, &Text::build_line>(part, parent, first_row, data);
+ process_lines(part, parent, first_row, &Text::build_line, data);
}
Text &Text::operator=(const string &t)
}
}
-template<typename T, void (Text::*func)(unsigned, const Geometry &, T &) const>
-void Text::process_lines(const Part &part, const Geometry &parent, unsigned first_row, T &data) const
+template<typename T>
+void Text::process_lines(const Part &part, const Geometry &parent, unsigned first_row, void (Text::*func)(unsigned, const Geometry &, T &) const, T &data) const
{
if(!style)
return;
private:
void find_lines();
- template<typename T, void (Text::*)(unsigned, const Geometry &, T &) const>
- void process_lines(const Part &, const Geometry &, unsigned, T &) const;
+ template<typename T>
+ void process_lines(const Part &, const Geometry &, unsigned, void (Text::*)(unsigned, const Geometry &, T &) const, T &) const;
void build_line(unsigned, const Geometry &, RenderData &) const;
void coords_to_geom_line(unsigned, const Geometry &, CoordsToGeomData &) const;