return x;
}
-void Font::draw_string(const string &str, StringCodec::Decoder &dec) const
+void Font::draw_string(const string &str, StringCodec::Decoder &dec, const Color &color) const
{
+ Bind bind_tex(get_texture(), true);
Immediate imm((TEXCOORD2, COLOR4_UBYTE, VERTEX2));
- draw_string(str, dec, imm);
+ imm.color(color);
+ build_string(str, dec, imm);
}
-void Font::draw_string(const string &str, StringCodec::Decoder &dec, PrimitiveBuilder &bld) const
+void Font::build_string(const string &str, StringCodec::Decoder &dec, PrimitiveBuilder &bld) const
{
MatrixStack::Push push_mtx(bld.matrix());
- Bind bind_tex(get_texture(), true);
bld.begin(QUADS);
for(string::const_iterator i=str.begin(); i!=str.end();)
void Font::Loader::texture_ref(const string &name)
{
- obj.texture = get_collection().get<Texture2D>(name);
+ obj.texture = &get_collection().get<Texture2D>(name);
obj.texture.keep();
}