@@ -24,38 +24,45 @@ music = sfMusic_createFromFile(joinpath(@__DIR__, "Chrono_Trigger.ogg"))
24
24
25
25
sfMusic_play (music)
26
26
27
- event_ref = Ref {sfEvent} ()
28
-
29
- while Bool (sfRenderWindow_isOpen (window))
30
- # process events
31
- while Bool (sfRenderWindow_pollEvent (window, event_ref))
32
- # close window : exit
33
- event_ref[]. type == sfEvtClosed && sfRenderWindow_close (window)
34
- event_ref[]. type == sfEvtResized && println (" Trigger sfEvtResized." )
35
- event_ref[]. type == sfEvtLostFocus && println (" Trigger sfEvtLostFocus." )
36
- event_ref[]. type == sfEvtGainedFocus && println (" Trigger sfEvtGainedFocus." )
37
- event_ref[]. type == sfEvtTextEntered && println (" Trigger sfEvtTextEntered: $(event_ref[]. text. unicode) " )
38
- event_ref[]. type == sfEvtKeyPressed && println (" Trigger sfEvtKeyPressed: $(event_ref[]. key. code) " )
39
- event_ref[]. type == sfEvtKeyReleased && println (" Trigger sfEvtKeyReleased: $(event_ref[]. key. code) " )
40
- event_ref[]. type == sfEvtMouseWheelMoved && println (" Trigger sfEvtMouseWheelMoved: $(event_ref[]. mouseWheel. sfMouseVerticalWheel) " )
41
- event_ref[]. type == sfEvtMouseWheelScrolled && println (" Trigger sfEvtMouseWheelScrolled: $(event_ref[]. mouseWheel. sfMouseVerticalWheel) " )
42
- event_ref[]. type == sfEvtMouseButtonPressed && println (" Trigger sfEvtMouseButtonPressed: $(event_ref[]. mouseButton. button) " )
43
- event_ref[]. type == sfEvtMouseButtonReleased && println (" Trigger sfEvtMouseButtonReleased: $(event_ref[]. mouseButton. x) , $(event_ref[]. mouseButton. y) " )
44
- event_ref[]. type == sfEvtMouseMoved && println (" Trigger sfEvtMouseMoved: $(event_ref[]. mouseMove. x) , $(event_ref[]. mouseMove. y) " )
27
+ try
28
+ event_ref = Ref {sfEvent} ()
29
+ while Bool (sfRenderWindow_isOpen (window))
30
+ # process events
31
+ while Bool (sfRenderWindow_pollEvent (window, event_ref))
32
+ # close window : exit
33
+ event_ref[]. type == sfEvtClosed && sfRenderWindow_close (window)
34
+ event_ref[]. type == sfEvtResized && println (" Trigger sfEvtResized." )
35
+ event_ref[]. type == sfEvtLostFocus && println (" Trigger sfEvtLostFocus." )
36
+ event_ref[]. type == sfEvtGainedFocus && println (" Trigger sfEvtGainedFocus." )
37
+ event_ref[]. type == sfEvtTextEntered && println (" Trigger sfEvtTextEntered: $(event_ref[]. text. unicode) " )
38
+ event_ref[]. type == sfEvtKeyPressed && println (" Trigger sfEvtKeyPressed: $(event_ref[]. key. code) " )
39
+ event_ref[]. type == sfEvtKeyReleased && println (" Trigger sfEvtKeyReleased: $(event_ref[]. key. code) " )
40
+ event_ref[]. type == sfEvtMouseWheelMoved && println (" Trigger sfEvtMouseWheelMoved: $(event_ref[]. mouseWheel. x) , $(event_ref[]. mouseWheel. y) " )
41
+ event_ref[]. type == sfEvtMouseWheelScrolled && println (" Trigger sfEvtMouseWheelScrolled: $(event_ref[]. mouseWheelScroll. wheel) " )
42
+ event_ref[]. type == sfEvtMouseButtonPressed && println (" Trigger sfEvtMouseButtonPressed: $(event_ref[]. mouseButton. button) " )
43
+ event_ref[]. type == sfEvtMouseButtonReleased && println (" Trigger sfEvtMouseButtonReleased: $(event_ref[]. mouseButton. x) , $(event_ref[]. mouseButton. y) " )
44
+ event_ref[]. type == sfEvtMouseMoved && println (" Trigger sfEvtMouseMoved: $(event_ref[]. mouseMove. x) , $(event_ref[]. mouseMove. y) " )
45
+ end
46
+ # clear the screen
47
+ sfRenderWindow_clear (window, sfColor_fromRGBA (0 ,0 ,0 ,1 ))
48
+ # draw the sprite
49
+ sfRenderWindow_drawSprite (window, sprite, C_NULL )
50
+ # draw the text
51
+ sfRenderWindow_drawText (window, text, C_NULL )
52
+ # update the window
53
+ sfRenderWindow_display (window)
45
54
end
46
- # clear the screen
47
- sfRenderWindow_clear (window, sfColor_fromRGBA (0 ,0 ,0 ,1 ))
48
- # draw the sprite
49
- sfRenderWindow_drawSprite (window, sprite, C_NULL )
50
- # draw the text
51
- sfRenderWindow_drawText (window, text, C_NULL )
52
- # update the window
53
- sfRenderWindow_display (window)
55
+ catch e
56
+ @error " Error in renderloop!" exception= e
57
+ Base. show_backtrace (stderr , catch_backtrace ())
58
+ finally
59
+ sfMusic_destroy (music)
60
+ sfText_destroy (text)
61
+ sfFont_destroy (font)
62
+ sfSprite_destroy (sprite)
63
+ sfTexture_destroy (texture)
64
+ sfRenderWindow_destroy (window)
54
65
end
55
66
56
- sfMusic_destroy (music)
57
- sfText_destroy (text)
58
- sfFont_destroy (font)
59
- sfSprite_destroy (sprite)
60
- sfTexture_destroy (texture)
61
- sfRenderWindow_destroy (window)
67
+
68
+
0 commit comments