Jelajahi Sumber

Fixes #2331. ScrollView may not be honoring clip region; CustomButton shows outside

BDisp 2 tahun lalu
induk
melakukan
895b3894f5
1 mengubah file dengan 5 tambahan dan 4 penghapusan
  1. 5 4
      Terminal.Gui/Views/ScrollView.cs

+ 5 - 4
Terminal.Gui/Views/ScrollView.cs

@@ -329,10 +329,11 @@ namespace Terminal.Gui {
 			//Clear ();
 
 			var savedClip = ClipToBounds ();
-			OnDrawContent (new Rect (ContentOffset,
+			var rect = new Rect (new Point (-contentView.Frame.X, -contentView.Frame.Y),
 				new Size (Math.Max (Bounds.Width - (ShowVerticalScrollIndicator ? 1 : 0), 0),
-					Math.Max (Bounds.Height - (ShowHorizontalScrollIndicator ? 1 : 0), 0))));
-			contentView.Redraw (contentView.Frame);
+					Math.Max (Bounds.Height - (ShowHorizontalScrollIndicator ? 1 : 0), 0)));
+			OnDrawContent (rect);
+			contentView.Redraw (rect);
 			Driver.Clip = savedClip;
 
 			if (autoHideScrollBars) {
@@ -508,7 +509,7 @@ namespace Terminal.Gui {
 		{
 			if (me.Flags != MouseFlags.WheeledDown && me.Flags != MouseFlags.WheeledUp &&
 				me.Flags != MouseFlags.WheeledRight && me.Flags != MouseFlags.WheeledLeft &&
-//				me.Flags != MouseFlags.Button1Pressed && me.Flags != MouseFlags.Button1Clicked &&
+				//				me.Flags != MouseFlags.Button1Pressed && me.Flags != MouseFlags.Button1Clicked &&
 				!me.Flags.HasFlag (MouseFlags.Button1Pressed | MouseFlags.ReportMousePosition)) {
 				return false;
 			}