/** * Copyright (c) 2021 Dominic Masters * * This software is released under the MIT License. * https://opensource.org/licenses/MIT */ #include "label.h" void labelInit(label_t *label) { label->fontSize = FONT_SIZE_DEFAULT; label->font = NULL; label->maxWidth = -1; label->primitive.verticeCount = 0; } void labelSetText(label_t *label, font_t *font, char *text) { if(label->primitive.verticeCount != 0) { primitiveDispose(&label->primitive); label->primitive.verticeCount = 0; } label->font = font; fontTextBuffer( font, &label->primitive, &label->info, text, label->maxWidth, label->fontSize ); } void labelRender(label_t *label, shaderprogram_t *shader, float x, float y) { if(label->primitive.verticeCount == 0) return; shaderUsePosition(shader, x,y,0, 0,0,0); shaderUseTexture(shader, &label->font->texture); primitiveDraw(&label->primitive, 0, -1); } void labelDispose(label_t *label) { primitiveDispose(&label->primitive); }