コード例 #1
0
        public void ZoomOut(int x, int y)
        {
            if (!zoomEnabled)
            {
                return;
            }
            if (this.Parent == null || zoom <= 1)
            {
                return;
            }
            if (this.Parent.GetType() != typeof(NewPanel))
            {
                return;
            }
            NewPanel parent = (NewPanel)this.Parent;

            parent.SuspendDrawing();
            //
            zoom                                /= 2;
            autoScrollPos                        = new Point(Math.Abs(this.Left), Math.Abs(this.Top));
            autoScrollPos.X                     -= x / 2;
            autoScrollPos.Y                     -= y / 2;
            this.Width                          /= 2;
            this.Height                         /= 2;
            parent.AutoScrollPosition            = autoScrollPos;
            parent.VerticalScroll.SmallChange   /= 2;
            parent.HorizontalScroll.SmallChange /= 2;
            parent.VerticalScroll.LargeChange   /= 2;
            parent.HorizontalScroll.LargeChange /= 2;
            this.Invalidate();
            this.Focus();
            //
            parent.ResumeDrawing();
            parent.Invalidate();
        }
コード例 #2
0
        // functions
        public void ZoomIn(int x, int y)
        {
            if (!zoomEnabled)
            {
                return;
            }
            if (this.Parent == null || zoom >= 8 ||
                Width >= 8192 || Height >= 8192)
            {
                return;
            }
            if (this.Parent.GetType() != typeof(NewPanel))
            {
                return;
            }
            NewPanel parent = (NewPanel)this.Parent;

            parent.SuspendDrawing();
            //
            zoom                                *= 2;
            autoScrollPos                        = new Point(Math.Abs(this.Left), Math.Abs(this.Top));
            autoScrollPos.X                     += x;
            autoScrollPos.Y                     += y;
            this.Width                          *= 2;
            this.Height                         *= 2;
            parent.AutoScrollPosition            = autoScrollPos;
            parent.VerticalScroll.SmallChange   *= 2;
            parent.HorizontalScroll.SmallChange *= 2;
            parent.VerticalScroll.LargeChange   *= 2;
            parent.HorizontalScroll.LargeChange *= 2;
            this.Invalidate();
            this.Focus();
            //
            parent.ResumeDrawing();
            parent.Invalidate();
        }