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); }
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); }
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); }
private void DrawBackground() { ContainingApp.DrawColorBlock(BackgroundColor, Origin.X, Origin.Y, Origin.X + Width, Origin.Y + Height); // Main background box }