112 lines
2.2 KiB
Text
112 lines
2.2 KiB
Text
|
' Gambas class file
|
||
|
|
||
|
Private currentDoc As CpdfPresentation
|
||
|
'PUBLIC Screen AS NEW Window(TRUE) AS "Screen"
|
||
|
Private currentLogo As Clogo
|
||
|
|
||
|
Public Sub glaPresentation_Draw()
|
||
|
|
||
|
If Not currentDoc Then Return
|
||
|
|
||
|
If Not MMain.ShowLogo Then
|
||
|
currentDoc.Draw()
|
||
|
Else
|
||
|
currentLogo.Draw()
|
||
|
If currentLogo.Finished = True Then MMain.ShowLogo = False
|
||
|
Endif
|
||
|
|
||
|
End
|
||
|
|
||
|
Public Sub glaPresentation_KeyPress()
|
||
|
|
||
|
If Key.code = Key.Escape Then Me.Close()
|
||
|
|
||
|
If Key.Code = key["f"] Then
|
||
|
Me.FullScreen = Not Me.Fullscreen
|
||
|
panSelect.Visible = Not Me.FullScreen
|
||
|
Endif
|
||
|
|
||
|
If Not MMain.ShowLogo Then
|
||
|
' right arrow
|
||
|
If Key.Code = Key.Right Then currentDoc.MoveNext()
|
||
|
' left arrow
|
||
|
If Key.code = Key.Left Then currentDoc.MovePrev()
|
||
|
Else
|
||
|
If Key.Code = Key.Space Then currentLogo.Quit()
|
||
|
Endif
|
||
|
|
||
|
End
|
||
|
|
||
|
Public Sub glaPresentation_Resize()
|
||
|
|
||
|
If Not currentDoc Then Return
|
||
|
|
||
|
If MMain.ShowLogo Then
|
||
|
currentLogo.Resize(glaPresentation.Width, glaPresentation.Height)
|
||
|
Else
|
||
|
currentDoc.Resize(glaPresentation.Width, glaPresentation.Height)
|
||
|
Endif
|
||
|
|
||
|
End
|
||
|
|
||
|
Public Sub Form_Open()
|
||
|
|
||
|
glaPresentation.SetFocus
|
||
|
|
||
|
End
|
||
|
|
||
|
Public Sub timUpdate_Timer()
|
||
|
|
||
|
glaPresentation.Refresh
|
||
|
|
||
|
End
|
||
|
|
||
|
Public Sub btnPath_Click()
|
||
|
|
||
|
Dim sPath As String
|
||
|
|
||
|
Dialog.Title = ("Select a PDF file")
|
||
|
Dialog.Filter = ["*.pdf", ("PDF files")]
|
||
|
If Dialog.OpenFile() Then Return
|
||
|
sPath = Dialog.Path
|
||
|
txtPath.Text = sPath
|
||
|
|
||
|
timUpdate.Stop
|
||
|
|
||
|
CurrentDoc = New CpdfPresentation(sPath, MMain.FrameRate)
|
||
|
currentDoc.Effect = currentDoc.Rotate
|
||
|
|
||
|
currentLogo = New Clogo(MMain.FrameRate)
|
||
|
|
||
|
glaPresentation_Resize
|
||
|
|
||
|
timUpdate.Delay = 1000 / MMain.FrameRate
|
||
|
Print "Frame rate is "; Format(1000 / timUpdate.Delay, "#.##"); " images by second"
|
||
|
timUpdate.Start
|
||
|
|
||
|
glaPresentation.SetFocus
|
||
|
|
||
|
End
|
||
|
|
||
|
Public Sub glaPresentation_MouseWheel()
|
||
|
|
||
|
If Not currentDoc Then Return
|
||
|
If MMain.ShowLogo Then Return
|
||
|
|
||
|
If Mouse.Delta < 0 Then
|
||
|
currentDoc.ZoomIn
|
||
|
Else
|
||
|
currentDoc.ZoomOut
|
||
|
Endif
|
||
|
|
||
|
|
||
|
End
|
||
|
|
||
|
Public Sub btnHelp_Click()
|
||
|
|
||
|
Message("<h2>PDFPresentation example</h2><i>Made by Laurent Carlier & Benoît Minisini.</i><p>"
|
||
|
"Select a PDF file, then press SPACE. Use the left and right arrows to flick through the document.")
|
||
|
glaPresentation.SetFocus
|
||
|
|
||
|
End
|