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) }; }
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;*/ }