kmscube: fix resource leaks & freeing
[android/external-libkmsxx.git] / py / iact.py
1 #!/usr/bin/python3 -i
3 # This is a base script for interactive libkms python environment
5 import pykms
6 from time import sleep
7 from math import sin
8 from math import cos
10 card = pykms.Card()
12 conn = card.get_first_connected_connector()
14 mode = conn.get_default_mode()
16 fb = pykms.DumbFramebuffer(card, 200, 200, "XR24");
17 pykms.draw_test_pattern(fb);
19 crtc = conn.get_current_crtc()
21 #crtc.set_mode(conn, fb, mode)
23 i = 0
24 for p in card.get_planes():
25     globals()["plane"+str(i)] = p
26     i=i+1
28 i = 0
29 for c in card.get_crtcs():
30     globals()["crtc"+str(i)] = c
31     i=i+1
33 for p in crtc.get_possible_planes():
34     if p.plane_type() == 0:
35         plane = p
36         break
38 def set_plane(x, y):
39     crtc.set_plane(plane, fb, x, y, fb.width(), fb.height(), 0, 0, fb.width(), fb.height())
41 def props(o):
42     o.refresh_props()
43     map = o.get_prop_map()
44     for propid in map:
45         prop = card.get_prop(propid)
46         print("%-15s %d (%#x)" % (prop.name(), map[propid], map[propid]))
48 set_plane(0, 0)
50 # for x in range(0, crtc.width() - fb.width()): set_plane(x, int((sin(x/50) + 1) * 100)); sleep(0.01)