1
0
mirror of git://projects.qi-hardware.com/gmenu2x.git synced 2024-11-29 09:48:28 +02:00

ASFont: removed precalculation of half heights.

There is no point in precalculating something so cheap to recalculate.
Also, the majority of uses was to compensate for passing the wrong alignment argument.
This commit is contained in:
Maarten ter Huurne 2011-05-10 00:31:45 +02:00
parent 492a36b9df
commit e4b71138b9
8 changed files with 12 additions and 27 deletions

View File

@ -177,8 +177,6 @@ unsigned SFontPlus::getLineHeight() {
ASFont::ASFont(const std::string &fontImagePath) ASFont::ASFont(const std::string &fontImagePath)
: font(fontImagePath, SFONTPLUS_CHARSET) : font(fontImagePath, SFONTPLUS_CHARSET)
{ {
halfHeight = getHeight()/2;
halfLineHeight = getLineHeight()/2;
} }
ASFont::~ASFont() { ASFont::~ASFont() {
@ -208,7 +206,7 @@ void ASFont::write(SDL_Surface* surface, const std::string& text, int x, int y,
case VAlignTop: case VAlignTop:
break; break;
case VAlignMiddle: case VAlignMiddle:
y -= getHalfHeight(); y -= getHeight() / 2;
break; break;
case VAlignBottom: case VAlignBottom:
y -= getHeight(); y -= getHeight();
@ -222,7 +220,7 @@ void ASFont::write(SDL_Surface* surface, std::vector<std::string> *text, int x,
case VAlignTop: case VAlignTop:
break; break;
case VAlignMiddle: case VAlignMiddle:
y -= getHalfHeight()*text->size(); y -= (getHeight() / 2) * text->size();
break; break;
case VAlignBottom: case VAlignBottom:
y -= getHeight()*text->size(); y -= getHeight()*text->size();
@ -258,16 +256,9 @@ void ASFont::write(Surface* surface, const std::string& text, int x, int y, HAli
int ASFont::getHeight() { int ASFont::getHeight() {
return font.getHeight(); return font.getHeight();
} }
int ASFont::getHalfHeight() {
return halfHeight;
}
int ASFont::getLineHeight() { int ASFont::getLineHeight() {
return font.getLineHeight(); return font.getLineHeight();
} }
int ASFont::getHalfLineHeight() {
return halfLineHeight;
}
int ASFont::getTextWidth(const char* text) { int ASFont::getTextWidth(const char* text) {
return font.getTextWidth(text); return font.getTextWidth(text);

View File

@ -45,9 +45,7 @@ public:
bool utf8Code(unsigned char c); bool utf8Code(unsigned char c);
int getHeight(); int getHeight();
int getHalfHeight();
int getLineHeight(); int getLineHeight();
int getHalfLineHeight();
int getTextWidth(const char* text); int getTextWidth(const char* text);
int getTextWidth(const std::string& text); int getTextWidth(const std::string& text);
int getTextWidth(std::vector<std::string> *text); int getTextWidth(std::vector<std::string> *text);
@ -58,7 +56,6 @@ public:
private: private:
SFontPlus font; SFontPlus font;
int halfHeight, halfLineHeight;
}; };
#endif /* ASFONT_H */ #endif /* ASFONT_H */

View File

@ -1333,7 +1333,6 @@ void GMenu2X::contextMenu() {
uint i, sel=0, fadeAlpha=0; uint i, sel=0, fadeAlpha=0;
int h = font->getHeight(); int h = font->getHeight();
int h2 = font->getHalfHeight();
SDL_Rect box; SDL_Rect box;
box.h = (h+2)*voices.size()+8; box.h = (h+2)*voices.size()+8;
box.w = 0; box.w = 0;
@ -1370,7 +1369,7 @@ void GMenu2X::contextMenu() {
//draw selection rect //draw selection rect
s->box( selbox.x, selbox.y, selbox.w, selbox.h, skinConfColors[COLOR_MESSAGE_BOX_SELECTION] ); s->box( selbox.x, selbox.y, selbox.w, selbox.h, skinConfColors[COLOR_MESSAGE_BOX_SELECTION] );
for (i=0; i<voices.size(); i++) for (i=0; i<voices.size(); i++)
s->write( font, voices[i].text, box.x+12, box.y+h2+5+(h+2)*i, ASFont::HAlignLeft, ASFont::VAlignMiddle ); s->write( font, voices[i].text, box.x+12, box.y+5+(h+2)*i, ASFont::HAlignLeft, ASFont::VAlignTop );
s->flip(); s->flip();
//touchscreen //touchscreen

View File

@ -36,7 +36,7 @@ MenuSetting::~MenuSetting()
void MenuSetting::draw(int y) void MenuSetting::draw(int y)
{ {
gmenu2x->s->write( gmenu2x->font, name, 5, y+gmenu2x->font->getHalfHeight(), ASFont::HAlignLeft, ASFont::VAlignMiddle ); gmenu2x->s->write( gmenu2x->font, name, 5, y, ASFont::HAlignLeft, ASFont::VAlignTop );
} }
void MenuSetting::handleTS() void MenuSetting::handleTS()

View File

@ -61,7 +61,7 @@ void MenuSettingBool::initButton()
void MenuSettingBool::draw(int y) void MenuSettingBool::draw(int y)
{ {
MenuSetting::draw(y); MenuSetting::draw(y);
gmenu2x->s->write( gmenu2x->font, strvalue, 155, y+gmenu2x->font->getHalfHeight(), ASFont::HAlignLeft, ASFont::VAlignMiddle ); gmenu2x->s->write( gmenu2x->font, strvalue, 155, y, ASFont::HAlignLeft, ASFont::VAlignTop );
} }
void MenuSettingBool::manageInput(bevent_t *event) void MenuSettingBool::manageInput(bevent_t *event)

View File

@ -62,7 +62,7 @@ MenuSettingInt::MenuSettingInt(GMenu2X *gmenu2x, const string &name, const strin
void MenuSettingInt::draw(int y) void MenuSettingInt::draw(int y)
{ {
MenuSetting::draw(y); MenuSetting::draw(y);
gmenu2x->s->write( gmenu2x->font, strvalue, 155, y+gmenu2x->font->getHalfHeight(), ASFont::HAlignLeft, ASFont::VAlignMiddle ); gmenu2x->s->write( gmenu2x->font, strvalue, 155, y, ASFont::HAlignLeft, ASFont::VAlignTop );
} }
void MenuSettingInt::manageInput(bevent_t *event) void MenuSettingInt::manageInput(bevent_t *event)

View File

@ -63,10 +63,10 @@ void MenuSettingRGBA::draw(int y) {
MenuSetting::draw(y); MenuSetting::draw(y);
gmenu2x->s->rectangle( 153, y+1, 11, 11, 0,0,0,255 ); gmenu2x->s->rectangle( 153, y+1, 11, 11, 0,0,0,255 );
gmenu2x->s->box( 154, y+2, 9, 9, value() ); gmenu2x->s->box( 154, y+2, 9, 9, value() );
gmenu2x->s->write( gmenu2x->font, "R: "+strR, 169, y+gmenu2x->font->getHalfHeight(), ASFont::HAlignLeft, ASFont::VAlignMiddle ); gmenu2x->s->write( gmenu2x->font, "R: "+strR, 169, y, ASFont::HAlignLeft, ASFont::VAlignTop );
gmenu2x->s->write( gmenu2x->font, "G: "+strG, 205, y+gmenu2x->font->getHalfHeight(), ASFont::HAlignLeft, ASFont::VAlignMiddle ); gmenu2x->s->write( gmenu2x->font, "G: "+strG, 205, y, ASFont::HAlignLeft, ASFont::VAlignTop );
gmenu2x->s->write( gmenu2x->font, "B: "+strB, 241, y+gmenu2x->font->getHalfHeight(), ASFont::HAlignLeft, ASFont::VAlignMiddle ); gmenu2x->s->write( gmenu2x->font, "B: "+strB, 241, y, ASFont::HAlignLeft, ASFont::VAlignTop );
gmenu2x->s->write( gmenu2x->font, "A: "+strA, 277, y+gmenu2x->font->getHalfHeight(), ASFont::HAlignLeft, ASFont::VAlignMiddle ); gmenu2x->s->write( gmenu2x->font, "A: "+strA, 277, y, ASFont::HAlignLeft, ASFont::VAlignTop );
} }
void MenuSettingRGBA::handleTS() { void MenuSettingRGBA::handleTS() {

View File

@ -38,10 +38,8 @@ MenuSettingStringBase::~MenuSettingStringBase()
void MenuSettingStringBase::draw(int y) void MenuSettingStringBase::draw(int y)
{ {
MenuSetting::draw(y); MenuSetting::draw(y);
gmenu2x->s->write( gmenu2x->s->write(gmenu2x->font, value(), 155, y,
gmenu2x->font, value(), ASFont::HAlignLeft, ASFont::VAlignTop);
155, y + gmenu2x->font->getHalfHeight(),
ASFont::HAlignLeft, ASFont::VAlignMiddle);
} }
void MenuSettingStringBase::manageInput(bevent_t *event) void MenuSettingStringBase::manageInput(bevent_t *event)