Exemplo n.º 1
0
        private void UpdateLocation()
        {
            for (int i = 0; i < this.ElementList.Count; i++)
            {
                AnimImage oItem = this.ElementList[i];

                if (oItem.Degree - this.CenterDegree >= this.TotalDegree / 2d)
                {
                    oItem.Degree -= this.TotalDegree;
                }
                else if (this.CenterDegree - oItem.Degree > this.TotalDegree / 2d)
                {
                    oItem.Degree += this.TotalDegree;
                }

                if (oItem.Degree >= 90d && oItem.Degree < 270d) // Degree 在90-270之间的显示
                {
                    this.SetElementVisiable(oItem);
                }
                else
                {
                    this.SetElementInvisiable(oItem);
                }
            }
        }
Exemplo n.º 2
0
        private Visual CreateVisual()
        {
            if (this.FileSrc == "")
            {
                return(null);
            }
            AnimImage oItem = new AnimImage(this.FileSrc);

            return(oItem);
        }
Exemplo n.º 3
0
        public void Dispose()
        {
            Geometry = null;
            AnimImage oPersonItem = this.Visual as AnimImage;

            if (oPersonItem != null)
            {
                oPersonItem.Dispose();
            }
            Visual = null;
        }
Exemplo n.º 4
0
 private void SetElementInvisiable(AnimImage oItem)
 {
     if (oItem.IsVisible)
     {
         if (this.CvMain.Children.Contains(oItem))
         {
             this.CvMain.Children.Remove(oItem);
             oItem.IsVisible = false;
         }
     }
 }
Exemplo n.º 5
0
        private Visual CreateVisual()
        {
            if (this.FileSrc == "")
            {
                return(null);
            }
            AnimImage oItem = new AnimImage(this.FileSrc);

            oItem.MouseLeftButtonUp += OItem_MouseLeftButtonUp;
            return(oItem);
        }
Exemplo n.º 6
0
 private void Carousel2DView_MouseUp(object sender, MouseButtonEventArgs e)
 {
     if (this.IsMouseDown)
     {
         this.IsMouseDown = false;
         this.CurNavItem  = null;
         if (this.InertiaDegree != 0)
         {
             CompositionTarget.Rendering -= new EventHandler(CompositionTarget_Rendering);
             CompositionTarget.Rendering += new EventHandler(CompositionTarget_Rendering);
         }
     }
 }
Exemplo n.º 7
0
        public void DoUpdateElementLocation(AnimImage oItem)
        {
            double CenterX = this.GdRoot.ActualWidth / 2.0;
            double dX      = -Radius *Math.Sin(ConvertToRads(oItem.Degree));

            oItem.X = (dX + CenterX - this.ElementWidth / 2d);
            double dScale = GetScaledSize(oItem.Degree);

            oItem.ScaleX = dScale;
            oItem.ScaleY = dScale;
            int nZIndex = GetZValue(oItem.Degree);

            Canvas.SetZIndex(oItem, nZIndex);
        }
Exemplo n.º 8
0
 private void OItem_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
 {
     if (this.IsMouseDown && CurNavItem == sender && this.TotalMoveDegree < 50)
     {
         this.InertiaDegree = CenterDegree - this.CurNavItem.Degree;
         this.CurNavItem    = null;
         this.IsMouseDown   = false;
         if (this.InertiaDegree != 0)
         {
             CompositionTarget.Rendering += new EventHandler(CompositionTarget_Rendering);
         }
         e.Handled = true;
     }
 }
Exemplo n.º 9
0
        private void CompositionTarget_Rendering(object sender, EventArgs e)
        {
            double dIntervalDegree = this.InertiaDegree * 0.1;

            for (int i = 0; i < this.ElementList.Count; i++)
            {
                AnimImage oItem = this.ElementList[i];
                oItem.Degree += dIntervalDegree;
            }
            this.UpdateLocation();

            this.InertiaDegree -= dIntervalDegree;
            if (Math.Abs(this.InertiaDegree) < 0.1)
            {
                CompositionTarget.Rendering -= new EventHandler(CompositionTarget_Rendering);
            }
        }
Exemplo n.º 10
0
        public override AutoForm showPreview()
        {
            createPreviewForm();

            PictureBox animPb = new() {
                SizeMode = PictureBoxSizeMode.AutoSize
            };

            previewForm.add(animPb);

            frames = new Image[demiseAsset.frameCount * 2];
            int[] delays = new int[demiseAsset.frameCount * 2];

            void addPictureBox(int i)
            {
                Bitmap bmp = demiseAsset[i];

                int i2 = demiseAsset.frameCount * 2 - i - 1;

                frames[i]  = bmp;
                frames[i2] = bmp;
                delays[i]  = demiseAsset.delayMs;
                delays[i2] = demiseAsset.delayMs;

                PictureBox pb = new() {
                    Image    = bmp,
                    SizeMode = PictureBoxSizeMode.AutoSize
                };

                previewForm.add(pb);
            }

            for (int i = 0; i < demiseAsset.frameCount; i++)
            {
                addPictureBox(i);
            }

            animPb.Image = AnimImage.createAnimation(animPb, frames, delays);

            addUnpackMenuAndShow();

            return(previewForm);
        }

        public override void unpack(string outputDir)
Exemplo n.º 11
0
        private void Carousel2DView_MouseMove(object sender, MouseEventArgs e)
        {
            if (this.IsMouseDown)
            {
                this.CurrentX         = e.GetPosition(this).X;
                this.IntervalDegree   = this.CurrentX - this.PreviousX;
                this.TotalMoveDegree += Math.Abs(this.IntervalDegree * 0.5d);
                this.InertiaDegree    = this.IntervalDegree * 5d;

                for (int i = 0; i < this.ElementList.Count; i++)
                {
                    AnimImage oItem = this.ElementList[i];
                    oItem.Degree += this.IntervalDegree;
                }
                this.UpdateLocation();
                this.PreviousX = this.CurrentX;
            }
        }
Exemplo n.º 12
0
        private void SetElementVisiable(AnimImage oItem)
        {
            if (oItem == null)
            {
                return;
            }

            if (!oItem.IsVisible)
            {
                if (!this.CvMain.Children.Contains(oItem))
                {
                    oItem.IsVisible = true;
                    this.CvMain.Children.Add(oItem);
                }
            }

            this.DoUpdateElementLocation(oItem);
        }
Exemplo n.º 13
0
        private void CreateElements()
        {
            double dAverageDegree = 360d / VisualCount;

            this.TotalDegree = this.FileItems.Count * dAverageDegree;

            this.ElementList = new List <AnimImage>();
            for (int i = 0; i < this.FileItems.Count; i++)
            {
                string    sFile = this.FileItems[i];
                AnimImage oItem = new AnimImage(sFile);
                oItem.MouseLeftButtonDown += OItem_MouseLeftButtonDown;
                oItem.MouseLeftButtonUp   += OItem_MouseLeftButtonUp;
                oItem.Width  = this.ElementWidth;
                oItem.Height = this.ElementHeight;
                oItem.Y      = 175d;
                oItem.Degree = i * dAverageDegree;
                this.ElementList.Add(oItem);
            }

            this.UpdateLocation();
        }
Exemplo n.º 14
0
 private void OnEnable()
 {
     // AnimImage 컴포넌트 가져오기
     _animImage = (AnimImage)target;
 }
Exemplo n.º 15
0
 /// <summary>
 /// start Animation
 /// </summary>
 /// <param name="sender">sender of the event</param>
 /// <param name="e">e of the argument</param>
 private void Window_Activated(object sender, EventArgs e)
 {
     AnimImage.StartAnimationForever(AnimCanvas, 5);
 }
Exemplo n.º 16
0
 private void OItem_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
 {
     CurNavItem = sender as AnimImage;
 }