]> gitweb.factorcode.org Git - factor.git/blob - extra/raylib/demo/gui/gui.factor
factor: trim using lists
[factor.git] / extra / raylib / demo / gui / gui.factor
1 ! Copyright (C) 2019 Jack Lucas
2 ! See http://factorcode.org/license.txt for BSD license.
3
4 USING: alien.enums kernel raylib ;
5
6 IN: raylib.demo.gui
7
8 : make-window ( -- )
9     800 600 "Hello, Factor!" init-window
10     60 set-target-fps ;
11
12 : button-rec ( -- button )
13     50 50 100 100 Rectangle boa ;
14
15 : white-background ( -- )
16     RAYWHITE clear-background ;
17
18 : say-hello ( -- )
19     "Hello Factor!" 4 4 30 RED draw-text ;
20
21 : set-button-style ( -- )
22     BUTTON enum>number
23     TEXT_ALIGNMENT enum>number
24     GUI_TEXT_ALIGN_LEFT enum>number
25     gui-set-style ;
26
27 : draw-button ( -- )
28     set-button-style
29     button-rec "Button"
30     gui-button drop ;
31
32 : render-gui ( -- )
33     gui-lock
34     draw-button
35     gui-unlock ;
36
37 : render-loop ( -- )
38     begin-drawing white-background
39     say-hello render-gui end-drawing ;
40
41 : main ( -- )
42     make-window [
43         render-loop
44         window-should-close not
45     ] loop close-window ;
46
47 MAIN: main