X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Ftext.cpp;h=dfb88e3fcc1e8553721eeaf100735cf616fe4f6f;hp=03421f5457c5ed3385548034115a6e18e1933269;hb=aa9873652630db493b5bd9faee4117e9c30ef226;hpb=9f04e2425664d6600f430a0af89f8d9d50767998 diff --git a/source/text.cpp b/source/text.cpp index 03421f54..dfb88e3f 100644 --- a/source/text.cpp +++ b/source/text.cpp @@ -11,7 +11,8 @@ Text::Text(const Font &f, const Technique *tech): font(f), mesh((TEXCOORD2, VERTEX2)), horz_align(0.0f), - vert_offset(0.0f) + vert_offset(0.0f), + width(0.0f) { object.set_mesh(&mesh); if(tech) @@ -23,7 +24,7 @@ void Text::set_technique(const Technique *tech) if(tech) { technique = *tech; - technique.replace_texture("diffusemap", font.get_texture()); + technique.replace_texture("diffuse_map", font.get_texture()); object.set_technique(&technique); } else @@ -34,7 +35,7 @@ void Text::set_text(const string &text, StringCodec::Decoder &dec) { clear(); width = font.get_string_width(text, dec); - GL::MeshBuilder bld(mesh); + MeshBuilder bld(mesh); bld.matrix() *= Matrix::translation(Vector3(-horz_align*width, vert_offset, 0.0f)); font.build_string(text, dec, bld); } @@ -71,6 +72,9 @@ void Text::set_alignment(HorizontalAlign ha, VerticalAlign va) void Text::set_alignment(float h, float v) { + if(h==horz_align && -v==vert_offset) + return; + float horz_adjust = (horz_align-h)*width; float vert_adjust = -v-vert_offset; horz_align = h;