float Ya = y + h + ((f & GUI_NW) ? (s - r) : 0);
float Yb = y + ((f & GUI_SW) ? (r - s) : 0);
- glTexCoord2f((X - x) / w, 1 - (Ya - y) / h);
+ glTexCoord2f((X - x) / w, (Ya - y) / h);
glVertex2f(X, Ya);
- glTexCoord2f((X - x) / w, 1 - (Yb - y) / h);
+ glTexCoord2f((X - x) / w, (Yb - y) / h);
glVertex2f(X, Yb);
}
float Ya = y + h + ((f & GUI_NE) ? (c - r) : 0);
float Yb = y + ((f & GUI_SE) ? (r - c) : 0);
- glTexCoord2f((X - x) / w, 1 - (Ya - y) / h);
+ glTexCoord2f((X - x) / w, (Ya - y) / h);
glVertex2f(X, Ya);
- glTexCoord2f((X - x) / w, 1 - (Yb - y) / h);
+ glTexCoord2f((X - x) / w, (Yb - y) / h);
glVertex2f(X, Yb);
}
}
if (widget[id].w < widget[id].h && widget[id].w > 0)
widget[id].w = widget[id].h;
-
/* Padded text elements look a little nicer. */
if (widget[id].w < config_get_d(CONFIG_WIDTH))
widget[id].w += radius;
if (widget[id].h < config_get_d(CONFIG_HEIGHT))
widget[id].h += radius;
+
+ /* A button should be at least wide enough to accomodate the rounding. */
+
+ if (widget[id].w < 2 * radius)
+ widget[id].w = 2 * radius;
+ if (widget[id].h < 2 * radius)
+ widget[id].h = 2 * radius;
}
static void gui_widget_up(int id)
glEnable(GL_TEXTURE_2D);
gui_paint_text(id);
+
+ glColor4fv(gui_wht);
}
glEnable(GL_DEPTH_TEST);
glEnable(GL_LIGHTING);