From 5d820f6354fa69e4ea6ac0fdf798396a6ff3bc2b Mon Sep 17 00:00:00 2001 From: root Date: Wed, 25 Mar 2026 14:50:06 -0500 Subject: [PATCH] Fix #1887: cardDlg() should use cornerRadius from card size definition --- .../Scripting/Controls/CardDlg.xaml.cs | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/octgnFX/Octgn.JodsEngine/Scripting/Controls/CardDlg.xaml.cs b/octgnFX/Octgn.JodsEngine/Scripting/Controls/CardDlg.xaml.cs index 8da3075b8..b8ca4ba16 100644 --- a/octgnFX/Octgn.JodsEngine/Scripting/Controls/CardDlg.xaml.cs +++ b/octgnFX/Octgn.JodsEngine/Scripting/Controls/CardDlg.xaml.cs @@ -190,7 +190,24 @@ private void SetPicture(object sender, RoutedEventArgs e) var img = sender as Image; if (img == null) return; var model = img.DataContext as DataNew.Entities.Card; - if (model != null) ImageUtils.GetCardImage(model, x => img.Source = x); + if (model == null) return; + var cardSize = model.Size; + if (cardSize == null || cardSize.CornerRadius <= 0) + { + ImageUtils.GetCardImage(model, x => img.Source = x); + return; + } + img.Clip = new RectangleGeometry(); + SizeChangedEventHandler onSizeChanged = null; + onSizeChanged = (_, __) => + { + var clipRect = (RectangleGeometry)img.Clip; + clipRect.Rect = new Rect(img.ActualWidth, img.ActualHeight); + clipRect.RadiusX = clipRect.RadiusY = cardSize.CornerRadius * img.ActualHeight / cardSize.Height; + img.SizeChanged -= onSizeChanged; + }; + img.SizeChanged += onSizeChanged; + ImageUtils.GetCardImage(model, x => img.Source = x); } private void ComputeChildWidth(object sender, RoutedEventArgs e)