|
@@ -665,9 +665,13 @@ namespace Terminal.Gui {
|
|
|
|
|
|
// Draw the upper BorderThickness
|
|
// Draw the upper BorderThickness
|
|
for (int r = frame.Y - drawMarginFrame - sumThickness.Top;
|
|
for (int r = frame.Y - drawMarginFrame - sumThickness.Top;
|
|
- r > 0 && r < frame.Y - drawMarginFrame - padding.Top; r++) {
|
|
|
|
|
|
+ r < frame.Y - drawMarginFrame - padding.Top; r++) {
|
|
|
|
+
|
|
|
|
+ if (r < 0) {
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
for (int c = frame.X - drawMarginFrame - sumThickness.Left;
|
|
for (int c = frame.X - drawMarginFrame - sumThickness.Left;
|
|
- c > 0 && c < Math.Min (frame.Right + drawMarginFrame + sumThickness.Right, driver.Cols); c++) {
|
|
|
|
|
|
+ c < Math.Min (frame.Right + drawMarginFrame + sumThickness.Right, driver.Cols); c++) {
|
|
|
|
|
|
AddRuneAt (driver, c, r, ' ');
|
|
AddRuneAt (driver, c, r, ' ');
|
|
}
|
|
}
|
|
@@ -675,9 +679,13 @@ namespace Terminal.Gui {
|
|
|
|
|
|
// Draw the left BorderThickness
|
|
// Draw the left BorderThickness
|
|
for (int r = frame.Y - drawMarginFrame - padding.Top;
|
|
for (int r = frame.Y - drawMarginFrame - padding.Top;
|
|
- r > 0 && r < Math.Min (frame.Bottom + drawMarginFrame + padding.Bottom, driver.Rows); r++) {
|
|
|
|
|
|
+ r < Math.Min (frame.Bottom + drawMarginFrame + padding.Bottom, driver.Rows); r++) {
|
|
|
|
+
|
|
|
|
+ if (r < 0) {
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
for (int c = frame.X - drawMarginFrame - sumThickness.Left;
|
|
for (int c = frame.X - drawMarginFrame - sumThickness.Left;
|
|
- c > 0 && c < frame.X - drawMarginFrame - padding.Left; c++) {
|
|
|
|
|
|
+ c < frame.X - drawMarginFrame - padding.Left; c++) {
|
|
|
|
|
|
AddRuneAt (driver, c, r, ' ');
|
|
AddRuneAt (driver, c, r, ' ');
|
|
}
|
|
}
|
|
@@ -685,9 +693,13 @@ namespace Terminal.Gui {
|
|
|
|
|
|
// Draw the right BorderThickness
|
|
// Draw the right BorderThickness
|
|
for (int r = frame.Y - drawMarginFrame - padding.Top;
|
|
for (int r = frame.Y - drawMarginFrame - padding.Top;
|
|
- r > 0 && r < Math.Min (frame.Bottom + drawMarginFrame + padding.Bottom, driver.Rows); r++) {
|
|
|
|
|
|
+ r < Math.Min (frame.Bottom + drawMarginFrame + padding.Bottom, driver.Rows); r++) {
|
|
|
|
+
|
|
|
|
+ if (r < 0) {
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
for (int c = frame.Right + drawMarginFrame + padding.Right;
|
|
for (int c = frame.Right + drawMarginFrame + padding.Right;
|
|
- c > 0 && c < Math.Min (frame.Right + drawMarginFrame + sumThickness.Right, driver.Cols); c++) {
|
|
|
|
|
|
+ c < Math.Min (frame.Right + drawMarginFrame + sumThickness.Right, driver.Cols); c++) {
|
|
|
|
|
|
AddRuneAt (driver, c, r, ' ');
|
|
AddRuneAt (driver, c, r, ' ');
|
|
}
|
|
}
|
|
@@ -695,9 +707,9 @@ namespace Terminal.Gui {
|
|
|
|
|
|
// Draw the lower BorderThickness
|
|
// Draw the lower BorderThickness
|
|
for (int r = frame.Bottom + drawMarginFrame + padding.Bottom;
|
|
for (int r = frame.Bottom + drawMarginFrame + padding.Bottom;
|
|
- r > 0 && r > 0 && r < Math.Min (frame.Bottom + drawMarginFrame + sumThickness.Bottom, driver.Rows); r++) {
|
|
|
|
|
|
+ r < Math.Min (frame.Bottom + drawMarginFrame + sumThickness.Bottom, driver.Rows); r++) {
|
|
for (int c = frame.X - drawMarginFrame - sumThickness.Left;
|
|
for (int c = frame.X - drawMarginFrame - sumThickness.Left;
|
|
- c > 0 && c > 0 && c < Math.Min (frame.Right + drawMarginFrame + sumThickness.Right, driver.Cols); c++) {
|
|
|
|
|
|
+ c < Math.Min (frame.Right + drawMarginFrame + sumThickness.Right, driver.Cols); c++) {
|
|
|
|
|
|
AddRuneAt (driver, c, r, ' ');
|
|
AddRuneAt (driver, c, r, ' ');
|
|
}
|
|
}
|
|
@@ -707,9 +719,13 @@ namespace Terminal.Gui {
|
|
|
|
|
|
// Draw the upper Padding
|
|
// Draw the upper Padding
|
|
for (int r = frame.Y - drawMarginFrame - padding.Top;
|
|
for (int r = frame.Y - drawMarginFrame - padding.Top;
|
|
- r > 0 && r < frame.Y - drawMarginFrame; r++) {
|
|
|
|
|
|
+ r < frame.Y - drawMarginFrame; r++) {
|
|
|
|
+
|
|
|
|
+ if (r < 0) {
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
for (int c = frame.X - drawMarginFrame - padding.Left;
|
|
for (int c = frame.X - drawMarginFrame - padding.Left;
|
|
- c > 0 && c < Math.Min (frame.Right + drawMarginFrame + padding.Right, driver.Cols); c++) {
|
|
|
|
|
|
+ c < Math.Min (frame.Right + drawMarginFrame + padding.Right, driver.Cols); c++) {
|
|
|
|
|
|
AddRuneAt (driver, c, r, ' ');
|
|
AddRuneAt (driver, c, r, ' ');
|
|
}
|
|
}
|
|
@@ -717,9 +733,9 @@ namespace Terminal.Gui {
|
|
|
|
|
|
// Draw the left Padding
|
|
// Draw the left Padding
|
|
for (int r = frame.Y - drawMarginFrame;
|
|
for (int r = frame.Y - drawMarginFrame;
|
|
- r > 0 && r < Math.Min (frame.Bottom + drawMarginFrame, driver.Rows); r++) {
|
|
|
|
|
|
+ r < Math.Min (frame.Bottom + drawMarginFrame, driver.Rows); r++) {
|
|
for (int c = frame.X - drawMarginFrame - padding.Left;
|
|
for (int c = frame.X - drawMarginFrame - padding.Left;
|
|
- c > 0 && c < frame.X - drawMarginFrame; c++) {
|
|
|
|
|
|
+ c < frame.X - drawMarginFrame; c++) {
|
|
|
|
|
|
AddRuneAt (driver, c, r, ' ');
|
|
AddRuneAt (driver, c, r, ' ');
|
|
}
|
|
}
|
|
@@ -727,9 +743,9 @@ namespace Terminal.Gui {
|
|
|
|
|
|
// Draw the right Padding
|
|
// Draw the right Padding
|
|
for (int r = frame.Y - drawMarginFrame;
|
|
for (int r = frame.Y - drawMarginFrame;
|
|
- r > 0 && r < Math.Min (frame.Bottom + drawMarginFrame, driver.Rows); r++) {
|
|
|
|
|
|
+ r < Math.Min (frame.Bottom + drawMarginFrame, driver.Rows); r++) {
|
|
for (int c = frame.Right + drawMarginFrame;
|
|
for (int c = frame.Right + drawMarginFrame;
|
|
- c > 0 && c < Math.Min (frame.Right + drawMarginFrame + padding.Right, driver.Cols); c++) {
|
|
|
|
|
|
+ c < Math.Min (frame.Right + drawMarginFrame + padding.Right, driver.Cols); c++) {
|
|
|
|
|
|
AddRuneAt (driver, c, r, ' ');
|
|
AddRuneAt (driver, c, r, ' ');
|
|
}
|
|
}
|
|
@@ -737,9 +753,9 @@ namespace Terminal.Gui {
|
|
|
|
|
|
// Draw the lower Padding
|
|
// Draw the lower Padding
|
|
for (int r = frame.Bottom + drawMarginFrame;
|
|
for (int r = frame.Bottom + drawMarginFrame;
|
|
- r > 0 && r < Math.Min (frame.Bottom + drawMarginFrame + padding.Bottom, driver.Rows); r++) {
|
|
|
|
|
|
+ r < Math.Min (frame.Bottom + drawMarginFrame + padding.Bottom, driver.Rows); r++) {
|
|
for (int c = frame.X - drawMarginFrame - padding.Left;
|
|
for (int c = frame.X - drawMarginFrame - padding.Left;
|
|
- c > 0 && c < Math.Min (frame.Right + drawMarginFrame + padding.Right, driver.Cols); c++) {
|
|
|
|
|
|
+ c < Math.Min (frame.Right + drawMarginFrame + padding.Right, driver.Cols); c++) {
|
|
|
|
|
|
AddRuneAt (driver, c, r, ' ');
|
|
AddRuneAt (driver, c, r, ' ');
|
|
}
|
|
}
|
|
@@ -820,9 +836,12 @@ namespace Terminal.Gui {
|
|
|
|
|
|
// Draw the upper BorderThickness
|
|
// Draw the upper BorderThickness
|
|
for (int r = frame.Y;
|
|
for (int r = frame.Y;
|
|
- r > 0 && r < Math.Min (frame.Y + borderThickness.Top, frame.Bottom); r++) {
|
|
|
|
|
|
+ r < Math.Min (frame.Y + borderThickness.Top, frame.Bottom); r++) {
|
|
|
|
+ if (r < 0) {
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
for (int c = frame.X;
|
|
for (int c = frame.X;
|
|
- c > 0 && c < Math.Min (frame.Right, driver.Cols); c++) {
|
|
|
|
|
|
+ c < Math.Min (frame.Right, driver.Cols); c++) {
|
|
|
|
|
|
AddRuneAt (driver, c, r, ' ');
|
|
AddRuneAt (driver, c, r, ' ');
|
|
}
|
|
}
|
|
@@ -830,9 +849,13 @@ namespace Terminal.Gui {
|
|
|
|
|
|
// Draw the left BorderThickness
|
|
// Draw the left BorderThickness
|
|
for (int r = Math.Min (frame.Y + borderThickness.Top, frame.Bottom);
|
|
for (int r = Math.Min (frame.Y + borderThickness.Top, frame.Bottom);
|
|
- r > 0 && r < Math.Min (frame.Bottom - borderThickness.Bottom, driver.Rows); r++) {
|
|
|
|
|
|
+ r < Math.Min (frame.Bottom - borderThickness.Bottom, driver.Rows); r++) {
|
|
|
|
+
|
|
|
|
+ if (r < 0) {
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
for (int c = frame.X;
|
|
for (int c = frame.X;
|
|
- c > 0 && c < Math.Min (frame.X + borderThickness.Left, frame.Right); c++) {
|
|
|
|
|
|
+ c < Math.Min (frame.X + borderThickness.Left, frame.Right); c++) {
|
|
|
|
|
|
AddRuneAt (driver, c, r, ' ');
|
|
AddRuneAt (driver, c, r, ' ');
|
|
}
|
|
}
|
|
@@ -840,9 +863,13 @@ namespace Terminal.Gui {
|
|
|
|
|
|
// Draw the right BorderThickness
|
|
// Draw the right BorderThickness
|
|
for (int r = Math.Min (frame.Y + borderThickness.Top, frame.Bottom);
|
|
for (int r = Math.Min (frame.Y + borderThickness.Top, frame.Bottom);
|
|
- r > 0 && r < Math.Min (frame.Bottom - borderThickness.Bottom, driver.Rows); r++) {
|
|
|
|
|
|
+ r < Math.Min (frame.Bottom - borderThickness.Bottom, driver.Rows); r++) {
|
|
|
|
+
|
|
|
|
+ if (r < 0) {
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
for (int c = Math.Max (frame.Right - borderThickness.Right, frame.X);
|
|
for (int c = Math.Max (frame.Right - borderThickness.Right, frame.X);
|
|
- c > 0 && c < Math.Min (frame.Right, driver.Cols); c++) {
|
|
|
|
|
|
+ c < Math.Min (frame.Right, driver.Cols); c++) {
|
|
|
|
|
|
AddRuneAt (driver, c, r, ' ');
|
|
AddRuneAt (driver, c, r, ' ');
|
|
}
|
|
}
|
|
@@ -850,9 +877,9 @@ namespace Terminal.Gui {
|
|
|
|
|
|
// Draw the lower BorderThickness
|
|
// Draw the lower BorderThickness
|
|
for (int r = Math.Max (frame.Bottom - borderThickness.Bottom, frame.Y);
|
|
for (int r = Math.Max (frame.Bottom - borderThickness.Bottom, frame.Y);
|
|
- r > 0 && r < Math.Min (frame.Bottom, driver.Rows); r++) {
|
|
|
|
|
|
+ r < Math.Min (frame.Bottom, driver.Rows); r++) {
|
|
for (int c = frame.X;
|
|
for (int c = frame.X;
|
|
- c > 0 && c < Math.Min (frame.Right, driver.Cols); c++) {
|
|
|
|
|
|
+ c < Math.Min (frame.Right, driver.Cols); c++) {
|
|
|
|
|
|
AddRuneAt (driver, c, r, ' ');
|
|
AddRuneAt (driver, c, r, ' ');
|
|
}
|
|
}
|
|
@@ -862,9 +889,13 @@ namespace Terminal.Gui {
|
|
|
|
|
|
// Draw the upper Padding
|
|
// Draw the upper Padding
|
|
for (int r = frame.Y + borderThickness.Top;
|
|
for (int r = frame.Y + borderThickness.Top;
|
|
- r > 0 && r < Math.Min (frame.Y + sumThickness.Top, frame.Bottom - borderThickness.Bottom); r++) {
|
|
|
|
|
|
+ r < Math.Min (frame.Y + sumThickness.Top, frame.Bottom - borderThickness.Bottom); r++) {
|
|
|
|
+
|
|
|
|
+ if (r < 0) {
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
for (int c = frame.X + borderThickness.Left;
|
|
for (int c = frame.X + borderThickness.Left;
|
|
- c > 0 && c < Math.Min (frame.Right - borderThickness.Right, driver.Cols); c++) {
|
|
|
|
|
|
+ c < Math.Min (frame.Right - borderThickness.Right, driver.Cols); c++) {
|
|
|
|
|
|
AddRuneAt (driver, c, r, ' ');
|
|
AddRuneAt (driver, c, r, ' ');
|
|
}
|
|
}
|
|
@@ -872,9 +903,13 @@ namespace Terminal.Gui {
|
|
|
|
|
|
// Draw the left Padding
|
|
// Draw the left Padding
|
|
for (int r = frame.Y + sumThickness.Top;
|
|
for (int r = frame.Y + sumThickness.Top;
|
|
- r > 0 && r < Math.Min (frame.Bottom - sumThickness.Bottom, driver.Rows); r++) {
|
|
|
|
|
|
+ r < Math.Min (frame.Bottom - sumThickness.Bottom, driver.Rows); r++) {
|
|
|
|
+
|
|
|
|
+ if (r < 0) {
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
for (int c = frame.X + borderThickness.Left;
|
|
for (int c = frame.X + borderThickness.Left;
|
|
- c > 0 && c < Math.Min (frame.X + sumThickness.Left, frame.Right - borderThickness.Right); c++) {
|
|
|
|
|
|
+ c < Math.Min (frame.X + sumThickness.Left, frame.Right - borderThickness.Right); c++) {
|
|
|
|
|
|
AddRuneAt (driver, c, r, ' ');
|
|
AddRuneAt (driver, c, r, ' ');
|
|
}
|
|
}
|
|
@@ -882,9 +917,13 @@ namespace Terminal.Gui {
|
|
|
|
|
|
// Draw the right Padding
|
|
// Draw the right Padding
|
|
for (int r = frame.Y + sumThickness.Top;
|
|
for (int r = frame.Y + sumThickness.Top;
|
|
- r > 0 && r < Math.Min (frame.Bottom - sumThickness.Bottom, driver.Rows); r++) {
|
|
|
|
|
|
+ r < Math.Min (frame.Bottom - sumThickness.Bottom, driver.Rows); r++) {
|
|
|
|
+
|
|
|
|
+ if (r < 0) {
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
for (int c = Math.Max (frame.Right - sumThickness.Right, frame.X + sumThickness.Left);
|
|
for (int c = Math.Max (frame.Right - sumThickness.Right, frame.X + sumThickness.Left);
|
|
- c > 0 && c < Math.Max (frame.Right - borderThickness.Right, frame.X + sumThickness.Left); c++) {
|
|
|
|
|
|
+ c < Math.Max (frame.Right - borderThickness.Right, frame.X + sumThickness.Left); c++) {
|
|
|
|
|
|
AddRuneAt (driver, c, r, ' ');
|
|
AddRuneAt (driver, c, r, ' ');
|
|
}
|
|
}
|
|
@@ -892,9 +931,9 @@ namespace Terminal.Gui {
|
|
|
|
|
|
// Draw the lower Padding
|
|
// Draw the lower Padding
|
|
for (int r = Math.Max (frame.Bottom - sumThickness.Bottom, frame.Y + borderThickness.Top);
|
|
for (int r = Math.Max (frame.Bottom - sumThickness.Bottom, frame.Y + borderThickness.Top);
|
|
- r > 0 && r < Math.Min (frame.Bottom - borderThickness.Bottom, driver.Rows); r++) {
|
|
|
|
|
|
+ r < Math.Min (frame.Bottom - borderThickness.Bottom, driver.Rows); r++) {
|
|
for (int c = frame.X + borderThickness.Left;
|
|
for (int c = frame.X + borderThickness.Left;
|
|
- c > 0 && c < Math.Min (frame.Right - borderThickness.Right, driver.Cols); c++) {
|
|
|
|
|
|
+ c < Math.Min (frame.Right - borderThickness.Right, driver.Cols); c++) {
|
|
|
|
|
|
AddRuneAt (driver, c, r, ' ');
|
|
AddRuneAt (driver, c, r, ' ');
|
|
}
|
|
}
|
|
@@ -921,9 +960,9 @@ namespace Terminal.Gui {
|
|
|
|
|
|
// Draw the upper Effect3D
|
|
// Draw the upper Effect3D
|
|
for (int r = Math.Max (frame.Y + effect3DOffset.Y, 0);
|
|
for (int r = Math.Max (frame.Y + effect3DOffset.Y, 0);
|
|
- r > 0 && r < frame.Y; r++) {
|
|
|
|
|
|
+ r < frame.Y; r++) {
|
|
for (int c = Math.Max (frame.X + effect3DOffset.X, 0);
|
|
for (int c = Math.Max (frame.X + effect3DOffset.X, 0);
|
|
- c > 0 && c < Math.Min (frame.Right + effect3DOffset.X, driver.Cols); c++) {
|
|
|
|
|
|
+ c < Math.Min (frame.Right + effect3DOffset.X, driver.Cols); c++) {
|
|
|
|
|
|
AddRuneAt (driver, c, r, (Rune)driver.Contents [r, c, 0]);
|
|
AddRuneAt (driver, c, r, (Rune)driver.Contents [r, c, 0]);
|
|
}
|
|
}
|
|
@@ -931,9 +970,9 @@ namespace Terminal.Gui {
|
|
|
|
|
|
// Draw the left Effect3D
|
|
// Draw the left Effect3D
|
|
for (int r = Math.Max (frame.Y + effect3DOffset.Y, 0);
|
|
for (int r = Math.Max (frame.Y + effect3DOffset.Y, 0);
|
|
- r > 0 && r < Math.Min (frame.Bottom + effect3DOffset.Y, driver.Rows); r++) {
|
|
|
|
|
|
+ r < Math.Min (frame.Bottom + effect3DOffset.Y, driver.Rows); r++) {
|
|
for (int c = Math.Max (frame.X + effect3DOffset.X, 0);
|
|
for (int c = Math.Max (frame.X + effect3DOffset.X, 0);
|
|
- c > 0 && c < frame.X; c++) {
|
|
|
|
|
|
+ c < frame.X; c++) {
|
|
|
|
|
|
AddRuneAt (driver, c, r, (Rune)driver.Contents [r, c, 0]);
|
|
AddRuneAt (driver, c, r, (Rune)driver.Contents [r, c, 0]);
|
|
}
|
|
}
|
|
@@ -941,9 +980,9 @@ namespace Terminal.Gui {
|
|
|
|
|
|
// Draw the right Effect3D
|
|
// Draw the right Effect3D
|
|
for (int r = Math.Max (frame.Y + effect3DOffset.Y, 0);
|
|
for (int r = Math.Max (frame.Y + effect3DOffset.Y, 0);
|
|
- r > 0 && r < Math.Min (frame.Bottom + effect3DOffset.Y, driver.Rows); r++) {
|
|
|
|
|
|
+ r < Math.Min (frame.Bottom + effect3DOffset.Y, driver.Rows); r++) {
|
|
for (int c = frame.Right;
|
|
for (int c = frame.Right;
|
|
- c > 0 && c < Math.Min (frame.Right + effect3DOffset.X, driver.Cols); c++) {
|
|
|
|
|
|
+ c < Math.Min (frame.Right + effect3DOffset.X, driver.Cols); c++) {
|
|
|
|
|
|
AddRuneAt (driver, c, r, (Rune)driver.Contents [r, c, 0]);
|
|
AddRuneAt (driver, c, r, (Rune)driver.Contents [r, c, 0]);
|
|
}
|
|
}
|
|
@@ -951,9 +990,9 @@ namespace Terminal.Gui {
|
|
|
|
|
|
// Draw the lower Effect3D
|
|
// Draw the lower Effect3D
|
|
for (int r = frame.Bottom;
|
|
for (int r = frame.Bottom;
|
|
- r > 0 && r < Math.Min (frame.Bottom + effect3DOffset.Y, driver.Rows); r++) {
|
|
|
|
|
|
+ r < Math.Min (frame.Bottom + effect3DOffset.Y, driver.Rows); r++) {
|
|
for (int c = Math.Max (frame.X + effect3DOffset.X, 0);
|
|
for (int c = Math.Max (frame.X + effect3DOffset.X, 0);
|
|
- c > 0 && c < Math.Min (frame.Right + effect3DOffset.X, driver.Cols); c++) {
|
|
|
|
|
|
+ c < Math.Min (frame.Right + effect3DOffset.X, driver.Cols); c++) {
|
|
|
|
|
|
AddRuneAt (driver, c, r, (Rune)driver.Contents [r, c, 0]);
|
|
AddRuneAt (driver, c, r, (Rune)driver.Contents [r, c, 0]);
|
|
}
|
|
}
|
|
@@ -1036,4 +1075,4 @@ namespace Terminal.Gui {
|
|
BorderChanged?.Invoke (this);
|
|
BorderChanged?.Invoke (this);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-}
|
|
|
|
|
|
+}
|