OSDN Git Service

binding with libharu.
[putex/putex.git] / src / texsourc / lib / libhpdf / if / vb.net / demo / SlideShowDemo.vb
1 Imports HPdf
2
3 Module SlideShowDemo
4
5     Private rand As Random = New Random
6
7     Private Sub PrintPage(ByRef page As HPdfPage, ByVal caption As String, ByRef font As HPdfFont, _
8                                  ByVal type As HPdfTransitionStyle, ByRef prevpage As HPdfPage, ByRef nextpage As HPdfPage)
9
10         Dim r As Single = rand.Next(255) / 255
11         Dim g As Single = rand.Next(255) / 255
12         Dim b As Single = rand.Next(255) / 255
13         Dim rect As HPdfRect
14         Dim dst As HPdfDestination
15         Dim annot As HPdfAnnotation
16
17         page.SetWidth(800)
18         page.SetHeight(600)
19
20         page.SetRGBFill(r, g, b)
21
22         page.Rectangle(0, 0, 800, 600)
23         page.Fill()
24
25         page.SetRGBFill(1.0F - r, 1.0F - g, 1.0F - b)
26
27         page.SetFontAndSize(font, 30)
28
29         page.BeginText()
30         page.SetTextMatrix(0.8F, 0.0F, 0.0F, 1.0F, 0.0F, 0.0F)
31         page.TextOut(50, 530, caption)
32
33         page.SetTextMatrix(1.0F, 0.0F, 0.0F, 1.0F, 0.0F, 0.0F)
34         page.SetFontAndSize(font, 20)
35         page.TextOut(55, 300, "Type ""Ctrl+L"" in order to return from full screen mode.")
36         page.EndText()
37
38         page.SetSlideShow(type, 5.0F, 1.0F)
39
40         page.SetFontAndSize(font, 20)
41
42         If (Not nextpage Is Nothing) Then
43             page.BeginText()
44             page.TextOut(680, 50, "Next=>")
45             page.EndText()
46
47             rect.left = 680
48             rect.right = 750
49             rect.top = 70
50             rect.bottom = 50
51             dst = nextpage.CreateDestination()
52             dst.SetFit()
53             annot = page.CreateLinkAnnot(rect, dst)
54             annot.SetBorderStyle(0, 0, 0)
55             annot.SetHighlightMode(HPdfAnnotHighlightMode.HPDF_ANNOT_INVERT_BOX)
56         End If
57
58         If (Not prevpage Is Nothing) Then
59             page.BeginText()
60             page.TextOut(50, 50, "<=Prev")
61             page.EndText()
62
63             rect.left = 50
64             rect.right = 110
65             rect.top = 70
66             rect.bottom = 50
67             dst = prevpage.CreateDestination()
68             dst.SetFit()
69             annot = page.CreateLinkAnnot(rect, dst)
70             annot.SetBorderStyle(0, 0, 0)
71             annot.SetHighlightMode(HPdfAnnotHighlightMode.HPDF_ANNOT_INVERT_BOX)
72         End If
73
74
75     End Sub
76
77     Sub Main()
78         Console.WriteLine("libhpdf-" + HPdfDoc.HPdfGetVersion())
79
80         Try
81             Dim pdf As HPdfDoc = New HPdfDoc()
82             Dim page(17) As HPdfPage
83
84             ' create default-font 
85             Dim font As HPdfFont = pdf.GetFont("Courier", Nothing)
86
87             ' Add 17 pages to the document. '
88             For i As Integer = 1 To 17
89                 page(i) = pdf.AddPage()
90             Next
91
92             PrintPage(page(1), "HPDF_TS_WIPE_RIGHT", font, HPdfTransitionStyle.HPDF_TS_WIPE_RIGHT, Nothing, page(1))
93             PrintPage(page(2), "HPDF_TS_WIPE_UP", font, HPdfTransitionStyle.HPDF_TS_WIPE_UP, page(0), page(2))
94             PrintPage(page(3), "HPDF_TS_WIPE_LEFT", font, HPdfTransitionStyle.HPDF_TS_WIPE_LEFT, page(1), page(3))
95             PrintPage(page(4), "HPDF_TS_WIPE_DOWN", font, HPdfTransitionStyle.HPDF_TS_WIPE_DOWN, page(2), page(4))
96             PrintPage(page(5), "HPDF_TS_BARN_DOORS_HORIZONTAL_OUT", font, HPdfTransitionStyle.HPDF_TS_BARN_DOORS_HORIZONTAL_OUT, page(3), page(5))
97             PrintPage(page(6), "HPDF_TS_BARN_DOORS_HORIZONTAL_IN", font, HPdfTransitionStyle.HPDF_TS_BARN_DOORS_HORIZONTAL_IN, page(4), page(6))
98             PrintPage(page(7), "HPDF_TS_BARN_DOORS_VERTICAL_OUT", font, HPdfTransitionStyle.HPDF_TS_BARN_DOORS_VERTICAL_OUT, page(5), page(7))
99             PrintPage(page(8), "HPDF_TS_BARN_DOORS_VERTICAL_IN", font, HPdfTransitionStyle.HPDF_TS_BARN_DOORS_VERTICAL_IN, page(6), page(8))
100             PrintPage(page(9), "HPDF_TS_BOX_OUT", font, HPdfTransitionStyle.HPDF_TS_BOX_OUT, page(7), page(9))
101             PrintPage(page(10), "HPDF_TS_BOX_IN", font, HPdfTransitionStyle.HPDF_TS_BOX_IN, page(8), page(10))
102             PrintPage(page(11), "HPDF_TS_BLINDS_HORIZONTAL", font, HPdfTransitionStyle.HPDF_TS_BLINDS_HORIZONTAL, page(9), page(11))
103             PrintPage(page(12), "HPDF_TS_BLINDS_VERTICAL", font, HPdfTransitionStyle.HPDF_TS_BLINDS_VERTICAL, page(10), page(12))
104             PrintPage(page(13), "HPDF_TS_DISSOLVE", font, HPdfTransitionStyle.HPDF_TS_DISSOLVE, page(11), page(13))
105             PrintPage(page(14), "HPDF_TS_GLITTER_RIGHT", font, HPdfTransitionStyle.HPDF_TS_GLITTER_RIGHT, page(12), page(14))
106             PrintPage(page(15), "HPDF_TS_GLITTER_DOWN", font, HPdfTransitionStyle.HPDF_TS_GLITTER_DOWN, page(13), page(15))
107             PrintPage(page(16), "HPDF_TS_GLITTER_TOP_LEFT_TO_BOTTOM_RIGHT", font, HPdfTransitionStyle.HPDF_TS_GLITTER_TOP_LEFT_TO_BOTTOM_RIGHT, page(14), page(16))
108             PrintPage(page(17), "HPDF_TS_REPLACE", font, HPdfTransitionStyle.HPDF_TS_REPLACE, page(15), Nothing)
109
110             pdf.SetPageMode(HPdfPageMode.HPDF_PAGE_MODE_FULL_SCREEN)
111
112
113             ' save the document to a file 
114             pdf.SaveToFile("SlideShowDemo.pdf")
115
116         Catch ex As Exception
117             Console.Error.WriteLine(ex.Message)
118         End Try
119     End Sub
120 End Module