summaryrefslogtreecommitdiff
path: root/py
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@ti.com>2017-10-03 12:32:52 +0300
committerTomi Valkeinen <tomi.valkeinen@ti.com>2017-10-03 12:33:11 +0300
commitfab9bb700372008130e5026fa9fe5fd22ac6ec4e (patch)
tree1e83b437762697ab833bd8c22896b8733593ca5f /py
parent33f343d18d5d1886dd04314bded1781c3e46f7e7 (diff)
Rework framebuffer classes
Drop (I)MappedFramebuffer, as it doesn't really provide any value, and have most of the methods be present in IFramebuffer with default exception throwing implementation. This gives us simpler way to use the framebuffers, as almost always we can just use a pointer to IFramebuffer.
Diffstat (limited to 'py')
-rw-r--r--py/pykms/pykmsbase.cpp10
-rw-r--r--py/pykms/pykmsomap.cpp2
-rw-r--r--py/pykms/pykmsutil.cpp10
3 files changed, 11 insertions, 11 deletions
diff --git a/py/pykms/pykmsbase.cpp b/py/pykms/pykmsbase.cpp
index e53fe54..258167a 100644
--- a/py/pykms/pykmsbase.cpp
+++ b/py/pykms/pykmsbase.cpp
@@ -102,12 +102,12 @@ void init_pykmsbase(py::module &m)
py::class_<Framebuffer>(m, "Framebuffer", py::base<DrmObject>())
;
- py::class_<MappedFramebuffer>(m, "MappedFramebuffer", py::base<Framebuffer>())
- .def_property_readonly("width", &MappedFramebuffer::width)
- .def_property_readonly("height", &MappedFramebuffer::height)
+ py::class_<Framebuffer>(m, "Framebuffer", py::base<Framebuffer>())
+ .def_property_readonly("width", &Framebuffer::width)
+ .def_property_readonly("height", &Framebuffer::height)
;
- py::class_<DumbFramebuffer>(m, "DumbFramebuffer", py::base<MappedFramebuffer>())
+ py::class_<DumbFramebuffer>(m, "DumbFramebuffer", py::base<Framebuffer>())
.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>(),
@@ -119,7 +119,7 @@ void init_pykmsbase(py::module &m)
.def("offset", &DumbFramebuffer::offset)
;
- py::class_<ExtFramebuffer>(m, "ExtFramebuffer", py::base<MappedFramebuffer>())
+ py::class_<ExtFramebuffer>(m, "ExtFramebuffer", py::base<Framebuffer>())
.def(py::init<Card&, uint32_t, uint32_t, PixelFormat, vector<int>, vector<uint32_t>, vector<uint32_t>>(),
py::keep_alive<1, 2>()) // Keep Card alive until this is destructed
;
diff --git a/py/pykms/pykmsomap.cpp b/py/pykms/pykmsomap.cpp
index 0c3a8ee..2662a18 100644
--- a/py/pykms/pykmsomap.cpp
+++ b/py/pykms/pykmsomap.cpp
@@ -14,7 +14,7 @@ void init_pykmsomap(py::module &m)
.def(py::init<>())
;
- py::class_<OmapFramebuffer> omapfb(m, "OmapFramebuffer", py::base<MappedFramebuffer>());
+ py::class_<OmapFramebuffer> omapfb(m, "OmapFramebuffer", py::base<Framebuffer>());
// XXX we should use py::arithmetic() here to support or and and operators, but it's not supported in the pybind11 we use
py::enum_<OmapFramebuffer::Flags>(omapfb, "Flags")
diff --git a/py/pykms/pykmsutil.cpp b/py/pykms/pykmsutil.cpp
index a5a6041..10dee81 100644
--- a/py/pykms/pykmsutil.cpp
+++ b/py/pykms/pykmsutil.cpp
@@ -47,16 +47,16 @@ void init_pykmstest(py::module &m)
.value("BT709_Full", YUVType::BT709_Full)
;
- // Use lambdas to handle IMappedFramebuffer
- m.def("draw_test_pattern", [](MappedFramebuffer& fb, YUVType yuvt) { draw_test_pattern(fb, yuvt); },
+ // Use lambdas to handle IFramebuffer
+ m.def("draw_test_pattern", [](Framebuffer& fb, YUVType yuvt) { draw_test_pattern(fb, yuvt); },
py::arg("fb"),
py::arg("yuvt") = YUVType::BT601_Lim);
- m.def("draw_color_bar", [](MappedFramebuffer& fb, int old_xpos, int xpos, int width) {
+ m.def("draw_color_bar", [](Framebuffer& fb, int old_xpos, int xpos, int width) {
draw_color_bar(fb, old_xpos, xpos, width);
} );
- m.def("draw_rect", [](MappedFramebuffer& fb, uint32_t x, uint32_t y, uint32_t w, uint32_t h, RGB color) {
+ m.def("draw_rect", [](Framebuffer& fb, uint32_t x, uint32_t y, uint32_t w, uint32_t h, RGB color) {
draw_rect(fb, x, y, w, h, color);
} );
- m.def("draw_text", [](MappedFramebuffer& fb, uint32_t x, uint32_t y, const string& str, RGB color) {
+ m.def("draw_text", [](Framebuffer& fb, uint32_t x, uint32_t y, const string& str, RGB color) {
draw_text(fb, x, y, str, color); } );
}