curvedraw

diff src/widgets.cc @ 1:7dcd0f6113e5

some ui and feedback stuff
author John Tsiombikas <nuclear@member.fsf.org>
date Wed, 16 Dec 2015 04:49:16 +0200
parents 8e524989c904
children 2b7ae76c173f
line diff
     1.1 --- a/src/widgets.cc	Tue Dec 15 07:15:53 2015 +0200
     1.2 +++ b/src/widgets.cc	Wed Dec 16 04:49:16 2015 +0200
     1.3 @@ -12,11 +12,10 @@
     1.4  {
     1.5  	if(font) return;
     1.6  
     1.7 -	if(!(font = dtx_open_font("data/droid_sans.ttf", 16))) {
     1.8 +	if(!(font = dtx_open_font("data/droid_sans.ttf", 24))) {
     1.9  		fprintf(stderr, "failed to load font\n");
    1.10  		abort();
    1.11  	}
    1.12 -	dtx_use_font(font, 16);
    1.13  }
    1.14  
    1.15  Widget::Widget()
    1.16 @@ -41,18 +40,21 @@
    1.17  
    1.18  void Widget::set_text(const char *str)
    1.19  {
    1.20 -	text = new char[strlen(str) + 1];
    1.21 -	strcpy(text, str);
    1.22 +	char *newtext = new char[strlen(str) + 1];
    1.23 +	strcpy(newtext, str);
    1.24 +
    1.25 +	delete [] text;
    1.26 +	text = newtext;
    1.27  }
    1.28  
    1.29  void Widget::set_textf(const char *str, ...)
    1.30  {
    1.31  	va_list ap;
    1.32  	int sz = strlen(str) * 4;
    1.33 -	char *buf = (char*)alloca(sz);
    1.34 +	char *buf = (char*)alloca(sz + 1);
    1.35  
    1.36  	va_start(ap, str);
    1.37 -	vsnprintf(buf, sz - 1, text, ap);
    1.38 +	vsnprintf(buf, sz, str, ap);
    1.39  	va_end(ap);
    1.40  
    1.41  	set_text(buf);
    1.42 @@ -72,8 +74,9 @@
    1.43  	glMatrixMode(GL_MODELVIEW);
    1.44  	glPushMatrix();
    1.45  	glTranslatef(pos.x, pos.y, 0);
    1.46 -	glScalef(0.1, 0.1, 1);
    1.47 +	glScalef(0.003, 0.003, 1);
    1.48  
    1.49 +	glColor4f(1, 1, 1, 1);
    1.50  	dtx_string(text);
    1.51  	dtx_flush();
    1.52