static void Main(string[] args)
        {
            IVideoMediaVisitor visitor = new ResizeVisitor();
            IMedia             rm      = new Rm();

            rm.Play();
            ((IVideoMedia)rm).Accept(visitor);

            IMedia mpeg = new Mpeg();

            mpeg.Play();
            ((IVideoMedia)mpeg).Accept(visitor);

            Console.Read();
        }
示例#2
0
 public override void Resize(ResizeVisitor visitor)
 {
     visitor.Visit(this);
     //SetNewGeometry();
     //visitor.DiffenceHeight /= 2;
     //visitor.DiffenceWidth /= 2;
     foreach (ShapeComponent shape in Shapes)
     {
         shape.Resize(visitor);
         double differenceheight = (visitor.DiffenceHeight * shape.Location.Y) - shape.Location.Y;
         double differencewidth  = (visitor.DiffenceWidth * shape.Location.X) - shape.Location.X;
         shape.Move(new MoveVisitor(new Point(differencewidth, differenceheight)));
         //shape.Move(new MoveVisitor(new Point(visitor.DiffenceWidth / Shapes.Count, visitor.DiffenceHeight / Shapes.Count)));
     }
     SetNewGeometry();
 }
示例#3
0
 public abstract void Resize(ResizeVisitor visitor);
示例#4
0
        public void Undo()
        {
            ResizeVisitor resizeVisitor = new ResizeVisitor(oldWidth, oldHeight);

            shape.Accept(resizeVisitor);
        }
示例#5
0
        public void Do()
        {
            ResizeVisitor resizeVisitor = new ResizeVisitor(width, height);

            shape.Accept(resizeVisitor);
        }
示例#6
0
 public override void Resize(ResizeVisitor visitor)
 {
     visitor.Visit(this);
     ShapeComponent.Resize(visitor);
     //SetNewGeometry();
 }
示例#7
0
 public override void Resize(ResizeVisitor visitor)
 {
     visitor.Visit(this);
 }