From 2bb6c9fbd2e2dac0b266b6762401db142fe47475 Mon Sep 17 00:00:00 2001
From: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Date: Wed, 18 May 2022 16:13:25 +0300
Subject: py: Use geometry classes

Now that we have proper geometry classes in the Python bindings, change
the existing bindings and the .py files accordingly.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
 src/py/cam/cam.py      | 7 +++++--
 src/py/cam/cam_kms.py  | 3 ++-
 src/py/cam/cam_qt.py   | 7 ++++---
 src/py/cam/cam_qtgl.py | 3 ++-
 4 files changed, 13 insertions(+), 7 deletions(-)

(limited to 'src/py/cam')

diff --git a/src/py/cam/cam.py b/src/py/cam/cam.py
index 001fb9de..2f0690b5 100755
--- a/src/py/cam/cam.py
+++ b/src/py/cam/cam.py
@@ -160,8 +160,11 @@ def configure(ctx):
     for idx, stream_opts in enumerate(streams):
         stream_config = camconfig.at(idx)
 
-        if 'width' in stream_opts and 'height' in stream_opts:
-            stream_config.size = (stream_opts['width'], stream_opts['height'])
+        if 'width' in stream_opts:
+            stream_config.size.width = stream_opts['width']
+
+        if 'height' in stream_opts:
+            stream_config.size.height = stream_opts['height']
 
         if 'pixelformat' in stream_opts:
             stream_config.pixel_format = libcam.PixelFormat(stream_opts['pixelformat'])
diff --git a/src/py/cam/cam_kms.py b/src/py/cam/cam_kms.py
index 04381da1..74cd3b38 100644
--- a/src/py/cam/cam_kms.py
+++ b/src/py/cam/cam_kms.py
@@ -126,7 +126,8 @@ class KMSRenderer:
                 })
 
                 for fb in ctx['allocator'].buffers(stream):
-                    w, h = cfg.size
+                    w = cfg.size.width
+                    h = cfg.size.height
                     fds = []
                     strides = []
                     offsets = []
diff --git a/src/py/cam/cam_qt.py b/src/py/cam/cam_qt.py
index 45a30aeb..91be2a08 100644
--- a/src/py/cam/cam_qt.py
+++ b/src/py/cam/cam_qt.py
@@ -84,8 +84,8 @@ def demosaic(data, r0, g0, g1, b0):
 
 
 def to_rgb(fmt, size, data):
-    w = size[0]
-    h = size[1]
+    w = size.width
+    h = size.height
 
     fmt = str(fmt)
 
@@ -292,7 +292,8 @@ class MainWindow(QtWidgets.QWidget):
     def buf_to_qpixmap(self, stream, fb):
         with fb.mmap() as mfb:
             cfg = stream.configuration
-            w, h = cfg.size
+            w = cfg.size.width
+            h = cfg.size.height
             pitch = cfg.stride
 
             if str(cfg.pixel_format) == 'MJPEG':
diff --git a/src/py/cam/cam_qtgl.py b/src/py/cam/cam_qtgl.py
index 261accb8..4bbcda6c 100644
--- a/src/py/cam/cam_qtgl.py
+++ b/src/py/cam/cam_qtgl.py
@@ -268,7 +268,8 @@ class MainWindow(QtWidgets.QWidget):
     def create_texture(self, stream, fb):
         cfg = stream.configuration
         fmt = cfg.pixel_format.fourcc
-        w, h = cfg.size
+        w = cfg.size.width
+        h = cfg.size.height
 
         attribs = [
             EGL_WIDTH, w,
-- 
cgit v1.2.1