Imports System
Imports System.Drawing
Public Class Linee
Inherits Figura
Public Sub New(ByVal luogo As Disegno)
MyBase.New(luogo)
End Sub
Public Sub New(ByVal linea As Linee)
MyBase.New(linea.foglio)
setCoordinate(linea.getCoordinate)
pennino = linea.pennino
End Sub
Public Overrides Sub disegna(ByVal eliminaPrecedente As Boolean)
If eliminaPrecedente Then
cancella()
End If
Dim c As Tratto
c = getCoordinate()
foglio.pennino = pennino
foglio.linea(c.inizio.X, c.inizio.Y, c.fine.X, c.fine.Y)
End Sub
Public Overrides Sub disegna()
disegna(True)
End Sub
Public Overrides Sub cancella()
Dim c As Tratto
c = GetLeVecchieCoordinate()
Dim cancellino As Pen = New Pen(Color.White, pennino.Width + 2)
cancellino.StartCap = Drawing2D.LineCap.Square
cancellino.EndCap = Drawing2D.LineCap.Square
foglio.pennino = cancellino
foglio.linea(c.inizio.X, c.inizio.Y, c.fine.X, c.fine.Y)
End Sub
Public Overrides Function ToString() As String
Dim c As Tratto
c = getCoordinate()
Return String.Format("Linea dal punto ({0}; {1}) al ({2}; {3})", c.inizio.X, c.inizio.X, c.fine.X, c.fine.Y)
End Function
Public Overrides Function perimetro() As Double
Dim estremi As Tratto
Dim dx, dy As Double
estremi = getCoordinate()
dx = estremi.fine.X - estremi.inizio.X
dy = estremi.fine.Y - estremi.inizio.Y
Return Math.Sqrt(dx * dx + dy * dy)
End Function
End Class