private void LoadSystemLayers() { //浮动工具栏 IFloatToolBarLayer toolbar = new FloatToolBarLayer(); toolbar.ToolItemClicked = new Action <FloatToolItem>(FloatToolItemClick); toolbar.IsAutoHide = false; FloatToolItem[] items = GetFloatToolItems(); toolbar.ToolItems.AddRange(items); _canvas.LayerContainer.Layers.Add(toolbar as GeoDo.RSS.Core.DrawEngine.ILayer); _floatToolBar = toolbar as FloatToolBarLayer; //AOI容器 _aoiContainer = new AOIContainerLayer(); _aoiContainer.Color = Color.Red; _aoiContainer.LineWidth = 1; _aoiContainer.IsOnlyOneAOI = !_ismultiAoi; _canvas.LayerContainer.Layers.Add(_aoiContainer as GeoDo.RSS.Core.DrawEngine.ILayer); //SelectedAOI容器 _selectedAOILayer = new SelectedAOILayer(); _selectedAOILayer.Color = Color.Yellow; _selectedAOILayer.LineWidth = 1; _canvas.LayerContainer.Layers.Add(_selectedAOILayer as GeoDo.RSS.Core.DrawEngine.ILayer); //蒙板 ILayer lyr = new MaskLayer(); _canvas.LayerContainer.Layers.Add(lyr); }
public void Dispose() { _rightMouseMenu = null; _rightMouseNormalMenus = null; _rightMousePencilToolMenu = null; _contextMenuHandlers.Clear(); if (_canvas != null) { _canvas.Container.KeyUp -= new KeyEventHandler(Container_KeyUp); _canvas.Container.MouseUp -= new MouseEventHandler(Container_MouseUp); _canvas = null; } if (_aoiContainer != null) { (_aoiContainer as AOIContainerLayer).Dispose(); _aoiContainer = null; } if (_selectedAOILayer != null) { (_selectedAOILayer as SelectedAOILayer).Dispose(); _selectedAOILayer = null; } if (_session != null) { _session = null; } if (_contextMenuHandler != null) { (_contextMenuHandler as CanvasContextMenuHandler).HandleRemoveAll(); _contextMenuHandler = null; } if (_toolbarManager != null) { _toolbarManager.Close(); _toolbarManager = null; } }
public AOIProvider(ICanvas canvas) { _canvas = canvas; _aoiContainer = _canvas.LayerContainer.GetByName("感兴趣区域") as IAOIContainerLayer; _selectAOILayer = _canvas.LayerContainer.GetByName("选中的感兴趣区域") as ISelectedAOILayer; }