aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/qmlprofiler/pixmapcachemodel.h
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@theqtcompany.com>2016-01-21 12:46:01 +0100
committerEike Ziller <eike.ziller@theqtcompany.com>2016-01-22 14:06:16 +0000
commit9a77f5f429c88518793673e924bb81768796215c (patch)
treeb62fa85ecd129087ed910640a620e36abac28909 /plugins/qmlprofiler/pixmapcachemodel.h
parented15f7067df9f25475915b2f69d6ff4140b926c6 (diff)
Prepare for merging into qtcreatorqp-master
Remove the licensechecker dependency, move everything into src/plugins/qmlprofilerextension, and adapt the build system. Change-Id: I58bf34ecd838514d02b5c50189cd8a5eb99793b0 Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Diffstat (limited to 'plugins/qmlprofiler/pixmapcachemodel.h')
-rw-r--r--plugins/qmlprofiler/pixmapcachemodel.h130
1 files changed, 0 insertions, 130 deletions
diff --git a/plugins/qmlprofiler/pixmapcachemodel.h b/plugins/qmlprofiler/pixmapcachemodel.h
deleted file mode 100644
index 4d9fac27632..00000000000
--- a/plugins/qmlprofiler/pixmapcachemodel.h
+++ /dev/null
@@ -1,130 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-****************************************************************************/
-
-#ifndef PIXMAPCACHEMODEL_H
-#define PIXMAPCACHEMODEL_H
-
-#include "qmlprofiler/qmlprofilertimelinemodel.h"
-#include "qmlprofiler/qmlprofilerdatamodel.h"
-
-#include <QStringList>
-#include <QColor>
-#include <QSize>
-
-namespace QmlProfilerExtension {
-namespace Internal {
-
-class PixmapCacheModel : public QmlProfiler::QmlProfilerTimelineModel
-{
- Q_OBJECT
-public:
- enum CacheState {
- Uncached, // After loading started (or some other proof of existence) or after uncaching
- ToBeCached, // After determining the pixmap is to be cached but before knowing its size
- Cached, // After caching a pixmap or determining the size of a ToBeCached pixmap
- Uncacheable, // If loading failed without ToBeCached or after a corrupt pixmap has been uncached
- Corrupt // If after ToBeCached we learn that loading failed
- };
-
- enum LoadState {
- Initial,
- Loading,
- Finished,
- Error
- };
-
- struct PixmapState {
- PixmapState(int width, int height, CacheState cache = Uncached) :
- size(width, height), started(-1), loadState(Initial), cacheState(cache) {}
- PixmapState(CacheState cache = Uncached) : started(-1), loadState(Initial), cacheState(cache) {}
- QSize size;
- int started;
- LoadState loadState;
- CacheState cacheState;
- };
-
- struct Pixmap {
- Pixmap() {}
- Pixmap(const QString &url) : url(url), sizes(1) {}
- QString url;
- QVector<PixmapState> sizes;
- };
-
- enum PixmapEventType {
- PixmapSizeKnown,
- PixmapReferenceCountChanged,
- PixmapCacheCountChanged,
- PixmapLoadingStarted,
- PixmapLoadingFinished,
- PixmapLoadingError,
-
- MaximumPixmapEventType
- };
-
- struct PixmapCacheEvent {
- int typeId;
- PixmapEventType pixmapEventType;
- int urlIndex;
- int sizeIndex;
- int rowNumberCollapsed;
- qint64 cacheSize;
- };
-
- PixmapCacheModel(QmlProfiler::QmlProfilerModelManager *manager, QObject *parent = 0);
-
- int rowMaxValue(int rowNumber) const;
-
- int expandedRow(int index) const;
- int collapsedRow(int index) const;
- int typeId(int index) const;
- QColor color(int index) const;
- float relativeHeight(int index) const;
-
- QVariantList labels() const;
-
- QVariantMap details(int index) const;
-
-protected:
- void loadData();
- void clear();
-
-private:
- void computeMaxCacheSize();
- void resizeUnfinishedLoads();
- void flattenLoads();
- int updateCacheCount(int lastCacheSizeEvent, qint64 startTime, qint64 pixSize,
- PixmapCacheEvent &newEvent, int typeId);
-
- QVector<PixmapCacheEvent> m_data;
- QVector<Pixmap> m_pixmaps;
- qint64 m_maxCacheSize;
-
- static const int s_pixmapCacheCountHue = 240;
-};
-
-} // namespace Internal
-} // namespace QmlProfilerExtension
-
-#endif // PIXMAPCACHEMODEL_H