1234567891011121314151617181920212223242526272829303132333435 |
- namespace Terminal.Gui;
- /// <summary>Draws a single line using the <see cref="LineStyle"/> specified by <see cref="View.BorderStyle"/>.</summary>
- public class Line : View
- {
- /// <summary>Constructs a Line object.</summary>
- public Line ()
- {
- BorderStyle = LineStyle.Single;
- Border.Thickness = new Thickness (0);
- }
- /// <summary>
- /// The direction of the line. If you change this you will need to manually update the Width/Height of the
- /// control to cover a relevant area based on the new direction.
- /// </summary>
- public Orientation Orientation { get; set; }
- /// <inheritdoc/>
- public override void OnDrawContent (Rectangle viewport)
- {
- LineCanvas lc = LineCanvas;
- if (SuperView is Adornment adornment)
- {
- lc = adornment.Parent.LineCanvas;
- }
- lc.AddLine (
- ViewportToScreen (viewport).Location,
- Orientation == Orientation.Horizontal ? Frame.Width : Frame.Height,
- Orientation,
- BorderStyle
- );
- }
- }
|