예제 #1
0
 public DrawAdorner(Canvas itemsPanel,
                    Point?selectionStartPoint,
                    IDesignerViewModel designerPanel,
                    IDrawableItem drawableItem) : base(itemsPanel)
 {
     _itemsPanel          = itemsPanel;
     _drawableInstance    = drawableItem;
     _selectionStartPoint = selectionStartPoint;
     _designerPanel       = designerPanel;
 }
        private static void OnDesignerStartDraw(object sender,
                                                MouseButtonEventArgs e)
        {
            _selectedItemType = _designerViewModel.ItemToDraw.SelectedItemType;
            if (_selectedItemType != SelectedItemType.DrawItem)
            {
                return;
            }

            _drawableInstance = Activator.CreateInstance(_designerViewModel.ItemToDraw.GetType()) as IDrawableItem;
            if (_drawableInstance == null)
            {
                return;
            }

            _selectionStartPoint = e.GetPosition(_itemsPanel);
            _drawableInstance.X1 = _selectionStartPoint.Value.X;
            _drawableInstance.Y1 = _selectionStartPoint.Value.Y;
            e.Handled            = true;
        }
예제 #3
0
 public void Remove(IDrawableItem item)
 {
     renderItems.Remove(item);
 }
예제 #4
0
        //public abstract void Render(SpriteBatch sb, Matrix proj);

        public void Add(IDrawableItem item)
        {
            renderItems.Add(item);
        }
예제 #5
0
 public IItemDrawer Create(IDrawableItem drawableItem)
 {
     return _itemDrawers.First(i => i.CanDraw(drawableItem));
 }