summaryrefslogtreecommitdiff
path: root/src/py/libcamera/pyenums.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/py/libcamera/pyenums.cpp')
-rw-r--r--src/py/libcamera/pyenums.cpp34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/py/libcamera/pyenums.cpp b/src/py/libcamera/pyenums.cpp
new file mode 100644
index 00000000..b655e622
--- /dev/null
+++ b/src/py/libcamera/pyenums.cpp
@@ -0,0 +1,34 @@
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
+/*
+ * Copyright (C) 2022, Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
+ *
+ * Python bindings - Enumerations
+ */
+
+#include <libcamera/libcamera.h>
+
+#include <pybind11/smart_holder.h>
+
+namespace py = pybind11;
+
+using namespace libcamera;
+
+void init_pyenums(py::module &m)
+{
+ py::enum_<StreamRole>(m, "StreamRole")
+ .value("StillCapture", StreamRole::StillCapture)
+ .value("Raw", StreamRole::Raw)
+ .value("VideoRecording", StreamRole::VideoRecording)
+ .value("Viewfinder", StreamRole::Viewfinder);
+
+ py::enum_<ControlType>(m, "ControlType")
+ .value("None", ControlType::ControlTypeNone)
+ .value("Bool", ControlType::ControlTypeBool)
+ .value("Byte", ControlType::ControlTypeByte)
+ .value("Integer32", ControlType::ControlTypeInteger32)
+ .value("Integer64", ControlType::ControlTypeInteger64)
+ .value("Float", ControlType::ControlTypeFloat)
+ .value("String", ControlType::ControlTypeString)
+ .value("Rectangle", ControlType::ControlTypeRectangle)
+ .value("Size", ControlType::ControlTypeSize);
+}