diff options
| author | jacob1 <jfu614@gmail.com> | 2013-02-09 23:18:53 (GMT) |
|---|---|---|
| committer | jacob1 <jfu614@gmail.com> | 2013-02-09 23:18:53 (GMT) |
| commit | dc6398a33e3be47a83ff38b9bbabedcbe6756341 (patch) | |
| tree | 48de29237b65291e95c1618abd3ab8cbb7329372 /src | |
| parent | a989d977442674232a8512bb52ff06af1b93c58a (diff) | |
| download | powder-dc6398a33e3be47a83ff38b9bbabedcbe6756341.zip powder-dc6398a33e3be47a83ff38b9bbabedcbe6756341.tar.gz | |
fix deco sample tool with 1 px brush, fix deco sample also sampling HUD/other text
Diffstat (limited to 'src')
| -rw-r--r-- | src/game/GameView.cpp | 1 | ||||
| -rw-r--r-- | src/game/SampleTool.cpp | 2 | ||||
| -rw-r--r-- | src/graphics/Renderer.cpp | 8 | ||||
| -rw-r--r-- | src/graphics/Renderer.h | 4 |
4 files changed, 11 insertions, 4 deletions
diff --git a/src/game/GameView.cpp b/src/game/GameView.cpp index c8b4684..c352b79 100644 --- a/src/game/GameView.cpp +++ b/src/game/GameView.cpp @@ -1790,6 +1790,7 @@ void GameView::OnDraw() { ren->clearScreen(1.0f); ren->RenderBegin(); + ren->SetSample(c->PointTranslate(currentMouse).X, c->PointTranslate(currentMouse).Y); if(selectMode == SelectNone && (!zoomEnabled || zoomCursorFixed) && activeBrush && currentMouse.X >= 0 && currentMouse.X < XRES && currentMouse.Y >= 0 && currentMouse.Y < YRES) { ui::Point finalCurrentMouse = c->PointTranslate(currentMouse); diff --git a/src/game/SampleTool.cpp b/src/game/SampleTool.cpp index bdebee6..a42a214 100644 --- a/src/game/SampleTool.cpp +++ b/src/game/SampleTool.cpp @@ -24,7 +24,7 @@ void SampleTool::Draw(Simulation * sim, Brush * brush, ui::Point position) { if(gameModel->GetColourSelectorVisibility()) { - pixel colour = gameModel->GetRenderer()->GetPixel(position.X, position.Y); + pixel colour = gameModel->GetRenderer()->sampleColor; gameModel->SetColourSelectorColour(ui::Colour(PIXR(colour), PIXG(colour), PIXB(colour), 255)); } else diff --git a/src/graphics/Renderer.cpp b/src/graphics/Renderer.cpp index 23ebcf0..86c0c58 100644 --- a/src/graphics/Renderer.cpp +++ b/src/graphics/Renderer.cpp @@ -161,6 +161,11 @@ void Renderer::RenderEnd() #endif } +void Renderer::SetSample(int x, int y) +{ + sampleColor = GetPixel(x, y); +} + void Renderer::clearScreen(float alpha) { #ifdef OGLR @@ -2379,7 +2384,8 @@ Renderer::Renderer(Graphics * g, Simulation * sim): colour_mode(0), gridSize(0), blackDecorations(false), - debugLines(false) + debugLines(false), + sampleColor(0xFFFFFFFF) { this->g = g; this->sim = sim; diff --git a/src/graphics/Renderer.h b/src/graphics/Renderer.h index 2b6cc14..a1ed159 100644 --- a/src/graphics/Renderer.h +++ b/src/graphics/Renderer.h @@ -63,6 +63,7 @@ public: Simulation * sim; Graphics * g; gcache_item *graphicscache; + pixel sampleColor; //Mouse position for debug information int mousePosX, mousePosY; @@ -94,8 +95,7 @@ public: void ClearAccumulation(); void clearScreen(float alpha); - - //class SolidsRenderer; + void SetSample(int x, int y); #ifdef OGLR void checkShader(GLuint shader, char * shname); |
