summaryrefslogtreecommitdiff
path: root/src/interface/SaveButton.cpp
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2012-07-27 19:06:17 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2012-07-27 19:06:17 (GMT)
commit5befe5c25f8f188e7588de44ab2c8bead22ae999 (patch)
tree643b02af217770c1a3156be03e01442557795760 /src/interface/SaveButton.cpp
parentf8ca8af387b8611c18ca7c5357efd19c8bc28941 (diff)
downloadpowder-5befe5c25f8f188e7588de44ab2c8bead22ae999.zip
powder-5befe5c25f8f188e7588de44ab2c8bead22ae999.tar.gz
Local file browser + some more interesting things like Progress bar UI component
Diffstat (limited to 'src/interface/SaveButton.cpp')
-rw-r--r--src/interface/SaveButton.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/interface/SaveButton.cpp b/src/interface/SaveButton.cpp
index ee57e81..e3f7422 100644
--- a/src/interface/SaveButton.cpp
+++ b/src/interface/SaveButton.cpp
@@ -61,7 +61,8 @@ SaveButton::SaveButton(Point position, Point size, SaveFile * file):
actionCallback(NULL),
voteColour(255, 0, 0),
selectable(false),
- selected(false)
+ selected(false),
+ wantsDraw(false)
{
if(file)
{
@@ -91,7 +92,7 @@ void SaveButton::Tick(float dt)
{
Thumbnail * tempThumb;
float scaleFactorY = 1.0f, scaleFactorX = 1.0f;
- if(!thumbnail)
+ if(!thumbnail/* && wantsDraw*/)
{
if(save)
{
@@ -114,7 +115,11 @@ void SaveButton::Tick(float dt)
}
if(file)
{
- if(file->GetGameSave())
+ if(file->GetThumbnail())
+ {
+ thumbnail = new Thumbnail(*file->GetThumbnail());
+ }
+ else if(file->GetGameSave())
{
thumbnail = SaveRenderer::Ref().Render(file->GetGameSave());
}
@@ -152,6 +157,8 @@ void SaveButton::Draw(const Point& screenPos)
float scaleFactor;
ui::Point thumbBoxSize(0, 0);
+ wantsDraw = true;
+
if(selected && selectable)
{
g->fillrect(screenPos.X, screenPos.Y, Size.X, Size.Y, 100, 170, 255, 100);