File indexing completed on 2024-05-12 15:58:51
0001 /* 0002 * SPDX-FileCopyrightText: 2018 Dmitry Kazakov <dimula73@gmail.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include "KisImageSignals.h" 0008 0009 #include "kis_node.h" 0010 0011 /*******************************************************************************/ 0012 /* ComplexSizeChangedSignal */ 0013 /*******************************************************************************/ 0014 0015 ComplexSizeChangedSignal::ComplexSizeChangedSignal() {} 0016 0017 ComplexSizeChangedSignal::ComplexSizeChangedSignal(QPointF _oldStillPoint, QPointF _newStillPoint) 0018 : oldStillPoint(_oldStillPoint), 0019 newStillPoint(_newStillPoint) 0020 { 0021 } 0022 0023 ComplexSizeChangedSignal::ComplexSizeChangedSignal(const QRect &portionOfOldImage, const QSize &transformedIntoImageOfSize) 0024 { 0025 oldStillPoint = QRectF(portionOfOldImage).center(); 0026 newStillPoint = QRectF(QPointF(), QSizeF(transformedIntoImageOfSize)).center(); 0027 } 0028 0029 ComplexSizeChangedSignal ComplexSizeChangedSignal::inverted() const { 0030 return ComplexSizeChangedSignal(newStillPoint, oldStillPoint); 0031 } 0032 0033 0034 /*******************************************************************************/ 0035 /* ComplexNodeReselectionSignal */ 0036 /*******************************************************************************/ 0037 0038 ComplexNodeReselectionSignal::ComplexNodeReselectionSignal() {} 0039 0040 ComplexNodeReselectionSignal::ComplexNodeReselectionSignal(KisNodeSP _newActiveNode, KisNodeList _newSelectedNodes, KisNodeSP _oldActiveNode, KisNodeList _oldSelectedNodes) 0041 : newActiveNode(_newActiveNode), 0042 newSelectedNodes(_newSelectedNodes), 0043 oldActiveNode(_oldActiveNode), 0044 oldSelectedNodes(_oldSelectedNodes) 0045 { 0046 } 0047 0048 ComplexNodeReselectionSignal ComplexNodeReselectionSignal::inverted() const { 0049 return ComplexNodeReselectionSignal(oldActiveNode, oldSelectedNodes, newActiveNode, newSelectedNodes); 0050 } 0051 0052 0053 /*******************************************************************************/ 0054 /* KisImageSignalType */ 0055 /*******************************************************************************/ 0056 0057 KisImageSignalType::KisImageSignalType() {} 0058 0059 KisImageSignalType::KisImageSignalType(KisImageSignalTypeEnum _id) 0060 : id(_id) 0061 { 0062 } 0063 0064 KisImageSignalType::KisImageSignalType(ComplexSizeChangedSignal signal) 0065 : id(SizeChangedSignal), 0066 sizeChangedSignal(signal) 0067 { 0068 } 0069 0070 KisImageSignalType::KisImageSignalType(ComplexNodeReselectionSignal signal) 0071 : id(NodeReselectionRequestSignal), 0072 nodeReselectionSignal(signal) 0073 { 0074 } 0075 0076 KisImageSignalType KisImageSignalType::inverted() const { 0077 KisImageSignalType t; 0078 t.id = id; 0079 t.sizeChangedSignal = sizeChangedSignal.inverted(); 0080 t.nodeReselectionSignal = nodeReselectionSignal.inverted(); 0081 return t; 0082 }