summaryrefslogtreecommitdiff
path: root/src/interface
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2012-01-21 00:17:42 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2012-01-21 00:17:42 (GMT)
commit36a952ca4dfc4672e1f0d2f7d255ef9c3bd046eb (patch)
treed1ddfb7a9865608565fbb2f0d0688c662ab45817 /src/interface
parent0e5a46aa64bd9c53b0eb02aadd67637d9488b765 (diff)
downloadpowder-36a952ca4dfc4672e1f0d2f7d255ef9c3bd046eb.zip
powder-36a952ca4dfc4672e1f0d2f7d255ef9c3bd046eb.tar.gz
Better handling of save vector from client
Diffstat (limited to 'src/interface')
-rw-r--r--src/interface/SaveButton.cpp18
-rw-r--r--src/interface/SaveButton.h8
2 files changed, 14 insertions, 12 deletions
diff --git a/src/interface/SaveButton.cpp b/src/interface/SaveButton.cpp
index efbbccb..658a969 100644
--- a/src/interface/SaveButton.cpp
+++ b/src/interface/SaveButton.cpp
@@ -9,7 +9,7 @@
namespace ui {
-SaveButton::SaveButton(Window* parent_state, Save save):
+SaveButton::SaveButton(Window* parent_state, Save * save):
Component(parent_state),
save(save),
thumbnail(NULL),
@@ -20,7 +20,7 @@ SaveButton::SaveButton(Window* parent_state, Save save):
}
-SaveButton::SaveButton(Point position, Point size, Save save):
+SaveButton::SaveButton(Point position, Point size, Save * save):
Component(position, size),
save(save),
thumbnail(NULL),
@@ -31,7 +31,7 @@ SaveButton::SaveButton(Point position, Point size, Save save):
}
-SaveButton::SaveButton(Save save):
+SaveButton::SaveButton(Save * save):
Component(),
save(save),
thumbnail(NULL),
@@ -48,6 +48,8 @@ SaveButton::~SaveButton()
delete thumbnail;
if(actionCallback)
delete actionCallback;
+ if(save)
+ delete save;
}
void SaveButton::Tick(float dt)
@@ -56,7 +58,7 @@ void SaveButton::Tick(float dt)
float scaleFactorY = 1.0f, scaleFactorX = 1.0f;
if(!thumbnail)
{
- tempThumb = Client::Ref().GetThumbnail(save.GetID(), 0);
+ tempThumb = Client::Ref().GetThumbnail(save->GetID(), 0);
if(tempThumb)
{
thumbnail = tempThumb; //Store a local copy of the thumbnail
@@ -104,13 +106,13 @@ void SaveButton::Draw(const Point& screenPos)
if(isMouseInside)
{
g->drawrect(screenPos.X, screenPos.Y, Size.X, Size.Y, 255, 255, 255, 255);
- g->drawtext(screenPos.X+(Size.X-Graphics::textwidth((char *)save.name.c_str()))/2, screenPos.Y+Size.Y - 21, save.name, 255, 255, 255, 255);
- g->drawtext(screenPos.X+(Size.X-Graphics::textwidth((char *)save.userName.c_str()))/2, screenPos.Y+Size.Y - 10, save.userName, 200, 230, 255, 255);
+ g->drawtext(screenPos.X+(Size.X-Graphics::textwidth((char *)save->name.c_str()))/2, screenPos.Y+Size.Y - 21, save->name, 255, 255, 255, 255);
+ g->drawtext(screenPos.X+(Size.X-Graphics::textwidth((char *)save->userName.c_str()))/2, screenPos.Y+Size.Y - 10, save->userName, 200, 230, 255, 255);
}
else
{
- g->drawtext(screenPos.X+(Size.X-Graphics::textwidth((char *)save.name.c_str()))/2, screenPos.Y+Size.Y - 21, save.name, 180, 180, 180, 255);
- g->drawtext(screenPos.X+(Size.X-Graphics::textwidth((char *)save.userName.c_str()))/2, screenPos.Y+Size.Y - 10, save.userName, 100, 130, 160, 255);
+ g->drawtext(screenPos.X+(Size.X-Graphics::textwidth((char *)save->name.c_str()))/2, screenPos.Y+Size.Y - 21, save->name, 180, 180, 180, 255);
+ g->drawtext(screenPos.X+(Size.X-Graphics::textwidth((char *)save->userName.c_str()))/2, screenPos.Y+Size.Y - 10, save->userName, 100, 130, 160, 255);
}
}
diff --git a/src/interface/SaveButton.h b/src/interface/SaveButton.h
index 8834d8a..34652c1 100644
--- a/src/interface/SaveButton.h
+++ b/src/interface/SaveButton.h
@@ -19,14 +19,14 @@ public:
class SaveButton : public Component
{
- Save save;
+ Save * save;
Thumbnail * thumbnail;
public:
- SaveButton(Window* parent_state, Save save);
+ SaveButton(Window* parent_state, Save * save);
- SaveButton(Point position, Point size, Save save);
+ SaveButton(Point position, Point size, Save * save);
- SaveButton(Save save);
+ SaveButton(Save * save);
virtual ~SaveButton();
virtual void OnMouseClick(int x, int y, unsigned int button);