File indexing completed on 2024-06-16 04:29:29

0001 /*
0002     SnoreNotify is a Notification Framework based on Qt
0003     Copyright (C) 2013-2015  Hannah von Reth <vonreth@kde.org>
0004 
0005     SnoreNotify is free software: you can redistribute it and/or modify
0006     it under the terms of the GNU Lesser General Public License as published by
0007     the Free Software Foundation, either version 3 of the License, or
0008     (at your option) any later version.
0009 
0010     SnoreNotify is distributed in the hope that it will be useful,
0011     but WITHOUT ANY WARRANTY; without even the implied warranty of
0012     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0013     GNU Lesser General Public License for more details.
0014 
0015     You should have received a copy of the GNU Lesser General Public License
0016     along with SnoreNotify.  If not, see <http://www.gnu.org/licenses/>.
0017 */
0018 
0019 #ifndef FreedesktopNotification_H
0020 #define FreedesktopNotification_H
0021 
0022 #include "libsnore/notification/notification.h"
0023 
0024 #include <QMetaType>
0025 #include <QDBusArgument>
0026 
0027 class FreedesktopImageHint
0028 {
0029 public:
0030     FreedesktopImageHint() = default;
0031     FreedesktopImageHint(const QImage &img);
0032     QImage toQImage() const;
0033 
0034     int width;
0035     int height;
0036     int rowstride;
0037     bool hasAlpha;
0038     int bitsPerSample;
0039     int channels;
0040     QByteArray imageData;
0041     QString _hash;
0042 private:
0043     static int imageHintID;
0044 
0045 };
0046 
0047 Q_DECLARE_METATYPE(FreedesktopImageHint)
0048 
0049 QDBusArgument &operator<< (QDBusArgument &a,  const FreedesktopImageHint &i);
0050 const QDBusArgument &operator >> (const QDBusArgument &a,  FreedesktopImageHint  &i) ;
0051 
0052 #endif // FreedesktopNotification_H