Imports System.Drawing
Imports System.Windows.Forms
Imports Wakaba

Module Module1

    Private w As Wakaba.Helper

    Sub Main()

        Try
            Dim blnIsPush As Boolean = False
            Dim intMode As Integer = 0

            w = New Wakaba.Helper

            w.Initialize()

            '背景スプライトを作成する
            w.SpriteCreate("背景", My.Resources.wall, Helper.TransparentColor.Red)
            w.SpritePosition("背景", 1, 0, 0)
            w.SpriteShow("背景")

            '背景に文字列を描画する
            w.SpriteText("背景", "スプライト反転テスト スペースキーを押してください" & vbNewLine & "ESCキーを押すと終了します", 32, 32, "MS ゴシック", 16, FontStyle.Bold, Brushes.Black)

            '若葉スプライトを作成する
            w.SpriteCreate("若葉", My.Resources.wakaba, Helper.TransparentColor.Red)
            w.SpritePosition("若葉", 0, 192, 112)
            w.SpriteShow("若葉")

            Do
                If w.KeyPush(Helper.KeyCodes.CodeSpace) And (Not blnIsPush) Then

                    blnIsPush = True

                    Select Case intMode
                        Case 0
                            w.SpriteReverse("若葉", Helper.Reverse.Horizon)
                            intMode += 1
                        Case 1
                            w.SpriteReverse("若葉", Helper.Reverse.Horizon)
                            intMode += 1
                        Case 2
                            w.SpriteReverse("若葉", Helper.Reverse.Vertical)
                            intMode += 1
                        Case 3
                            w.SpriteReverse("若葉", Helper.Reverse.Vertical)
                            intMode += 1
                        Case 4
                            intMode = 0
                            blnIsPush = False
                    End Select
                End If

                If Not w.KeyPush(Helper.KeyCodes.CodeSpace) Then
                    blnIsPush = False
                End If

                w.ScreenRefresh(True)
            Loop While Not w.WindowClosing And Not w.KeyPush(Helper.KeyCodes.CodeEscape)

        Catch ex As Exception
            MessageBox.Show(ex.Message & vbNewLine & ex.StackTrace)
        End Try

        w.Dispose()

    End Sub

End Module