개정판 da7ab6ad
issue #0110 ArrowTextControl angle 문제 수정
Change-Id: I5a99bab25b7ee7ce529bf8f611117e425bfb1191
MarkupToPDF/Controls/Text/ArrowTextControl.cs | ||
---|---|---|
204 | 204 |
void Base_TextBox_GotFocus(object sender, RoutedEventArgs e) |
205 | 205 |
{ |
206 | 206 |
this.BaseTextbox_Caret.Visibility = Visibility.Visible; |
207 |
MoveCustomCaret(); |
|
207 | 208 |
this.IsEditingMode = true; |
208 | 209 |
} |
209 | 210 |
|
... | ... | |
983 | 984 |
connectorSMGeometry.EndPoint = this.MidPoint; |
984 | 985 |
connectorMEGeometry.StartPoint = this.MidPoint; //핵심 |
985 | 986 |
|
987 |
/// 텍스트박스의 좌표 설정 |
|
986 | 988 |
Canvas.SetLeft(Base_TextBox, this.EndPoint.X); |
987 | 989 |
Canvas.SetTop(Base_TextBox, this.EndPoint.Y); |
988 |
|
|
990 |
System.Diagnostics.Debug.WriteLine($"TextBox Set {this.EndPoint.X},{this.EndPoint.Y}"); |
|
991 |
|
|
992 |
|
|
989 | 993 |
List<Point> ps = new List<Point>(); |
990 | 994 |
ps.Add(new Point(Canvas.GetLeft(Base_TextBox) + this.BoxWidth / 2, Canvas.GetTop(Base_TextBox))); //상단 |
991 | 995 |
ps.Add(new Point(Canvas.GetLeft(Base_TextBox) + this.BoxWidth / 2, Canvas.GetTop(Base_TextBox) + this.BoxHeight)); // 하단 |
... | ... | |
1173 | 1177 |
ps.Add(new Point(Canvas.GetLeft(Base_TextBox) - this.BoxHeight / 2, Canvas.GetTop(Base_TextBox) + this.BoxWidth)); //오른쪽 중간 |
1174 | 1178 |
} |
1175 | 1179 |
break; |
1180 |
//case "180": |
|
1181 |
// { |
|
1182 |
// ps.Clear(); |
|
1183 |
|
|
1184 |
// ps.Add(new Point(Canvas.GetLeft(Base_TextBox), Canvas.GetTop(Base_TextBox))); //위 왼쪽 |
|
1185 |
// ps.Add(new Point(Canvas.GetLeft(Base_TextBox), Canvas.GetTop(Base_TextBox) + this.BoxWidth / 2)); // 위 중간 |
|
1186 |
// ps.Add(new Point(Canvas.GetLeft(Base_TextBox), Canvas.GetTop(Base_TextBox) + this.BoxWidth)); // 위 오른쪽 |
|
1187 |
|
|
1188 |
// ps.Add(new Point(Canvas.GetLeft(Base_TextBox) + this.BoxHeight / 2, Canvas.GetTop(Base_TextBox))); //왼쪽 중간 |
|
1189 |
// ps.Add(new Point(Canvas.GetLeft(Base_TextBox) + this.BoxHeight, Canvas.GetTop(Base_TextBox))); //왼쪽 하단 |
|
1190 |
|
|
1191 |
// ps.Add(new Point(Canvas.GetLeft(Base_TextBox) + this.BoxHeight, Canvas.GetTop(Base_TextBox) + this.BoxWidth / 2)); //중간 하단 |
|
1192 |
// ps.Add(new Point(Canvas.GetLeft(Base_TextBox) + this.BoxHeight, Canvas.GetTop(Base_TextBox) + this.BoxWidth)); //오른쪽 하단 |
|
1193 |
|
|
1194 |
// ps.Add(new Point(Canvas.GetLeft(Base_TextBox) + this.BoxHeight / 2, Canvas.GetTop(Base_TextBox) + this.BoxWidth)); //오른쪽 중간 |
|
1195 |
// } |
|
1196 |
// break; |
|
1176 | 1197 |
default: |
1177 | 1198 |
break; |
1178 | 1199 |
} |
... | ... | |
1338 | 1359 |
|
1339 | 1360 |
System.Diagnostics.Debug.WriteLine($"base TextBox center X : {this.CenterX} Y : {this.CenterY} "); |
1340 | 1361 |
|
1341 |
BaseTextbox_Caret.RenderTransform = new RotateTransform |
|
1342 |
{ |
|
1343 |
Angle = this.VisualPageAngle, |
|
1344 |
CenterX = this.CenterX, |
|
1345 |
CenterY = this.CenterY, |
|
1346 |
}; |
|
1362 |
|
|
1347 | 1363 |
|
1348 | 1364 |
Base_ArrowSubPath.RenderTransform = new RotateTransform |
1349 | 1365 |
{ |
... | ... | |
1352 | 1368 |
CenterY = this.EndPoint.Y, |
1353 | 1369 |
}; |
1354 | 1370 |
|
1355 |
MoveCustomCaret(); |
|
1371 |
if (BaseTextbox_Caret.Visibility == Visibility.Visible) |
|
1372 |
{ |
|
1373 |
BaseTextbox_Caret.RenderTransform = new RotateTransform |
|
1374 |
{ |
|
1375 |
Angle = this.VisualPageAngle, |
|
1376 |
CenterX = this.CenterX, |
|
1377 |
CenterY = this.CenterY, |
|
1378 |
}; |
|
1379 |
|
|
1380 |
MoveCustomCaret(); |
|
1381 |
} |
|
1356 | 1382 |
} |
1357 | 1383 |
|
1358 | 1384 |
private void DrawingCloud() |
... | ... | |
1413 | 1439 |
{ |
1414 | 1440 |
this.Base_TextBox.BorderBrush = Brushes.Transparent; |
1415 | 1441 |
} |
1442 |
|
|
1416 | 1443 |
if (Math.Abs(this.PageAngle).ToString() == "90") |
1417 | 1444 |
{ |
1418 | 1445 |
List<Point> pCloud = new List<Point>() |
내보내기 Unified diff