fix deco sample tool with 1 px brush, fix deco sample also sampling HUD/other text

This commit is contained in:
jacob1 2013-02-09 18:18:53 -05:00
parent a989d97744
commit dc6398a33e
4 changed files with 11 additions and 4 deletions

View File

@ -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);

View File

@ -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

View File

@ -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;

View File

@ -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);