Ejemplo n.º 1
0
        public MinimapContainer()
        {
            SnapsToDevicePixels = true;
            visuals             = new VisualCollection(this);

            visuals.Add(_visual);

            RevealMinimap = new PensHelper
            {
                Enabled = Config.Get <FKConfig>().General.MiniMapSettings.RevealMapMinimap.Reveal,
                Opacity = Config.Get <FKConfig>().General.MiniMapSettings.RevealMapMinimap.Opacity,
                Pen     = Extensions.HexToBrush("#" + Config.Get <FKConfig>().General.MiniMapSettings.RevealMapMinimap.Background)
            };

            RevealLargemap = new PensHelper
            {
                Enabled = Config.Get <FKConfig>().General.MiniMapSettings.RevealMapLargemap.Reveal,
                Opacity = Config.Get <FKConfig>().General.MiniMapSettings.RevealMapLargemap.Opacity,
                Pen     = Extensions.HexToBrush("#" + Config.Get <FKConfig>().General.MiniMapSettings.RevealMapLargemap.Background)
            };
        }
Ejemplo n.º 2
0
        public void DrawScene(IEnumerable <SceneHelper.NavHelper> IEnumerable, DrawingContext drawingContext)
        {
            PensHelper Pen = (LargeMinimap) ? RevealLargemap : RevealMinimap;

            drawingContext.PushOpacity(Pen.Opacity);

            foreach (SceneHelper.NavHelper Scene in IEnumerable)
            {
                Point Position = NewPosition(Scene.NavContainer.Position);
                drawingContext.PushTransform(new TranslateTransform(Position.X, Position.Y));

                foreach (var SceneData in Scene.NavContainer.NavigationCells)
                {
                    drawingContext.DrawRectangle(Pen.Pen, null, new Rect(
                                                     new Point(SceneData.Min.X, SceneData.Min.Y),
                                                     new Point(SceneData.Max.X, SceneData.Max.Y)));
                }
                drawingContext.Pop();

                /* Point Position = NewPosition(Scene.NavContainer.Position);
                 * drawingContext.PushTransform(new TranslateTransform(Position.X, Position.Y));
                 *
                 * foreach (var SceneData in Scene.NavContainer.NavigationCells)
                 *   drawingContext.DrawRectangle(Pen.Pen, null, new Rect(
                 *       new Point(SceneData.Min.X, SceneData.Min.Y),
                 *       new Point(SceneData.Max.X, SceneData.Max.Y)));
                 * drawingContext.Pop(); */
            }

            drawingContext.Pop();


            /*  // if (CacheScenes.ContainsKey(Scene.NavContainer.InternalID))
             *  //   continue;
             *
             * using (System.Drawing.Bitmap Bit = new System.Drawing.Bitmap(240, 240))
             * {
             *     using (System.Drawing.Graphics e = System.Drawing.Graphics.FromImage(Bit))
             *     {
             *         foreach (var SceneData in Scene.NavContainer.NavigationCells)
             *
             *             e.DrawRectangle(System.Drawing.Pens.White,
             *                 (int)SceneData.Min.X,
             *                 (int)SceneData.Min.Y,
             *                 (int)SceneData.Max.X,
             *                 (int)SceneData.Max.Y
             *                 );
             *
             *
             *         var f = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(
             *             Bit.GetHbitmap(),
             *            IntPtr.Zero,
             *            Int32Rect.Empty,
             *
             *            System.Windows.Media.Imaging.BitmapSizeOptions.FromEmptyOptions());
             *
             *         drawingContext.DrawImage(f, new Rect(0, 0, Bit.Width, Bit.Height));
             *
             *     }
             * }
             *
             * break;*/
        }