개정판 e024b149
Fix: 직선형의 ArrowTextControl 생성 오류 수정
Change-Id: I524ed3cb0f97396925f567dc87b2696c5e7ab360
MarkupToPDF/Controls/Text/ArrowTextControl.cs | ||
---|---|---|
14 | 14 |
using MarkupToPDF.Serialize.Core; |
15 | 15 |
using MarkupToPDF.Serialize.S_Control; |
16 | 16 |
using Markus.Fonts; |
17 |
using System.Runtime.CompilerServices; |
|
18 |
using System.Windows.Controls.Primitives; |
|
17 | 19 |
|
18 | 20 |
namespace MarkupToPDF.Controls.Text |
19 | 21 |
{ |
... | ... | |
917 | 919 |
|
918 | 920 |
if (e.OldValue != e.NewValue && instance.Base_ArrowPath != null) |
919 | 921 |
{ |
922 |
if (e.Property.Name == "StartPoint" || e.Property.Name == "EndPoint") |
|
923 |
{ |
|
924 |
var connections = instance.GetConnectionPointList(); |
|
925 |
var near = MathSet.getNearPoint(connections, instance.StartPoint); |
|
926 |
var BendingPoint = instance.GetBendingPoint(connections, near); |
|
927 |
if (BendingPoint.HasValue) instance.MidPoint = BendingPoint.Value; |
|
928 |
} |
|
920 | 929 |
instance.SetArrowTextPath(); |
921 | 930 |
} |
922 | 931 |
} |
... | ... | |
1144 | 1153 |
BendingPoint = new Point(connection.X + _BendingLineLength, connection.Y); |
1145 | 1154 |
} |
1146 | 1155 |
} |
1156 |
else |
|
1157 |
{ |
|
1158 |
BendingPoint = connection; |
|
1159 |
} |
|
1147 | 1160 |
break; |
1148 | 1161 |
case "270": |
1149 | 1162 |
if (isFixed) |
... | ... | |
1165 | 1178 |
BendingPoint = new Point(connection.X - _BendingLineLength, connection.Y); |
1166 | 1179 |
} |
1167 | 1180 |
} |
1181 |
else |
|
1182 |
{ |
|
1183 |
BendingPoint = connection; |
|
1184 |
} |
|
1168 | 1185 |
break; |
1169 | 1186 |
default: |
1170 | 1187 |
if (isFixed) |
... | ... | |
1186 | 1203 |
BendingPoint = new Point(connection.X + _BendingLineLength, connection.Y); |
1187 | 1204 |
} |
1188 | 1205 |
} |
1206 |
else |
|
1207 |
{ |
|
1208 |
BendingPoint = connection; |
|
1209 |
} |
|
1189 | 1210 |
break; |
1190 | 1211 |
} |
1191 | 1212 |
} |
... | ... | |
1214 | 1235 |
BendingPoint = new Point(connection.X + _BendingLineLength, connection.Y); |
1215 | 1236 |
} |
1216 | 1237 |
} |
1238 |
else |
|
1239 |
{ |
|
1240 |
BendingPoint = connection; |
|
1241 |
} |
|
1217 | 1242 |
break; |
1218 | 1243 |
case "270": |
1219 | 1244 |
if (isFixed) |
... | ... | |
1235 | 1260 |
BendingPoint = new Point(connection.X + _BendingLineLength, connection.Y); |
1236 | 1261 |
} |
1237 | 1262 |
} |
1263 |
else |
|
1264 |
{ |
|
1265 |
BendingPoint = connection; |
|
1266 |
} |
|
1238 | 1267 |
break; |
1239 | 1268 |
default: |
1240 | 1269 |
if (isFixed) |
... | ... | |
1256 | 1285 |
BendingPoint = new Point(connection.X + _BendingLineLength, connection.Y); |
1257 | 1286 |
} |
1258 | 1287 |
} |
1288 |
else |
|
1289 |
{ |
|
1290 |
BendingPoint = connection; |
|
1291 |
} |
|
1259 | 1292 |
break; |
1260 | 1293 |
} |
1261 | 1294 |
} |
... | ... | |
1318 | 1351 |
connectorSMGeometry.EndPoint = BendingPoint.Value; |
1319 | 1352 |
connectorMEGeometry.StartPoint = BendingPoint.Value; |
1320 | 1353 |
connectorMEGeometry.EndPoint = ConnectionPoint; |
1354 |
|
|
1321 | 1355 |
instanceGroup.Children.Add(DrawSet.DrawArrow(BendingPoint.Value, this.StartPoint, this.LineSize)); |
1322 | 1356 |
instanceGroup.FillRule = FillRule.Nonzero; |
1323 | 1357 |
this.Base_ArrowPath.Fill = this.StrokeColor; |
내보내기 Unified diff