Skip to content

Commit 52348f4

Browse files
committed
support coercion of QMarginsF (>=5.3) to double vector
1 parent 1d6da84 commit 52348f4

File tree

3 files changed

+19
-0
lines changed

3 files changed

+19
-0
lines changed

R/coerce.R

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,3 +36,6 @@ as.list.QSignalSpy <- function(x, ...) .Call("qt_coerce_QSignalSpy", x, PACKAGE=
3636
as.vector.QMargins <- function(x, mode) as.vector(as.integer(x), mode)
3737
as.integer.QMargins <- function(x, ...) .Call("qt_coerce_QMargins", x, PACKAGE="qtbase")
3838

39+
as.vector.QMarginsF <- function(x, mode) as.vector(as.integer(x), mode)
40+
as.integer.QMarginsF <- function(x, ...) .Call("qt_coerce_QMarginsF", x, PACKAGE="qtbase")
41+

man/RQtObject.Rd

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
\item{\code{QPolygon(F)}}{=> \code{matrix}}
4040
\item{\code{QTransform}}{=> \code{matrix}}
4141
\item{\code{QColor}}{=> \code{matrix}}
42+
\item{\code{QMargins(F)}}{=> \code{vector}, \code{integer} (\code{double})}
4243
}
4344
}
4445
\seealso{

src/convert.cpp

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -809,6 +809,18 @@ SEXP to_sexp(QMargins margins) {
809809
return rmargins;
810810
}
811811

812+
#if QT_VERSION >= 0x50300
813+
SEXP to_sexp(QMarginsF margins) {
814+
SEXP rmargins = allocVector(REALSXP, 4);
815+
double *rptr = REAL(rmargins);
816+
rptr[0] = margins.bottom();
817+
rptr[1] = margins.left();
818+
rptr[2] = margins.top();
819+
rptr[3] = margins.right();
820+
return rmargins;
821+
}
822+
#endif
823+
812824
#ifdef QT_TESTLIB_LIB
813825
DEF_COLLECTION_CONVERTERS(QList, QTestEvent*, ptr)
814826
SEXP to_sexp(QTestEventList eventList) {
@@ -895,6 +907,9 @@ DEF_COERCE_ENTRY_POINT(QColor)
895907
DEF_COERCE_ENTRY_POINT(QChar)
896908
DEF_COERCE_ENTRY_POINT(QItemSelection)
897909
DEF_COERCE_ENTRY_POINT(QMargins)
910+
#if QT_VERSION >= 0x50300
911+
DEF_COERCE_ENTRY_POINT(QMarginsF)
912+
#endif
898913

899914
#ifdef QT_TESTLIB_LIB
900915
SEXP qt_coerce_QSignalSpy(SEXP sexp) {

0 commit comments

Comments
 (0)