PageRenderTime 36ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 0ms

/Source Code/ExperimentalProjection/Demo/frmMain.vb

#
Visual Basic | 87 lines | 68 code | 18 blank | 1 comment | 0 complexity | ae56e391cec89cd44ef62193d2cf1f99 MD5 | raw file
  1. Public Class frmMain
  2. Private _Projector As BaseProjector = Nothing
  3. Private Sub tmrMain_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmrMain.Tick
  4. If _Projector IsNot Nothing Then _Projector.RenderFrame()
  5. End Sub
  6. Private Sub btnFadeOut_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFadeOut.Click
  7. If _Projector IsNot Nothing Then
  8. _Projector.HideProjectlet("Projectlet1", FadeEffect.FadeOut, TimeSpan.FromMilliseconds(1000))
  9. _Projector.HideProjectlet("Projectlet2", FadeEffect.FadeOut, TimeSpan.FromMilliseconds(333))
  10. _Projector.HideProjectlet("Projectlet3", FadeEffect.FadeOut, TimeSpan.FromMilliseconds(1000))
  11. End If
  12. End Sub
  13. Private Sub btnFadeIn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFadeIn.Click
  14. If _Projector IsNot Nothing Then
  15. _Projector.ShowProjectlet("Projectlet1", FadeEffect.FadeIn, TimeSpan.FromMilliseconds(1000))
  16. _Projector.ShowProjectlet("Projectlet2", FadeEffect.FadeIn, TimeSpan.FromMilliseconds(333))
  17. _Projector.ShowProjectlet("Projectlet3", FadeEffect.FadeIn, TimeSpan.FromMilliseconds(1000))
  18. End If
  19. End Sub
  20. Private Sub ProjectionTypeChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles optGdi.CheckedChanged, optWpf.CheckedChanged
  21. pnlGdiProjection.Visible = optGdi.Checked
  22. pnlWpfProjection.Visible = optWpf.Checked
  23. RecreateProjector()
  24. End Sub
  25. Private Sub RecreateProjector()
  26. _Projector = Nothing
  27. If optGdi.Checked Then
  28. _Projector = ProjectorFactory.CreateGdiProjector(pnlGdiProjection)
  29. Else
  30. Dim ProjectionControl As WpfProjectionControl = pnlWpfProjection.Child
  31. Dim GridControl As System.Windows.Controls.Grid = ProjectionControl.MainGrid
  32. _Projector = ProjectorFactory.CreateWpfProjector(GridControl)
  33. End If
  34. ' TODO: Font styles
  35. _Projector.AddProjectlet("Projectlet1", _
  36. New AgnosticRectangle(0, 0, 1, 1), _
  37. "Verdana",
  38. AgnosticFontStyle.Italic, _
  39. New AgnosticColour(0, 0, 255), _
  40. 0.02, _
  41. New AgnosticColour(255, 255, 255), _
  42. TextEffect.None, _
  43. TextAlignment.TopLeft, _
  44. "Song Title Goes Here")
  45. _Projector.AddProjectlet("Projectlet2", _
  46. New AgnosticRectangle(0, 0, 1, 1), _
  47. "Arial", _
  48. AgnosticFontStyle.Bold, _
  49. New AgnosticColour(0, 0, 255), _
  50. 0.05, _
  51. New AgnosticColour(255, 255, 255), _
  52. TextEffect.OutlineAndShadow, _
  53. TextAlignment.MiddleMiddle, _
  54. "Hello World! Verse Line 1" + Environment.NewLine + _
  55. "Hello World! Verse Line 2" + Environment.NewLine + _
  56. "Hello World! Verse Line 3")
  57. _Projector.AddProjectlet("Projectlet3", _
  58. New AgnosticRectangle(0, 0, 1, 1), _
  59. "Times New Roman", _
  60. AgnosticFontStyle.Underline, _
  61. New AgnosticColour(0, 0, 255), _
  62. 0.02, _
  63. New AgnosticColour(255, 255, 255), _
  64. TextEffect.Shadow, _
  65. TextAlignment.BottomLeft, _
  66. "Copyright Text Line 1" + Environment.NewLine + _
  67. "Copyright Text Line 2")
  68. End Sub
  69. End Class