Exemplo n.º 1
0
        /// <summary>
        /// アニメーション内のループ毎の最後の処理
        /// </summary>
        /// <param name="slide">スライドが続くか</param>
        /// <param name="fade">フェードが続くか</param>
        private void AnimationFinal(bool slide, bool fade)
        {
            GHManager.Launcher.BringToFront();

            // 終了していない場合、続ける
            if (slide || fade)
            {
                AnimationStopwatch.Restart();
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// アニメーションを開始する
        /// </summary>
        /// <param name="visible">ウィンドウの表示・非表示</param>
        private bool StartAnimation(bool visible)
        {
            if (TokenSource != null)
            {
                if (IsAnimation)
                {
                    TokenSource.Cancel();
                }
                TokenSource.Dispose();
                TokenSource = null;
            }
            TokenSource = new CancellationTokenSource();
            CancelToken = TokenSource.Token;

            if ((!visible && FormVisible) || (visible && !FormVisible))
            {
                GHFormDraw();

                FormVisible = visible;

                // 非表示遅延時間の更新
                HideTimer.Interval = animateInfo._DelayTime;
                IsAnimation        = true;
                StopwatchTotal     = 0;

                // スライドアニメーション
                if (animateInfo._Slide)
                {
                    RemainingDistanceOfSlide = 0;
                    if (GHManager.IsVertical)
                    {
                        Left = !visible ? GHFormShowPosition : GHFormHidePosition;
                    }
                    else
                    {
                        Top = !visible ? GHFormShowPosition : GHFormHidePosition;
                    }
                }
                else
                {
                    // スライドなしフェード
                    if (GHManager.IsVertical)
                    {
                        Left = GHFormHidePosition = GHFormShowPosition;
                    }
                    else
                    {
                        Top = GHFormHidePosition = GHFormShowPosition;
                    }
                }

                // フェードアニメーション
                if (animateInfo._Fade)
                {
                    animateInfo._Alpha = (byte)(!visible ? 255 : 0);
                }
                else
                {
                    // フェードなしスライド
                    if (animateInfo._Slide)
                    {
                        animateInfo._Alpha = 255;
                    }
                    else
                    {
                        animateInfo._Alpha = (byte)(!visible ? 0 : 255);
                    }
                }

                // アニメーション開始
                AnimationStopwatch.Restart();
                GHFormAnimation(CancelToken);

                // ランチャーを最前面
                GHManager.ItemList.BringToFront();
                GHManager.MysetList.BringToFront();
                GHManager.Launcher.BringToFront();

                return(true);
            }

            return(false);
        }
Exemplo n.º 3
0
        /// <summary>
        /// アニメーション内のループ毎の最初の処理
        /// </summary>
        private void AnimationInitial()
        {
            AnimationStopwatch.Stop();

            StopwatchTotal += AnimationStopwatch.ElapsedMilliseconds;
        }