summaryrefslogtreecommitdiff
path: root/plugin/src/Caelestia/cutils.hpp
blob: 08fad4128a13982f1fc642ee062f96ba604b0b0f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#pragma once

#include <qobject.h>
#include <qqmlintegration.h>
#include <QtQuick/QQuickItem>

class CUtils : public QObject {
    Q_OBJECT;
    QML_ELEMENT;
    QML_SINGLETON;

public:
    Q_INVOKABLE void saveItem(QQuickItem* target, const QUrl& path);
    Q_INVOKABLE void saveItem(QQuickItem* target, const QUrl& path, const QRect& rect);
    Q_INVOKABLE void saveItem(QQuickItem* target, const QUrl& path, QJSValue onSaved);
    Q_INVOKABLE void saveItem(QQuickItem* target, const QUrl& path, QJSValue onSaved, QJSValue onFailed);
    Q_INVOKABLE void saveItem(QQuickItem* target, const QUrl& path, const QRect& rect, QJSValue onSaved);
    Q_INVOKABLE void saveItem(QQuickItem* target, const QUrl& path, const QRect& rect, QJSValue onSaved, QJSValue onFailed);

    Q_INVOKABLE bool copyFile(const QUrl& source, const QUrl& target) const;
    Q_INVOKABLE bool copyFile(const QUrl& source, const QUrl& target, bool overwrite) const;

    Q_INVOKABLE void getDominantColour(QQuickItem* item, QJSValue callback) const;
    Q_INVOKABLE void getDominantColour(QQuickItem* item, int width, int height, QJSValue callback) const;
};