Rename GP_Context -> GP_Pixmap
[gfxprim.git] / demos / py_simple / backends.py
blob84715526aa2cc8d2745706e69f11d20bfe5d89c8
1 #!/usr/bin/env python
3 import sys
5 import gfxprim.core as core
6 import gfxprim.backends as backends
7 import gfxprim.gfx as gfx
8 import gfxprim.text as text
9 import gfxprim.input as input
11 def redraw(bk):
12 c = bk.pixmap
14 black = c.RGBToPixel(0, 0, 0)
15 white = c.RGBToPixel(0xff, 0xff, 0xff)
17 c.gfx.Fill(black)
19 align = text.C.ALIGN_CENTER | text.C.VALIGN_CENTER
20 c.text.Text(None, c.w//2, c.h//2, align, white, black, "Hello World!")
22 bk.Flip()
24 def main():
25 backend_string = "X11:100x100"
27 if len(sys.argv) == 2:
28 backend_string = sys.argv[1]
30 if len(sys.argv) > 2:
31 print("Usage: %s [backend init string]" % sys.argv[0])
32 sys.exit(1)
34 # Create backend window
35 bk = backends.BackendInit(backend_string, "Backend Example")
36 assert(bk)
38 redraw(bk)
40 # Event loop
41 while True:
42 ev = bk.WaitEvent()
44 input.EventDump(ev)
46 if (ev.type == input.EV_KEY):
47 sys.exit(0)
48 elif (ev.type == input.EV_SYS):
49 if (ev.code == input.EV_SYS_QUIT):
50 sys.exit(0)
51 if (ev.code == input.EV_SYS_RESIZE):
52 bk.ResizeAck()
53 redraw(bk)
55 if __name__ == '__main__':
56 main()