diff options
author | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2017-10-03 12:32:52 +0300 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2017-10-03 12:33:11 +0300 |
commit | fab9bb700372008130e5026fa9fe5fd22ac6ec4e (patch) | |
tree | 1e83b437762697ab833bd8c22896b8733593ca5f /py/pykms | |
parent | 33f343d18d5d1886dd04314bded1781c3e46f7e7 (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/pykms')
-rw-r--r-- | py/pykms/pykmsbase.cpp | 10 | ||||
-rw-r--r-- | py/pykms/pykmsomap.cpp | 2 | ||||
-rw-r--r-- | py/pykms/pykmsutil.cpp | 10 |
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); } ); } |