#include "bindable.h"
#include "gl.h"
#include "font.h"
-#include "immediate.h"
-#include "primitivetype.h"
+#include "primitivebuilder.h"
#include "texture2d.h"
using namespace std;
return x;
}
-void Font::draw_string(const string &str, StringCodec::Decoder &dec, const Color &color) const
-{
- BindRestore bind_tex(get_texture());
- Immediate imm((TEXCOORD2, COLOR4_UBYTE, VERTEX2));
- imm.color(color);
- build_string(str, dec, imm);
-}
-
void Font::build_string(const string &str, StringCodec::Decoder &dec, PrimitiveBuilder &bld) const
{
- MatrixStack::Push push_mtx(bld.matrix());
+ VertexBuilder::PushMatrix push_mtx(bld);
unsigned prev = 0;
unsigned next = 0;
continue;
if(prev)
- bld.matrix() *= Matrix::translation(get_glyph_advance(prev, c), 0, 0);
+ bld.transform(Matrix::translation(get_glyph_advance(prev, c), 0, 0));
create_glyph_quad(j->second, bld);
prev = c;