summaryrefslogtreecommitdiff
path: root/bindings/main.py
blob: fbb8bb93af6d7239e2a0fa57b92fdb203d4f47a3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# class
import minimgui as ui

class App:
    def __init__(self):
        self.time = 0

    def loop(self, dt):
        self.time += dt
        ui.rectangle(
            self.time, 0.1,
            0.2, 0.2,
            color = 0x0000ffff
        )

ui.run(App().loop)

# global
"""
import minimgui as ui

time = 0
def loop(dt):
    global time
    time += dt
    ui.rectangle(
        time, 0.1,
        0.2, 0.2,
        color = 0x0000ffff
    )

ui.run()
"""

# closure
"""
import minimgui as ui

def app():
    time = 0
    def loop(dt):
        nonlocal time
        time += dt
        ui.rectangle(
            time, 0.1,
            0.2, 0.2,
            color = 0x0000ffff
        )
    return loop

ui.run(app())
"""

# dataclass
"""
import minimgui as ui
from dataclasses import dataclass

@dataclass
class State:
    time: float = 0.0
state = State()

def loop(dt):
    state.time += dt
    ui.rectangle(
        state.time, 0.1,
        0.2, 0.2,
        color = 0x0000ffff
    )

ui.run()
"""