Exemple #1
0
 public override void Draw()
 {
     if (ContainingApp == null)
     {
         return;
     }
     base.Draw();
     ContainingApp.DrawColorBlock(TitleBarColour, X, Y, X + 1, Y + Width); //Title Bar
     ContainingApp.WirteText(' ' + Title + ' ', X, Y + 2, TitleColour, BackgroundColor);
 }
Exemple #2
0
        public override void Draw()
        {
            if (ContainingApp == null)
            {
                return;
            }

            RemoveCursor();

            UpdateCursorDisplayPostion();

            var lines = _splitText;

            //Draw test area
            for (var i = _offset; i < Height + _offset; i++)
            {
                var line = ' ' + "".PadRight(Width - 1, ' ');
                if (lines.Count > i)
                {
                    line = ' ' + RemoveNewLine(lines[i]).PadRight(Width - 1, ' ');
                }

                ContainingApp.WirteText(line, i + Origin.X - _offset, Origin.Y, TEXT_COLOR, BackgroundColour);
            }

            if (_selected)
            {
                ShowCursor();
            }

            //Draw Scroll Bar
            ContainingApp.DrawColorBlock(ConsoleColor.White, Origin.X + Width, Origin.Y, Origin.X + Width + 1, Origin.Y + Height);

            double linesPerPixel = (double)lines.Count() / (Height);
            var    postion       = 0;

            if (linesPerPixel > 0)
            {
                postion = (int)Math.Floor(_cursorDisplayX / linesPerPixel);
            }

            ContainingApp.WirteText("■", Origin.X + postion, Origin.Y + Width, ConsoleColor.DarkGray, ConsoleColor.White);
        }
Exemple #3
0
        public Control GetNextControlRight(bool selectableControlsOnly = false)
        {
            if (CurrentlySelected == null)
            {
                return(null);
            }

            // Get all controls that collide with a rightward ray-trace the height of this control
            var rayPos = new Point {
                X = CurrentlySelected.Origin.X + CurrentlySelected.Width,
                Y = CurrentlySelected.Origin.Y
            };
            var rayWidth  = Width - (CurrentlySelected.Origin.X + CurrentlySelected.Width);
            var rayHeight = CurrentlySelected.Height;

            ContainingApp.DrawColorBlock(ConsoleColor.Magenta, rayPos.X, rayPos.Y, rayPos.X + rayWidth, rayPos.Y + rayHeight);

            var controlsInRay = from control in _controls
                                where DoAreasOverlap(
                rayPos.X, rayPos.Y, rayWidth, rayHeight,
                control.Origin.X, control.Origin.Y, control.Width, control.Height)
                                select control;

            if (controlsInRay.Any())
            {
                var s = 2;
            }


            // Return the closest one to the right edge of this control, If one exists

            // Else, return the next control in Controls list


            return(null);
        }
Exemple #4
0
 private void DrawBackground()
 {
     ContainingApp.DrawColorBlock(BackgroundColor, Origin.X, Origin.Y, Origin.X + Width, Origin.Y + Height); // Main background box
 }