highlight character

This commit is contained in:
Josh Holtrop 2014-06-08 16:53:23 -04:00
parent 71926f325d
commit 8fe7bd0145

View File

@ -16,7 +16,6 @@ void init(void)
{ {
glViewport(0, 0, WIDTH, HEIGHT); glViewport(0, 0, WIDTH, HEIGHT);
glClearColor (0.0, 0.0, 0.0, 0.0); glClearColor (0.0, 0.0, 0.0, 0.0);
glEnable(GL_DEPTH_TEST);
glShadeModel(GL_FLAT); glShadeModel(GL_FLAT);
glMatrixMode(GL_PROJECTION); glMatrixMode(GL_PROJECTION);
glLoadIdentity(); glLoadIdentity();
@ -33,22 +32,31 @@ void init(void)
void display(SDL_Window * window) void display(SDL_Window * window)
{ {
float line_height = font->LineHeight();
float advance = font->Advance("M");
float low = font->BBox("g").Lower().Y();
float high = font->BBox("M").Upper().X();
float shift = (high + low) / 2.0 - line_height / 2.0;
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glBegin(GL_QUADS); glBegin(GL_QUADS);
glVertex3f(2.0, 202.0, 0.0); glColor4f(1.0, 1.0, 0.0, 1.0);
glVertex3f(2.0, 210.0, 0.0); glVertex3f(10 + advance * ('J' - 'A'), HEIGHT - line_height * 3 + shift, 0.0);
glVertex3f(10.0, 210.0, 0.0); glVertex3f(10 + advance * ('J' - 'A'), HEIGHT - line_height * 2 + shift, 0.0);
glVertex3f(10.0, 202.0, 0.0); glVertex3f(10 + advance * ('J' - 'A' + 1), HEIGHT - line_height * 2 + shift, 0.0);
glVertex3f(10 + advance * ('J' - 'A' + 1), HEIGHT - line_height * 3 + shift, 0.0);
glEnd(); glEnd();
float line_height = font->LineHeight(); glColor4f(1, 1, 1, 1);
font->Render("abcdefghijklmnopqrstuvwxyz", -1, FTPoint(10, HEIGHT - line_height, 0)); font->Render("abcdefghijklmnopqrstuvwxyz_", -1, FTPoint(10, HEIGHT - line_height, 0));
font->Render("ABCDEFGHIJKLMNOPQRSTUVWXYZ", -1, FTPoint(10, HEIGHT - line_height * 2, 0)); font->Render("ABCDEFGHIJKLMNOPQRSTUVWXYZ_", -1, FTPoint(10, HEIGHT - line_height * 2, 0));
for (int i = 0; i < 26; i++) for (int i = 0; i < 26; i++)
{ {
char s[2]; char s[2];
s[0] = 'A' + i; s[0] = 'A' + i;
s[1] = '\0'; s[1] = '\0';
float advance = font->Advance("M"); if (i == 'J' - 'A')
glColor4f(0, 0, 0, 1);
else
glColor4f(1, 1, 1, 1);
font->Render(s, -1, FTPoint(10 + advance * i, HEIGHT - line_height * 3, 0)); font->Render(s, -1, FTPoint(10 + advance * i, HEIGHT - line_height * 3, 0));
} }
font->Render("0123456789", -1, FTPoint(10, HEIGHT - line_height * 4, 0)); font->Render("0123456789", -1, FTPoint(10, HEIGHT - line_height * 4, 0));