Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qblittable.cpp
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3// Qt-Security score:significant reason:default
4
5#include "qblittable_p.h"
6
7#ifndef QT_NO_BLITTABLE
9
11{
12public:
13 QBlittablePrivate(const QSize &size, QBlittable::Capabilities caps)
14 : caps(caps), m_size(size), locked(false), cachedImg(nullptr)
15 {}
18 bool locked;
19 QImage *cachedImg;
20};
21
22
23QBlittable::QBlittable(const QSize &size, Capabilities caps)
24 : d_ptr(new QBlittablePrivate(size,caps))
25{
26}
27
28QBlittable::~QBlittable()
29{
30 delete d_ptr;
31}
32
33
34QBlittable::Capabilities QBlittable::capabilities() const
35{
36 Q_D(const QBlittable);
37 return d->caps;
38}
39
40QSize QBlittable::size() const
41{
42 Q_D(const QBlittable);
43 return d->m_size;
44}
45
46QImage *QBlittable::lock()
47{
48 Q_D(QBlittable);
49 if (!d->locked) {
50 d->cachedImg = doLock();
51 d->locked = true;
52 }
53
54 return d->cachedImg;
55}
56
57void QBlittable::unlock()
58{
59 Q_D(QBlittable);
60 if (d->locked) {
61 doUnlock();
62 d->locked = false;
63 }
64}
65
66bool QBlittable::isLocked() const
67{
68 Q_D(const QBlittable);
69 return d->locked;
70}
71
72QT_END_NAMESPACE
73#endif //QT_NO_BLITTABLE
QBlittablePrivate(const QSize &size, QBlittable::Capabilities caps)
Combined button and popup list for selecting options.