PageRenderTime 55ms CodeModel.GetById 25ms RepoModel.GetById 0ms app.codeStats 0ms

/Source Code/PowerSong/Custom Controls/Widget.vb

#
Visual Basic | 46 lines | 37 code | 9 blank | 0 comment | 0 complexity | 278f2b6781ba8bba6f17857ff49852a8 MD5 | raw file
  1. Public Class Widget
  2. Private FArea As New RectangleF(0.1, 0.1, 0.8, 0.8)
  3. Public Property Area() As RectangleF
  4. Get
  5. Return FArea
  6. End Get
  7. Set(ByVal value As RectangleF)
  8. Dim OldArea As RectangleF = FArea
  9. FArea = value
  10. If OldArea <> value Then RaiseEvent AreaChanged(Me)
  11. End Set
  12. End Property
  13. Private FTarget As Object = Nothing
  14. Public Property Target() As Object
  15. Get
  16. Return FTarget
  17. End Get
  18. Set(ByVal value As Object)
  19. Dim OldTarget As Object = FTarget
  20. FTarget = value
  21. If OldTarget IsNot value Then RaiseEvent TargetChanged(Me, value)
  22. End Set
  23. End Property
  24. Public Event AreaChanged(ByVal widget As Widget)
  25. Public Event TargetChanged(ByVal widget As Widget, ByVal newValue As Object)
  26. Public Event Draw(ByVal graphics As Graphics, ByVal region As Rectangle)
  27. Public Sub New(ByVal target As Object)
  28. FTarget = target
  29. End Sub
  30. Public Sub New(ByVal target As Object, ByVal area As RectangleF)
  31. FTarget = target
  32. FArea = area
  33. End Sub
  34. Friend Sub RaiseDrawEvent(ByVal graphics As Graphics, ByVal region As Rectangle)
  35. RaiseEvent Draw(graphics, region)
  36. End Sub
  37. End Class