diff --git a/libs/image/kis_image_animation_interface.h b/libs/image/kis_image_animation_interface.h index 38cc926f86..ecef096976 100644 --- a/libs/image/kis_image_animation_interface.h +++ b/libs/image/kis_image_animation_interface.h @@ -1,147 +1,147 @@ /* * Copyright (c) 2015 Dmitry Kazakov * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef __KIS_IMAGE_ANIMATION_INTERFACE_H #define __KIS_IMAGE_ANIMATION_INTERFACE_H #include #include #include "kis_types.h" #include "kritaimage_export.h" class KisUpdatesFacade; class KisTimeRange; namespace KisLayerUtils { struct SwitchFrameCommand; } class KRITAIMAGE_EXPORT KisImageAnimationInterface : public QObject { Q_OBJECT public: KisImageAnimationInterface(KisImage *image); ~KisImageAnimationInterface(); /** * Returns currently active frame of the underlying image. Some strokes * can override this value and it will report a different value. */ int currentTime() const; /** * Same as currentTime, except it isn't changed when background strokes * are running. */ int currentUITime() const; /** * While any non-current frame is being regenerated by the * strategy, the image is kept in a special state, named * 'externalFrameActive'. Is this state the following applies: * * 1) All the animated paint devices switch its state into * frameId() defined by global time. * * 2) All animation-not-capable devices switch to a temporary * content device, which *is in undefined state*. The stroke * should regenerate the image projection manually. */ bool externalFrameActive() const; void requestTimeSwitchWithUndo(int time); void requestTimeSwitchNonGUI(int time); public Q_SLOTS: /** * Switches current frame (synchronously) and starts an * asynchronous regeneration of the entire image. */ void switchCurrentTimeAsync(int frameId); public: /** * Start a backgroud thread that will recalculate some extra frame. * The result will be reported using two types of signals: * * 1) KisImage::sigImageUpdated() will be emitted for every chunk * of updated area. * * 2) sigFrameReady() will be emitted in the end of the operation. * IMPORTANT: to get the result you must connect to this signal * with Qt::DirectConnection and fetch the result from * frameProjection(). After the signal handler is exited, the * data will no longer be available. */ void requestFrameRegeneration(int frameId, const QRegion &dirtyRegion); void notifyNodeChanged(const KisNode *node, const QRect &rect, bool recursive); void invalidateFrames(const KisTimeRange &range, const QRect &rect); /** * The current time range selected by user. * @return current time range */ const KisTimeRange& fullClipRange() const; void setFullClipRange(const KisTimeRange range); const KisTimeRange &playbackRange() const; void setPlaybackRange(const KisTimeRange range); int framerate() const; public Q_SLOTS: void setFramerate(int fps); public: KisImageWSP image() const; int totalLength(); private: // interface for: friend class KisRegenerateFrameStrokeStrategy; friend class KisAnimationFrameCacheTest; - friend class KisLayerUtils::SwitchFrameCommand; + friend struct KisLayerUtils::SwitchFrameCommand; friend class KisImageTest; void saveAndResetCurrentTime(int frameId, int *savedValue); void restoreCurrentTime(int *savedValue); void notifyFrameReady(); KisUpdatesFacade* updatesFacade() const; void blockFrameInvalidation(bool value); Q_SIGNALS: void sigFrameReady(int time); void sigTimeChanged(int newTime); void sigFramesChanged(const KisTimeRange &range, const QRect &rect); void sigInternalRequestTimeSwitch(int frameId); void sigFramerateChanged(); void sigFullClipRangeChanged(); void sigPlaybackRangeChanged(); private: - class Private; + struct Private; const QScopedPointer m_d; }; #endif /* __KIS_IMAGE_ANIMATION_INTERFACE_H */ diff --git a/libs/ui/KisDetailsPane.h b/libs/ui/KisDetailsPane.h index db874fc9f3..a19c082dea 100644 --- a/libs/ui/KisDetailsPane.h +++ b/libs/ui/KisDetailsPane.h @@ -1,72 +1,72 @@ /* This file is part of the KDE project Copyright (C) 2005-2006 Peter Simonsson This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef KISDETAILSPANE_H #define KISDETAILSPANE_H #include "ui_KisDetailsPaneBase.h" class QEvent; class QUrl; class QStandardItemModel; -class KisDetailsPanePrivate; +struct KisDetailsPanePrivate; class KisDetailsPane : public QWidget, public Ui_KisDetailsPaneBase { Q_OBJECT public: KisDetailsPane(QWidget* parent, const QString& header); virtual ~KisDetailsPane(); virtual bool eventFilter(QObject* watched, QEvent* e); /// @return the model used in the document list QStandardItemModel* model() const; Q_SIGNALS: /// Emitted when a file is requested to be opened void openUrl(const QUrl&); /// This is used to keep all splitters in different details panes synced void splitterResized(KisDetailsPane* sender, const QList& sizes); public Q_SLOTS: /// This is used to keep all splitters in different details panes synced void resizeSplitter(KisDetailsPane* sender, const QList& sizes); protected Q_SLOTS: /// This is called when the selection in the listview changed virtual void selectionChanged(const QModelIndex& index) = 0; virtual void openFile(); virtual void openFile(const QModelIndex& index) = 0; void changePalette(); protected: enum Extents { IconExtent = 64, PreviewExtent = 128 }; private: KisDetailsPanePrivate * const d; }; #endif //KODETAILSPANE_H diff --git a/libs/ui/canvas/kis_display_filter.h b/libs/ui/canvas/kis_display_filter.h index 69fe5d33e4..5a99430dd0 100644 --- a/libs/ui/canvas/kis_display_filter.h +++ b/libs/ui/canvas/kis_display_filter.h @@ -1,55 +1,55 @@ /* * Copyright (c) 2012 Boudewijn Rempt * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef KIS_DISPLAY_FILTER_H #define KIS_DISPLAY_FILTER_H #include #include // for HAVE_OPENGL #ifdef HAVE_OPENGL #include #endif #include -class KisExposureGammaCorrectionInterface; +struct KisExposureGammaCorrectionInterface; /** * @brief The KisDisplayFilter class is the base class for filters that * are applied by the canvas to the projection before displaying. */ class KRITAUI_EXPORT KisDisplayFilter : public QObject { Q_OBJECT public: explicit KisDisplayFilter(QObject *parent = 0); #ifdef HAVE_OPENGL virtual QString program() const = 0; virtual GLuint lutTexture() const = 0; #endif virtual void filter(quint8 *pixels, quint32 numPixels) = 0; virtual void approximateInverseTransformation(quint8 *pixels, quint32 numPixels) = 0; virtual void approximateForwardTransformation(quint8 *pixels, quint32 numPixels) = 0; virtual bool useInternalColorManagement() const = 0; virtual KisExposureGammaCorrectionInterface *correctionInterface() const = 0; virtual bool lockCurrentColorVisualRepresentation() const = 0; }; #endif diff --git a/libs/ui/kis_animation_exporter.h b/libs/ui/kis_animation_exporter.h index 72b4b2b748..da1fe58efc 100644 --- a/libs/ui/kis_animation_exporter.h +++ b/libs/ui/kis_animation_exporter.h @@ -1,73 +1,73 @@ /* * Copyright (c) 2015 Jouni Pentikäinen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef KIS_ANIMATION_EXPORTER_H #define KIS_ANIMATION_EXPORTER_H #include "kis_types.h" #include "kritaui_export.h" class KisDocument; class KRITAUI_EXPORT KisAnimationExporterUI : public QObject { Q_OBJECT public: KisAnimationExporterUI(QWidget *parent); ~KisAnimationExporterUI(); void exportSequence(KisDocument *document); private Q_SLOTS: void progress(int currentFrame); void cancel(); private: - class Private; + struct Private; QScopedPointer m_d; }; class KRITAUI_EXPORT KisAnimationExporter : public QObject { Q_OBJECT public: KisAnimationExporter(KisDocument *document, const QString &baseFilename, int fromTime, int toTime); ~KisAnimationExporter(); void startExport(); void stopExport(); Q_SIGNALS: void sigExportProgress(int currentFrame); // Internal, used for getting back to main thread void sigFrameReadyToSave(); private Q_SLOTS: void frameReadyToCopy(int time); void frameReadyToSave(); private: - class Private; + struct Private; QScopedPointer m_d; }; #endif diff --git a/libs/ui/kis_animation_importer.h b/libs/ui/kis_animation_importer.h index 28dcfd1494..ad2f5b8285 100644 --- a/libs/ui/kis_animation_importer.h +++ b/libs/ui/kis_animation_importer.h @@ -1,43 +1,43 @@ /* * Copyright (c) 2015 Jouni Pentikäinen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef KIS_ANIMATION_IMPORTER_H #define KIS_ANIMATION_IMPORTER_H #include "kis_types.h" #include "kritaui_export.h" class KisDocument; class KisMainWindow; class KRITAUI_EXPORT KisAnimationImporter : public QObject { Q_OBJECT public: KisAnimationImporter(KisImageSP image); ~KisAnimationImporter(); bool import(QStringList files, int firstFrame, int step); private: - class Private; + struct Private; QScopedPointer m_d; }; #endif diff --git a/plugins/color/lcms2engine/colorspaces/gray_f16/GrayF16ColorSpace.h b/plugins/color/lcms2engine/colorspaces/gray_f16/GrayF16ColorSpace.h index 0c3d8ab116..76864d1640 100644 --- a/plugins/color/lcms2engine/colorspaces/gray_f16/GrayF16ColorSpace.h +++ b/plugins/color/lcms2engine/colorspaces/gray_f16/GrayF16ColorSpace.h @@ -1,120 +1,120 @@ /* * Copyright (c) 2004-2006 Cyrille Berger * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef COLORSPACE_GRAYSCALE_F16_H_ #define COLORSPACE_GRAYSCALE_F16_H_ #include #include #include "LcmsColorSpace.h" #define TYPE_GRAYA_HALF_FLT (FLOAT_SH(1)|COLORSPACE_SH(PT_GRAY)|EXTRA_SH(1)|CHANNELS_SH(1)|BYTES_SH(2)) -class KoGrayF16Traits; +struct KoGrayF16Traits; class GrayF16ColorSpace : public LcmsColorSpace { public: GrayF16ColorSpace(const QString &name, KoColorProfile *p); virtual bool willDegrade(ColorSpaceIndependence) const { return false; } virtual KoID colorModelId() const { return GrayAColorModelID; } virtual KoID colorDepthId() const { return Float16BitsColorDepthID; } virtual KoColorSpace *clone() const; virtual void colorToXML(const quint8 *pixel, QDomDocument &doc, QDomElement &colorElt) const; virtual void colorFromXML(quint8 *pixel, const QDomElement &elt) const; static QString colorSpaceId() { return "GRAYAF16"; } virtual bool hasHighDynamicRange() const { return true; } }; class GrayF16ColorSpaceFactory : public LcmsColorSpaceFactory { public: GrayF16ColorSpaceFactory() : LcmsColorSpaceFactory(TYPE_GRAYA_HALF_FLT, cmsSigGrayData) { } virtual QString id() const { return GrayF16ColorSpace::colorSpaceId(); } virtual QString name() const { return i18n("Grayscale/Alpha (16-bit float/channel)"); } virtual KoID colorModelId() const { return GrayAColorModelID; } virtual KoID colorDepthId() const { return Float16BitsColorDepthID; } virtual int referenceDepth() const { return 16; } virtual bool userVisible() const { return true; } virtual KoColorSpace *createColorSpace(const KoColorProfile *p) const { return new GrayF16ColorSpace(name(), p->clone()); } virtual QString defaultProfile() const { return "gray built-in"; } virtual bool isHdr() const { return true; } }; #endif // KIS_STRATEGY_COLORSPACE_GRAYSCALE_H_ diff --git a/plugins/color/lcms2engine/colorspaces/rgb_f16/RgbF16ColorSpace.h b/plugins/color/lcms2engine/colorspaces/rgb_f16/RgbF16ColorSpace.h index 30b2f25125..20a7028f71 100644 --- a/plugins/color/lcms2engine/colorspaces/rgb_f16/RgbF16ColorSpace.h +++ b/plugins/color/lcms2engine/colorspaces/rgb_f16/RgbF16ColorSpace.h @@ -1,117 +1,117 @@ /* * Copyright (c) 2006 Cyrille Berger * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Library General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this library; see the file COPYING.LIB. If not, write to * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301, USA. */ #ifndef KORGBF16COLORSPACE_H_ #define KORGBF16COLORSPACE_H_ #include "LcmsColorSpace.h" #include "KoColorModelStandardIds.h" -class KoRgbF16Traits; +struct KoRgbF16Traits; class RgbF16ColorSpace : public LcmsColorSpace { public: RgbF16ColorSpace(const QString &name, KoColorProfile *p); virtual bool willDegrade(ColorSpaceIndependence independence) const; virtual KoID colorModelId() const { return RGBAColorModelID; } virtual KoID colorDepthId() const { return Float16BitsColorDepthID; } virtual KoColorSpace *clone() const; virtual void colorToXML(const quint8 *pixel, QDomDocument &doc, QDomElement &colorElt) const; virtual void colorFromXML(quint8 *pixel, const QDomElement &elt) const; static QString colorSpaceId() { return QString("RGBAF16"); } virtual bool hasHighDynamicRange() const { return true; } }; class RgbF16ColorSpaceFactory : public LcmsColorSpaceFactory { public: RgbF16ColorSpaceFactory() : LcmsColorSpaceFactory(TYPE_RGBA_HALF_FLT, cmsSigRgbData) { } virtual QString id() const { return RgbF16ColorSpace::colorSpaceId(); } virtual QString name() const { return i18n("RGBA (16-bit floating/channel)"); } virtual bool userVisible() const { return true; } virtual KoID colorModelId() const { return RGBAColorModelID; } virtual KoID colorDepthId() const { return Float16BitsColorDepthID; } virtual int referenceDepth() const { return 16; } virtual KoColorSpace *createColorSpace(const KoColorProfile *p) const { return new RgbF16ColorSpace(name(), p->clone()); } virtual QString defaultProfile() const { return "sRGB-elle-V2-g10.icc"; } virtual bool isHdr() const { return true; } }; #endif diff --git a/plugins/color/lcms2engine/colorspaces/xyz_f16/XyzF16ColorSpace.h b/plugins/color/lcms2engine/colorspaces/xyz_f16/XyzF16ColorSpace.h index c98cf1f4ac..c3db9ad752 100644 --- a/plugins/color/lcms2engine/colorspaces/xyz_f16/XyzF16ColorSpace.h +++ b/plugins/color/lcms2engine/colorspaces/xyz_f16/XyzF16ColorSpace.h @@ -1,121 +1,121 @@ /* * Copyright (c) 2007 Cyrille Berger (cberger@cberger.net) * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Library General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this library; see the file COPYING.LIB. If not, write to * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301, USA. */ #ifndef KIS_XYZ_F16_COLORSPACE_H_ #define KIS_XYZ_F16_COLORSPACE_H_ #include #define TYPE_XYZA_HALF_FLT (FLOAT_SH(1)|COLORSPACE_SH(PT_XYZ)|EXTRA_SH(1)|CHANNELS_SH(3)|BYTES_SH(2)) #include -class KoXyzF16Traits; +struct KoXyzF16Traits; class XyzF16ColorSpace : public LcmsColorSpace { public: XyzF16ColorSpace(const QString &name, KoColorProfile *p); virtual bool willDegrade(ColorSpaceIndependence independence) const; virtual KoID colorModelId() const { return XYZAColorModelID; } virtual KoID colorDepthId() const { return Float32BitsColorDepthID; } virtual KoColorSpace *clone() const; virtual void colorToXML(const quint8 *pixel, QDomDocument &doc, QDomElement &colorElt) const; virtual void colorFromXML(quint8 *pixel, const QDomElement &elt) const; static QString colorSpaceId() { return QString("XYZAF16"); } virtual bool hasHighDynamicRange() const { return true; } }; class XyzF16ColorSpaceFactory : public LcmsColorSpaceFactory { public: XyzF16ColorSpaceFactory() : LcmsColorSpaceFactory(TYPE_XYZA_HALF_FLT, cmsSigXYZData) { } virtual QString id() const { return XyzF16ColorSpace::colorSpaceId(); } virtual QString name() const { return i18n("XYZ (32-bit float/channel)"); } virtual bool userVisible() const { return true; } virtual KoID colorModelId() const { return XYZAColorModelID; } virtual KoID colorDepthId() const { return Float16BitsColorDepthID; } virtual int referenceDepth() const { return 16; } virtual KoColorSpace *createColorSpace(const KoColorProfile *p) const { return new XyzF16ColorSpace(name(), p->clone()); } virtual QString defaultProfile() const { return "XYZ identity built-in"; } virtual bool isHdr() const { return true; } }; #endif diff --git a/plugins/color/lcms2engine/colorspaces/ycbcr_u16/YCbCrU16ColorSpace.h b/plugins/color/lcms2engine/colorspaces/ycbcr_u16/YCbCrU16ColorSpace.h index 25d08d5cc4..991af18250 100644 --- a/plugins/color/lcms2engine/colorspaces/ycbcr_u16/YCbCrU16ColorSpace.h +++ b/plugins/color/lcms2engine/colorspaces/ycbcr_u16/YCbCrU16ColorSpace.h @@ -1,111 +1,111 @@ /* * Copyright (c) 2007 Cyrille Berger (cberger@cberger.net) * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Library General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this library; see the file COPYING.LIB. If not, write to * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301, USA. */ #ifndef KIS_YCBCR_U16_COLORSPACE_H_ #define KIS_YCBCR_U16_COLORSPACE_H_ #include #include #define TYPE_YCbCrA_16 (COLORSPACE_SH(PT_YCbCr)|CHANNELS_SH(3)|BYTES_SH(2)|EXTRA_SH(1)) -class KoYCbCrU16Traits; +struct KoYCbCrU16Traits; class YCbCrU16ColorSpace : public LcmsColorSpace { public: YCbCrU16ColorSpace(const QString &name, KoColorProfile *p); virtual bool willDegrade(ColorSpaceIndependence independence) const; static QString colorSpaceId() { return QString("YCBCRAU16"); } virtual KoID colorModelId() const { return YCbCrAColorModelID; } virtual KoID colorDepthId() const { return Integer16BitsColorDepthID; } virtual KoColorSpace *clone() const; virtual void colorToXML(const quint8 *pixel, QDomDocument &doc, QDomElement &colorElt) const; virtual void colorFromXML(quint8 *pixel, const QDomElement &elt) const; }; class YCbCrU16ColorSpaceFactory : public LcmsColorSpaceFactory { public: YCbCrU16ColorSpaceFactory() : LcmsColorSpaceFactory(TYPE_YCbCrA_16, cmsSigYCbCrData) { } virtual QString id() const { return YCbCrU16ColorSpace::colorSpaceId(); } virtual QString name() const { return i18n("YCBCR (16-bit integer/channel)"); } virtual bool userVisible() const { return true; } virtual KoID colorModelId() const { return YCbCrAColorModelID; } virtual KoID colorDepthId() const { return Integer16BitsColorDepthID; } virtual int referenceDepth() const { return 16; } virtual KoColorSpace *createColorSpace(const KoColorProfile *p) const { return new YCbCrU16ColorSpace(name(), p->clone()); } virtual QString defaultProfile() const { return QString(); } }; #endif diff --git a/plugins/color/lcms2engine/colorspaces/ycbcr_u8/YCbCrU8ColorSpace.h b/plugins/color/lcms2engine/colorspaces/ycbcr_u8/YCbCrU8ColorSpace.h index 57a931d13d..016a77e652 100644 --- a/plugins/color/lcms2engine/colorspaces/ycbcr_u8/YCbCrU8ColorSpace.h +++ b/plugins/color/lcms2engine/colorspaces/ycbcr_u8/YCbCrU8ColorSpace.h @@ -1,111 +1,111 @@ /* * Copyright (c) 2007 Cyrille Berger (cberger@cberger.net) * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Library General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this library; see the file COPYING.LIB. If not, write to * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301, USA. */ #ifndef KIS_YCBCR_U8_COLORSPACE_H_ #define KIS_YCBCR_U8_COLORSPACE_H_ #include #include #define TYPE_YCbCrA_8 (COLORSPACE_SH(PT_YCbCr)|CHANNELS_SH(3)|BYTES_SH(1)|EXTRA_SH(1)) -class KoYCbCrU8Traits; +struct KoYCbCrU8Traits; class YCbCrU8ColorSpace : public LcmsColorSpace { public: YCbCrU8ColorSpace(const QString &name, KoColorProfile *p); virtual bool willDegrade(ColorSpaceIndependence independence) const; static QString colorSpaceId() { return QString("YCBCRA8"); } virtual KoID colorModelId() const { return YCbCrAColorModelID; } virtual KoID colorDepthId() const { return Integer8BitsColorDepthID; } virtual KoColorSpace *clone() const; virtual void colorToXML(const quint8 *pixel, QDomDocument &doc, QDomElement &colorElt) const; virtual void colorFromXML(quint8 *pixel, const QDomElement &elt) const; }; class YCbCrU8ColorSpaceFactory : public LcmsColorSpaceFactory { public: YCbCrU8ColorSpaceFactory() : LcmsColorSpaceFactory(TYPE_YCbCrA_8, cmsSigYCbCrData) { } virtual QString id() const { return YCbCrU8ColorSpace::colorSpaceId(); } virtual QString name() const { return i18n("YCBCR (8-bit integer/channel)"); } virtual bool userVisible() const { return true; } virtual KoID colorModelId() const { return YCbCrAColorModelID; } virtual KoID colorDepthId() const { return Integer8BitsColorDepthID; } virtual int referenceDepth() const { return 8; } virtual KoColorSpace *createColorSpace(const KoColorProfile *p) const { return new YCbCrU8ColorSpace(name(), p->clone()); } virtual QString defaultProfile() const { return QString(); } }; #endif diff --git a/plugins/extensions/dockers/animation/timeline_node_list_keeper.h b/plugins/extensions/dockers/animation/timeline_node_list_keeper.h index 419ffb86e9..33a21ff8da 100644 --- a/plugins/extensions/dockers/animation/timeline_node_list_keeper.h +++ b/plugins/extensions/dockers/animation/timeline_node_list_keeper.h @@ -1,105 +1,105 @@ /* * Copyright (c) 2015 Dmitry Kazakov * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef __TIMELINE_NODE_LIST_KEEPER_H #define __TIMELINE_NODE_LIST_KEEPER_H #include #include #include #include #include "kritaanimationdocker_export.h" class KisNodeDummy; class KisDummiesFacadeBase; class KRITAANIMATIONDOCKER_EXPORT TimelineNodeListKeeper : public QObject { Q_OBJECT public: - class ModelWithExternalNotifications; + struct ModelWithExternalNotifications; struct OtherLayer; typedef QList OtherLayersList; TimelineNodeListKeeper(ModelWithExternalNotifications *model, KisDummiesFacadeBase *dummiesFacade); ~TimelineNodeListKeeper(); KisNodeDummy* dummyFromRow(int row); int rowForDummy(KisNodeDummy *dummy); int rowCount(); OtherLayersList otherLayersList() const; void updateActiveDummy(KisNodeDummy *dummy); private Q_SLOTS: void slotEndInsertDummy(KisNodeDummy *dummy); void slotBeginRemoveDummy(KisNodeDummy *dummy); void slotDummyChanged(KisNodeDummy *dummy); void slotUpdateDummyContent(QObject *dummy); public: struct ModelWithExternalNotifications : public QAbstractTableModel { ModelWithExternalNotifications(QObject *parent) : QAbstractTableModel(parent) {} void callBeginInsertRows(const QModelIndex &parent, int first, int last) { beginInsertRows(parent, first, last); } void callEndInsertRows() { endInsertRows(); } void callBeginRemoveRows(const QModelIndex &parent, int first, int last) { beginRemoveRows(parent, first, last); } void callEndRemoveRows() { endRemoveRows(); } void callIndexChanged(const QModelIndex &index0, const QModelIndex &index1) { emit dataChanged(index0, index1); } }; struct OtherLayer { OtherLayer(const QString &_name, KisNodeDummy *_dummy) : name(_name), dummy(_dummy) { } QString name; KisNodeDummy *dummy; }; private: struct Private; const QScopedPointer m_d; }; Q_DECLARE_METATYPE( TimelineNodeListKeeper::OtherLayersList ) #endif /* __TIMELINE_NODE_LIST_KEEPER_H */