add command completion to console

This commit is contained in:
Eduardo Bart
2011-11-01 16:32:48 -02:00
parent 59017205b0
commit d2e8e1d774
15 changed files with 96 additions and 20 deletions

View File

@@ -183,9 +183,11 @@ void Graphics::drawRepeatedTexturedRect(const Rect& screenCoords,
if(screenCoords.isEmpty() || texture->getId() == 0 || textureCoords.isEmpty())
return;
bool mustStopDrawing = false;
if(!m_drawing) {
bindTexture(texture);
startDrawing();
mustStopDrawing = true;
}
// render many repeated texture rects
@@ -212,7 +214,7 @@ void Graphics::drawRepeatedTexturedRect(const Rect& screenCoords,
}
}
if(!m_drawing)
if(mustStopDrawing)
stopDrawing();
}

View File

@@ -30,6 +30,7 @@
Image::Image()
{
m_fixedRatio = false;
m_repeated = false;
}
void Image::loadFromOTML(const OTMLNodePtr& imageNode)
@@ -37,13 +38,14 @@ void Image::loadFromOTML(const OTMLNodePtr& imageNode)
// load configs from otml node
std::string source = imageNode->hasValue() ? imageNode->value() : imageNode->valueAt("source");
bool smooth = imageNode->valueAt("smooth", false);
m_textureCoords = imageNode->valueAt("coords", Rect());
m_fixedRatio = imageNode->valueAt("fixed ratio", false);
m_repeated = imageNode->valueAt("repeated", false);
// load texture
m_texture = g_textures.getTexture(source);
if(!m_texture)
throw OTMLException(imageNode, "could not load image texture");
m_textureCoords = imageNode->valueAt("coords", Rect(Point(0,0),m_texture->getSize()));
// enable texture bilinear filter
if(smooth)
@@ -65,7 +67,10 @@ void Image::draw(const Rect& screenCoords)
g_graphics.drawTexturedRect(screenCoords, m_texture, Rect(texCoordsOffset, texCoordsSize));
} else {
g_graphics.drawTexturedRect(screenCoords, m_texture, m_textureCoords);
if(m_repeated)
g_graphics.drawRepeatedTexturedRect(screenCoords, m_texture, m_textureCoords);
else
g_graphics.drawTexturedRect(screenCoords, m_texture, m_textureCoords);
}
}
}

View File

@@ -40,6 +40,7 @@ protected:
TexturePtr m_texture;
Rect m_textureCoords;
bool m_fixedRatio;
bool m_repeated;
};
#endif