diff options
author | George Kiagiadakis <george.kiagiadakis@collabora.com> | 2013-10-14 11:21:31 +0200 |
---|---|---|
committer | George Kiagiadakis <george.kiagiadakis@collabora.com> | 2013-10-18 18:07:55 +0200 |
commit | 7d9a800163a92cdbfcc38aa24591c8ad20a6bb19 (patch) | |
tree | daf826cdb7c5476a6c56dbd9a7ecd3c9d7c3cf8d /elements/gstqtvideosink/painters/genericsurfacepainter.h | |
parent | d46c146834c7fff787094e1b715c973a17998a27 (diff) |
qtvideosink: Distribute classes into subdirectories for easier code navigation
Diffstat (limited to 'elements/gstqtvideosink/painters/genericsurfacepainter.h')
-rw-r--r-- | elements/gstqtvideosink/painters/genericsurfacepainter.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/elements/gstqtvideosink/painters/genericsurfacepainter.h b/elements/gstqtvideosink/painters/genericsurfacepainter.h new file mode 100644 index 0000000..66325df --- /dev/null +++ b/elements/gstqtvideosink/painters/genericsurfacepainter.h @@ -0,0 +1,51 @@ +/* + Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). <qt-info@nokia.com> + Copyright (C) 2011 Collabora Ltd. <info@collabora.com> + + This library is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License version 2.1 + as published by the Free Software Foundation. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ +#ifndef GENERICSURFACEPAINTER_H +#define GENERICSURFACEPAINTER_H + +#include "abstractsurfacepainter.h" +#include <QSet> +#include <QImage> + +/** + * Generic painter that paints using the QPainter API. + * No colorspace conversion is done and no colors adjustment either. + */ +class GenericSurfacePainter : public AbstractSurfacePainter +{ +public: + GenericSurfacePainter(); + + static QSet<GstVideoFormat> supportedPixelFormats(); + + virtual bool supportsFormat(GstVideoFormat format) const { + return supportedPixelFormats().contains(format); + } + + virtual void init(const BufferFormat &format); + virtual void cleanup(); + + virtual void paint(quint8 *data, const BufferFormat & frameFormat, const QRectF & clipRect, + QPainter *painter, const PaintAreas & areas); + + virtual void updateColors(int brightness, int contrast, int hue, int saturation); + +private: + QImage::Format m_imageFormat; +}; + +#endif // GENERICSURFACEPAINTER_H |