xref: /aosp_15_r20/external/libkmsxx/py/tests/iact.py (revision f0687c8a10b3e371dbe09214db6664e37c283cca)
1*f0687c8aSRaman Tenneti#!/usr/bin/python3 -i
2*f0687c8aSRaman Tenneti
3*f0687c8aSRaman Tenneti# This is a base script for interactive kms++ python environment
4*f0687c8aSRaman Tenneti
5*f0687c8aSRaman Tennetiimport pykms
6*f0687c8aSRaman Tennetifrom time import sleep
7*f0687c8aSRaman Tennetifrom math import sin
8*f0687c8aSRaman Tennetifrom math import cos
9*f0687c8aSRaman Tenneti
10*f0687c8aSRaman Tenneticard = pykms.Card()
11*f0687c8aSRaman Tennetires = pykms.ResourceManager(card)
12*f0687c8aSRaman Tenneticonn = res.reserve_connector()
13*f0687c8aSRaman Tenneticrtc = res.reserve_crtc(conn)
14*f0687c8aSRaman Tenneti
15*f0687c8aSRaman Tennetimode = conn.get_default_mode()
16*f0687c8aSRaman Tenneti
17*f0687c8aSRaman Tennetifb = pykms.DumbFramebuffer(card, 200, 200, "XR24");
18*f0687c8aSRaman Tennetipykms.draw_test_pattern(fb);
19*f0687c8aSRaman Tenneti
20*f0687c8aSRaman Tenneti#crtc.set_mode(conn, fb, mode)
21*f0687c8aSRaman Tenneti
22*f0687c8aSRaman Tennetii = 0
23*f0687c8aSRaman Tennetifor p in card.planes:
24*f0687c8aSRaman Tenneti    globals()["plane"+str(i)] = p
25*f0687c8aSRaman Tenneti    i=i+1
26*f0687c8aSRaman Tenneti
27*f0687c8aSRaman Tennetii = 0
28*f0687c8aSRaman Tennetifor c in card.crtcs:
29*f0687c8aSRaman Tenneti    globals()["crtc"+str(i)] = c
30*f0687c8aSRaman Tenneti    i=i+1
31*f0687c8aSRaman Tenneti
32*f0687c8aSRaman Tennetifor p in crtc.possible_planes:
33*f0687c8aSRaman Tenneti    if p.plane_type == pykms.PlaneType.Overlay:
34*f0687c8aSRaman Tenneti        plane = p
35*f0687c8aSRaman Tenneti        break
36*f0687c8aSRaman Tenneti
37*f0687c8aSRaman Tennetidef set_plane(x, y):
38*f0687c8aSRaman Tenneti    crtc.set_plane(plane, fb, x, y, fb.width, fb.height, 0, 0, fb.width, fb.height)
39*f0687c8aSRaman Tenneti
40*f0687c8aSRaman Tennetiset_plane(0, 0)
41*f0687c8aSRaman Tenneti
42*f0687c8aSRaman Tenneti# for x in range(0, crtc.width() - fb.width()): set_plane(x, int((sin(x/50) + 1) * 100)); sleep(0.01)
43