Home | History | Annotate | Download | only in tests
      1 #!/usr/bin/python3 -i
      2 
      3 # This is a base script for interactive kms++ python environment
      4 
      5 import pykms
      6 from time import sleep
      7 from math import sin
      8 from math import cos
      9 
     10 card = pykms.Card()
     11 res = pykms.ResourceManager(card)
     12 conn = res.reserve_connector()
     13 crtc = res.reserve_crtc(conn)
     14 
     15 mode = conn.get_default_mode()
     16 
     17 fb = pykms.DumbFramebuffer(card, 200, 200, "XR24");
     18 pykms.draw_test_pattern(fb);
     19 
     20 #crtc.set_mode(conn, fb, mode)
     21 
     22 i = 0
     23 for p in card.planes:
     24     globals()["plane"+str(i)] = p
     25     i=i+1
     26 
     27 i = 0
     28 for c in card.crtcs:
     29     globals()["crtc"+str(i)] = c
     30     i=i+1
     31 
     32 for p in crtc.possible_planes:
     33     if p.plane_type == pykms.PlaneType.Overlay:
     34         plane = p
     35         break
     36 
     37 def set_plane(x, y):
     38     crtc.set_plane(plane, fb, x, y, fb.width, fb.height, 0, 0, fb.width, fb.height)
     39 
     40 set_plane(0, 0)
     41 
     42 # for x in range(0, crtc.width() - fb.width()): set_plane(x, int((sin(x/50) + 1) * 100)); sleep(0.01)
     43