File indexing completed on 2024-05-26 04:32:28
0001 /* 0002 * SPDX-FileCopyrightText: 2015 Dmitry Kazakov <dimula73@gmail.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #ifndef __TIMELINE_FRAMES_INDEX_CONVERTER_H 0008 #define __TIMELINE_FRAMES_INDEX_CONVERTER_H 0009 0010 #include "kritaanimationdocker_export.h" 0011 0012 class KisNodeDummy; 0013 0014 class KisDummiesFacadeBase; 0015 0016 class KRITAANIMATIONDOCKER_EXPORT TimelineFramesIndexConverter 0017 { 0018 public: 0019 TimelineFramesIndexConverter(KisDummiesFacadeBase *dummiesFacade); 0020 ~TimelineFramesIndexConverter(); 0021 0022 KisNodeDummy* dummyFromRow(int row); 0023 int rowForDummy(KisNodeDummy *dummy); 0024 int rowCount(); 0025 0026 KisNodeDummy* activeDummy() const; 0027 void updateActiveDummy(KisNodeDummy *dummy, bool *oldRemoved, bool *newAdded); 0028 void notifyDummyRemoved(KisNodeDummy *dummy); 0029 0030 void setShowGlobalSelectionMask(bool value); 0031 0032 bool isDummyAvailableForTimeline(KisNodeDummy *dummy) const; 0033 bool isDummyVisible(KisNodeDummy *dummy) const; 0034 0035 private: 0036 KisNodeDummy* findNodeFromRow(KisNodeDummy *root, int &startCount); 0037 bool calcNodesInPath(KisNodeDummy *root, int &startCount, KisNodeDummy *endDummy); 0038 0039 private: 0040 KisDummiesFacadeBase *m_dummiesFacade; 0041 KisNodeDummy *m_activeDummy; 0042 bool m_showGlobalSelectionMask; 0043 }; 0044 0045 #endif /* __TIMELINE_FRAMES_INDEX_CONVERTER_H */