private void ReDrawMaster()
{
if (Screen == null)
return;
using (Graphics g = Graphics.FromImage(masterImage))
{
g.Clear(Color.Black);
g.CompositingMode = System.Drawing.Drawing2D.CompositingMode.SourceCopy;
if (MainForm.Instance.DrawTiles)
{
if (active)
{
if (tileLayer != null) g.DrawImageUnscaled(tileLayer, 0, 0);
}
else
{
if (grayDirty) DrawGray();
if (grayTiles != null) g.DrawImageUnscaled(grayTiles, 0, 0);
}
}
g.CompositingMode = System.Drawing.Drawing2D.CompositingMode.SourceOver;
if (MainForm.Instance.DrawEntities && entityLayer != null)
g.DrawImageUnscaled(entityLayer, 0, 0);
if (MainForm.Instance.DrawBlock && blockLayer != null)
g.DrawImageUnscaled(blockLayer, 0, 0);
if (MainForm.Instance.DrawGrid && gridLayer != null)
g.DrawImageUnscaled(gridLayer, 0, 0);
if (MainForm.Instance.DrawJoins && joinLayer != null)
g.DrawImageUnscaled(joinLayer, 0, 0);
if (toolLayer != null)
g.DrawImageUnscaled(toolLayer, 0, 0);
if (active) g.DrawImageUnscaled(mouseLayer, 0, 0);
}
RefreshSize();
}