From 943aa9ef6fef7533a3566f230aaf878efe46725e Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Thu, 18 Nov 2021 13:27:04 +0100 Subject: PySide6: Add a sequence protocol for QRegion Pick-to: 6.2 Fixes: PYSIDE-1714 Change-Id: I581e8088e25ab31afdfc6cd5a15c55a5b418ffdc Reviewed-by: Christian Tismer --- sources/pyside6/PySide6/glue/qtgui.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'sources/pyside6/PySide6/glue/qtgui.cpp') diff --git a/sources/pyside6/PySide6/glue/qtgui.cpp b/sources/pyside6/PySide6/glue/qtgui.cpp index 39d5bf0ae..5630406a4 100644 --- a/sources/pyside6/PySide6/glue/qtgui.cpp +++ b/sources/pyside6/PySide6/glue/qtgui.cpp @@ -718,6 +718,20 @@ else %PYARG_0 = %CONVERTTOPYTHON[int](cppResult); // @snippet qdrag-exec-arg2 +// @snippet qregion-len +return %CPPSELF.rectCount(); +// @snippet qregion-len + +// @snippet qregion-getitem +if (_i < 0 || _i >= %CPPSELF.rectCount()) { + PyErr_SetString(PyExc_IndexError, "index out of bounds"); + return nullptr; +} + +const QRect cppResult = *(%CPPSELF.cbegin() + _i); +return %CONVERTTOPYTHON[QRect](cppResult); +// @snippet qregion-getitem + /********************************************************************* * CONVERSIONS ********************************************************************/ -- cgit v1.2.3