예제 #1
0
        private void ProcessScrollDown(string param)
        {
            int d = ParseInt(param, 1);

            TerminalDocument doc = GetDocument();
            int caret_col        = doc.CaretColumn;
            int offset           = doc.CurrentLineNumber - doc.TopLineNumber;

            //GLine nl = _manipulator.Export();
            doc.CleanLineRange(0, doc.TerminalWidth);             // .ReplaceCurrentLine(nl);
            if (doc.ScrollingBottom == -1)
            {
                doc.SetScrollingRegion(0, GetDocument().TerminalHeight - 1);
            }
            for (int i = 0; i < d; i++)
            {
                doc.ScrollUp(doc.ScrollingTop, doc.ScrollingBottom);                // TerminalDocument's "Scroll-Up" means XTerm's "Scroll-Down"
                doc.CurrentLineNumber = doc.TopLineNumber + offset;                 // find correct GLine
            }
            //_manipulator.Load(doc.CurrentLine, caret_col);
        }
예제 #2
0
        //‚±‚ê‚ð‘—‚Á‚Ä‚­‚éƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Í vi‚ŏã•ûƒXƒNƒ[ƒ‹
        protected void ProcessInsertLines(string param)
        {
            int d = ParseInt(param, 1);

            TerminalDocument doc = GetDocument();
            int caret_pos        = doc.CaretColumn;
            int offset           = doc.CurrentLineNumber - doc.TopLineNumber;

            //GLine nl = _manipulator.Export();
            //doc.ReplaceCurrentLine(nl);
            if (doc.ScrollingBottom == -1)
            {
                doc.SetScrollingRegion(0, GetDocument().TerminalHeight - 1);
            }

            for (int i = 0; i < d; i++)
            {
                doc.ScrollUp(/* doc.CurrentLineNumber, doc.ScrollingBottom */);
                doc.CurrentLineNumber = doc.TopLineNumber + offset;
            }
            //_manipulator.Load(doc.CurrentLine, caret_pos);
        }