summaryrefslogtreecommitdiff
path: root/py/pykmsutil.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'py/pykmsutil.cpp')
-rw-r--r--py/pykmsutil.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/py/pykmsutil.cpp b/py/pykmsutil.cpp
new file mode 100644
index 0000000..407330d
--- /dev/null
+++ b/py/pykmsutil.cpp
@@ -0,0 +1,31 @@
+#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
+#include <kms++.h>
+#include "kmstest.h"
+
+namespace py = pybind11;
+
+using namespace kms;
+using namespace std;
+
+void init_pykmstest(py::module &m)
+{
+ py::class_<RGB>(m, "RGB")
+ .def(py::init<>())
+ .def(py::init<uint8_t, uint8_t, uint8_t&>())
+ .def(py::init<uint8_t, uint8_t, uint8_t, uint8_t&>())
+ .def_property_readonly("rgb888", &RGB::rgb888)
+ .def_property_readonly("argb8888", &RGB::argb8888)
+ .def_property_readonly("abgr8888", &RGB::abgr8888)
+ .def_property_readonly("rgb565", &RGB::rgb565)
+ ;
+
+ // 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) {
+ 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) {
+ draw_rect(fb, x, y, w, h, color);
+ } );
+}