コード例 #1
0
ファイル: TextEditor.cs プロジェクト: Guthen/code-editor
        public override void WheelMoved(int x, int y)
        {
            var speed = -y * 50;

            if (Keyboard.IsDown(KeyConstant.LCtrl))
            {
                if (TextFont.Size + y < 8 || TextFont.Size + y > 35)
                {
                    return;
                }
                TextFont.Derive(TextFont.Size + y);
                ComputeFontHeight();
            }
            else
            {
                //  > Scroll X
                if (Keyboard.IsDown(KeyConstant.LShift))
                {
                    SetCameraX(Camera.X + speed);
                }
                //Camera.X = Math.Clamp( Camera.X + speed, 0, Lines.Aggregate( 0, ( acc, x ) => Math.Max( TextFont.GetWidth( x ), acc ) ) * .75f - CounterWidth );
                //  > Scroll Y
                else
                {
                    Camera.Y = Math.Clamp(Camera.Y + speed, 0, LineHeight * Lines.Count * .95f);
                }
            }
        }