예제 #1
0
 public MouseEventsDrawable(IDrawable sourceDrawable, IReadonlyPosition position, IReadonlySize size) : base(
         sourceDrawable, position, size)
 {
     if (!(sourceDrawable is IMouseEventsHandler))
     {
         throw new ArgumentException(
                   "Unable to create mapped drawable with mouse event handling from object without IMouseEventHandler interface");
     }
 }
예제 #2
0
        public void AddDrawable(IDrawable drawable, IReadonlyPosition position, IReadonlySize size)
        {
            var newDrawable = drawable is IMouseEventsHandler
                ? new MouseEventsDrawable(drawable, position, size)
                : new MappedDrawable(drawable, position, size);

            if (_drawableAreas == null)
            {
                throw new InvalidOperationException("Unexpected drawable state: drawable areas container is null");
            }

            _drawableAreas.Add(newDrawable);
        }
예제 #3
0
 public MappedDrawable(IDrawable sourceDrawable, IReadonlyPosition position, IReadonlySize size)
 {
     SourceDrawable = sourceDrawable;
     Position       = position;
     Size           = size;
 }