feat(AGVCanvas): blink error msg, debug info, setview
This commit is contained in:
@@ -137,10 +137,42 @@ namespace AGVNavigationCore.Controls
|
||||
|
||||
string _alertmesage = "";
|
||||
bool showalert = false;
|
||||
|
||||
// 깜박임 효과를 위한 타이머 및 상태
|
||||
private Timer _alertBlinkTimer;
|
||||
private bool _isAlertBlinkOn = true;
|
||||
|
||||
public void SetAlertMessage(string m)
|
||||
{
|
||||
_alertmesage = m;
|
||||
showalert = !string.IsNullOrEmpty(m);
|
||||
|
||||
//if (showalert)
|
||||
//{
|
||||
// if (_alertBlinkTimer == null)
|
||||
// {
|
||||
// _alertBlinkTimer = new Timer();
|
||||
// _alertBlinkTimer.Interval = 500; // 0.5초 간격
|
||||
// _alertBlinkTimer.Tick += _alertBlinkTimer_Tick;
|
||||
// }
|
||||
// _alertBlinkTimer.Start();
|
||||
// _isAlertBlinkOn = true;
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// if (_alertBlinkTimer != null)
|
||||
// {
|
||||
// _alertBlinkTimer.Stop();
|
||||
// }
|
||||
// _isAlertBlinkOn = false;
|
||||
//}
|
||||
//Invalidate(); // 즉시 갱신
|
||||
}
|
||||
|
||||
private void _alertBlinkTimer_Tick(object sender, EventArgs e)
|
||||
{
|
||||
//_isAlertBlinkOn = !_isAlertBlinkOn;
|
||||
//Invalidate();
|
||||
}
|
||||
|
||||
|
||||
@@ -292,6 +324,23 @@ namespace AGVNavigationCore.Controls
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 외부에서 Pan(X,Y) 및 Zoom 값을 설정합니다.
|
||||
/// </summary>
|
||||
/// <param name="panX">Pan X 좌표</param>
|
||||
/// <param name="panY">Pan Y 좌표</param>
|
||||
/// <param name="zoom">Zoom Level (0.1 ~ 5.0)</param>
|
||||
public void SetView(float panX, float panY, float zoom)
|
||||
{
|
||||
// Zoom 값 범위 제한
|
||||
float newZoom = Math.Max(0.1f, Math.Min(5.0f, zoom));
|
||||
|
||||
_panOffset = new PointF(panX, panY);
|
||||
_zoomFactor = newZoom;
|
||||
|
||||
Invalidate();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 그리드 표시 여부
|
||||
/// </summary>
|
||||
@@ -886,6 +935,14 @@ namespace AGVNavigationCore.Controls
|
||||
|
||||
// 이미지 정리
|
||||
_companyLogo?.Dispose();
|
||||
|
||||
// 타이머 정리
|
||||
if (_alertBlinkTimer != null)
|
||||
{
|
||||
_alertBlinkTimer.Stop();
|
||||
_alertBlinkTimer.Dispose();
|
||||
_alertBlinkTimer = null;
|
||||
}
|
||||
}
|
||||
|
||||
base.Dispose(disposing);
|
||||
|
||||
Reference in New Issue
Block a user