cxx_qt_lib/core/qvector/
qvector_qrectf.rs

1// SPDX-FileCopyrightText: 2022 Klarälvdalens Datakonsult AB, a KDAB Group company <info@kdab.com>
2// SPDX-FileContributor: Andrew Hayzen <andrew.hayzen@kdab.com>
3//
4// SPDX-License-Identifier: MIT OR Apache-2.0
5
6#[cxx::bridge]
7pub mod ffi {
8    unsafe extern "C++" {
9        include!("cxx-qt-lib/qrectf.h");
10        type QRectF = crate::QRectF;
11
12        include!("cxx-qt-lib/qvector.h");
13        type QVector_QRectF = crate::QVector<QRectF>;
14    }
15
16    unsafe extern "C++" {
17        #[rust_name = "cxx_clear"]
18        fn clear(self: &mut QVector_QRectF);
19        #[rust_name = "cxx_contains"]
20        fn contains(self: &QVector_QRectF, _: &QRectF) -> bool;
21    }
22
23    #[namespace = "rust::cxxqtlib1"]
24    unsafe extern "C++" {
25        include!("cxx-qt-lib/common.h");
26
27        #[rust_name = "qvector_clone_QRectF"]
28        fn construct(_: &QVector_QRectF) -> QVector_QRectF;
29        #[rust_name = "qvector_default_QRectF"]
30        fn construct() -> QVector_QRectF;
31        #[rust_name = "qvector_drop_QRectF"]
32        fn drop(_: &mut QVector_QRectF);
33    }
34
35    #[namespace = "rust::cxxqtlib1::qvector"]
36    unsafe extern "C++" {
37        #[rust_name = "reserve_QRectF"]
38        fn qvectorReserve(_: &mut QVector_QRectF, size: isize);
39        #[rust_name = "append_QRectF"]
40        fn qvectorAppend(_: &mut QVector_QRectF, _: &QRectF);
41        #[rust_name = "get_unchecked_QRectF"]
42        unsafe fn qvectorGetUnchecked(set: &QVector_QRectF, pos: isize) -> &QRectF;
43        #[rust_name = "index_of_QRectF"]
44        fn qvectorIndexOf(_: &QVector_QRectF, _: &QRectF) -> isize;
45        #[rust_name = "insert_QRectF"]
46        fn qvectorInsert(_: &mut QVector_QRectF, _: isize, _: &QRectF);
47        #[rust_name = "remove_QRectF"]
48        fn qvectorRemove(_: &mut QVector_QRectF, _: isize);
49        #[rust_name = "len_QRectF"]
50        fn qvectorLen(_: &QVector_QRectF) -> isize;
51    }
52}
53
54pub(crate) fn append(v: &mut ffi::QVector_QRectF, value: &ffi::QRectF) {
55    ffi::append_QRectF(v, value);
56}
57
58pub(crate) fn clone(s: &ffi::QVector_QRectF) -> ffi::QVector_QRectF {
59    ffi::qvector_clone_QRectF(s)
60}
61
62pub(crate) fn reserve(v: &mut ffi::QVector_QRectF, size: isize) {
63    ffi::reserve_QRectF(v, size);
64}
65
66pub(crate) fn default() -> ffi::QVector_QRectF {
67    ffi::qvector_default_QRectF()
68}
69
70pub(crate) fn drop(s: &mut ffi::QVector_QRectF) {
71    ffi::qvector_drop_QRectF(s);
72}
73
74pub(crate) unsafe fn get_unchecked(s: &ffi::QVector_QRectF, pos: isize) -> &ffi::QRectF {
75    ffi::get_unchecked_QRectF(s, pos)
76}
77
78pub(crate) fn index_of(v: &ffi::QVector_QRectF, value: &ffi::QRectF) -> isize {
79    ffi::index_of_QRectF(v, value)
80}
81
82pub(crate) fn insert(s: &mut ffi::QVector_QRectF, pos: isize, value: &ffi::QRectF) {
83    ffi::insert_QRectF(s, pos, value);
84}
85
86pub(crate) fn len(s: &ffi::QVector_QRectF) -> isize {
87    ffi::len_QRectF(s)
88}
89
90pub(crate) fn remove(s: &mut ffi::QVector_QRectF, pos: isize) {
91    ffi::remove_QRectF(s, pos);
92}