Exemplo n.º 1
0
        private void DrawGDI(Graphics g, MapperMap map)
        {
            if (mapperSettings.Performance.FastRendering)
            {
                g.InterpolationMode  = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor;
                g.SmoothingMode      = System.Drawing.Drawing2D.SmoothingMode.None;
                g.PixelOffsetMode    = System.Drawing.Drawing2D.PixelOffsetMode.None;
                g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighSpeed;
            }
            else
            {
                g.InterpolationMode  = System.Drawing.Drawing2D.InterpolationMode.High;
                g.SmoothingMode      = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
                g.PixelOffsetMode    = System.Drawing.Drawing2D.PixelOffsetMode.HighQuality;
                g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
            }

            int border = 128;

            var screenArea = new RectangleF(pnlViewPort.HorizontalScroll.Value - border, pnlViewPort.VerticalScroll.Value - border,
                                            pnlViewPort.Width + border, pnlViewPort.Height + border);

            DrawMap.OnGraphics(g, map, map.HexMap, EditorData.itemsPid, critterData, Frms, EditorData, new SizeF(scaleFactor, scaleFactor),
                               screenArea, mouseSelection);

            if (mouseSelection.isDown)
            {
                g.DrawRectangle(mouseSelection.rectPen, mouseSelection.GetRect());
            }
        }