diff options
| author | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2016-11-22 12:52:14 +0200 | 
|---|---|---|
| committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2016-11-22 12:52:14 +0200 | 
| commit | 1e96518a1ee7fc65f212fa1fa76805003bed34e1 (patch) | |
| tree | 3d1ca991f22b23e678b286deaf7fe11e9f14c960 /py | |
| parent | cb747ea27451266c6d340a018aedcd0675a18b00 (diff) | |
py: Add MappedFramebuffer and use it
Add MappedFramebuffer to python bindings and use it for the draw
functions.
Looks like recent pybind11 versions have better multi-inheritance
support, so all this need to be revisited after updating pybind11.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'py')
| -rw-r--r-- | py/pykmsbase.cpp | 7 | ||||
| -rw-r--r-- | py/pykmsutil.cpp | 6 | 
2 files changed, 8 insertions, 5 deletions
diff --git a/py/pykmsbase.cpp b/py/pykmsbase.cpp index 3ce5676..9f20fdb 100644 --- a/py/pykmsbase.cpp +++ b/py/pykmsbase.cpp @@ -87,10 +87,13 @@ void init_pykmsbase(py::module &m)  			.def_property_readonly("data", &Blob::data)  			; -	py::class_<Framebuffer>(m, "Framebuffer",  py::base<DrmObject>()) +	py::class_<Framebuffer>(m, "Framebuffer", py::base<DrmObject>())  			; -	py::class_<DumbFramebuffer>(m, "DumbFramebuffer",  py::base<Framebuffer>()) +	py::class_<MappedFramebuffer>(m, "MappedFramebuffer", py::base<Framebuffer>()) +			; + +	py::class_<DumbFramebuffer>(m, "DumbFramebuffer", py::base<MappedFramebuffer>())  			.def(py::init<Card&, uint32_t, uint32_t, const string&>(),  			     py::keep_alive<1, 2>())	// Keep Card alive until this is destructed  			.def(py::init<Card&, uint32_t, uint32_t, PixelFormat>(), diff --git a/py/pykmsutil.cpp b/py/pykmsutil.cpp index ab9f5a8..b3b7594 100644 --- a/py/pykmsutil.cpp +++ b/py/pykmsutil.cpp @@ -39,11 +39,11 @@ void init_pykmstest(py::module &m)  			;  	// Use lambdas to handle IMappedFramebuffer -	m.def("draw_test_pattern", [](DumbFramebuffer& fb) { draw_test_pattern(fb); } ); -	m.def("draw_color_bar", [](DumbFramebuffer& fb, int old_xpos, int xpos, int width) { +	m.def("draw_test_pattern", [](MappedFramebuffer& fb) { draw_test_pattern(fb); } ); +	m.def("draw_color_bar", [](MappedFramebuffer& fb, int old_xpos, int xpos, int width) {  		draw_color_bar(fb, old_xpos, xpos, width);  	} ); -	m.def("draw_rect", [](DumbFramebuffer& fb, uint32_t x, uint32_t y, uint32_t w, uint32_t h, RGB color) { +	m.def("draw_rect", [](MappedFramebuffer& fb, uint32_t x, uint32_t y, uint32_t w, uint32_t h, RGB color) {  		draw_rect(fb, x, y, w, h, color);  	} );  }  | 
