PowerArgs.Cli.ConsoleBitmap.Rescope C# (CSharp) Method

Rescope() public method

public Rescope ( int xIncrement, int yIncrement, int w, int h ) : void
xIncrement int
yIncrement int
w int
h int
return void
        public void Rescope(int xIncrement, int yIncrement, int w, int h)
        {
            w = Math.Min(w, scope.Width - xIncrement);
            h = Math.Min(h, scope.Height - yIncrement);

            scope = new Rectangle(scope.X + xIncrement, scope.Y + yIncrement, w, h);
        }

Usage Example

Example #1
0
        protected override void OnPaint(ConsoleBitmap context)
        {
            var borderChar = new ConsoleCharacter(' ', Foreground, BorderColor);

            context.DrawRect(borderChar, 0, 0, Width, Height - 1);
            context.DrawLine(borderChar, 1, 1, 1, Height - 1);
            context.DrawLine(borderChar, Width - 2, 1, Width - 2, Height - 1);
            // todo - that minus 3 should be a 2, but I'm not sure why this makes it work.
            // I'm afraid there's an off by 1 somewhere deep in the code that processes rectangles.
            // I'll need to investigate at some point. If I end up fixing that bug then it's likely this line
            // will stop working.  So if it ever looks like the content of this panel is not having it's last line
            // painted then it's likely that I fixed the other bug and this this.Height - 3 needs to be changed to a this.Height - 2.
            context.Rescope(2, 1, this.Width - 4, this.Height - 3);
            base.OnPaint(context);
        }
All Usage Examples Of PowerArgs.Cli.ConsoleBitmap::Rescope