summaryrefslogtreecommitdiff
path: root/src/game/SampleTool.cpp
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2012-08-25 12:36:53 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2012-08-25 12:36:53 (GMT)
commit1c443ceb573c28a7e5beea50e94db88246ecac0e (patch)
tree0c3546abb72c7c65f1eb621970406c7931573dbe /src/game/SampleTool.cpp
parent52ec84198bcab2aa177ced1a9eba3343a097522a (diff)
downloadpowder-1c443ceb573c28a7e5beea50e94db88246ecac0e.zip
powder-1c443ceb573c28a7e5beea50e94db88246ecac0e.tar.gz
Sample tool samples decoration colour when deco menu is visible. fixes #146
Diffstat (limited to 'src/game/SampleTool.cpp')
-rw-r--r--src/game/SampleTool.cpp29
1 files changed, 19 insertions, 10 deletions
diff --git a/src/game/SampleTool.cpp b/src/game/SampleTool.cpp
index a8880b3..a9c3290 100644
--- a/src/game/SampleTool.cpp
+++ b/src/game/SampleTool.cpp
@@ -2,6 +2,7 @@
#include "graphics/Graphics.h"
#include "Tool.h"
#include "GameModel.h"
+#include "interface/Colour.h"
VideoBuffer * SampleTool::GetIcon(int toolID, int width, int height)
{
@@ -21,16 +22,24 @@ VideoBuffer * SampleTool::GetIcon(int toolID, int width, int height)
void SampleTool::Draw(Simulation * sim, Brush * brush, ui::Point position)
{
- int particleType = 0;
- if(sim->pmap[position.Y][position.X])
- particleType = sim->parts[sim->pmap[position.Y][position.X]>>8].type;
- else if(sim->photons[position.Y][position.X])
- particleType = sim->parts[sim->photons[position.Y][position.X]>>8].type;
-
- if(particleType)
+ if(gameModel->GetColourSelectorVisibility())
+ {
+ pixel colour = gameModel->GetRenderer()->GetPixel(position.X, position.Y);
+ gameModel->SetColourSelectorColour(ui::Colour(PIXR(colour), PIXG(colour), PIXB(colour), 255));
+ }
+ else
{
- Tool * elementTool = gameModel->GetElementTool(particleType);
- if(elementTool)
- gameModel->SetActiveTool(0, elementTool);
+ int particleType = 0;
+ if(sim->pmap[position.Y][position.X])
+ particleType = sim->parts[sim->pmap[position.Y][position.X]>>8].type;
+ else if(sim->photons[position.Y][position.X])
+ particleType = sim->parts[sim->photons[position.Y][position.X]>>8].type;
+
+ if(particleType)
+ {
+ Tool * elementTool = gameModel->GetElementTool(particleType);
+ if(elementTool)
+ gameModel->SetActiveTool(0, elementTool);
+ }
}
}