File indexing completed on 2024-05-12 15:59:14
0001 /* This file is part of the KDE project 0002 * SPDX-FileCopyrightText: 2013 Camilla Boemann <cbo@boemann.dk> 0003 * 0004 * SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "KisSelectionExtras.h" 0008 0009 #include <kis_debug.h> 0010 0011 #include <kis_selection_filters.h> 0012 #include <operations/kis_filter_selection_operation.h> 0013 0014 KisSelectionExtras::KisSelectionExtras(KisViewManager *view) 0015 : m_view(view) 0016 { 0017 } 0018 0019 KisSelectionExtras::~KisSelectionExtras() 0020 { 0021 } 0022 0023 void KisSelectionExtras::grow(qint32 xradius, qint32 yradius) 0024 { 0025 KisSelectionFilter *filter = new KisGrowSelectionFilter(xradius, yradius); 0026 KisFilterSelectionOperation opr("grow-oper"); 0027 opr.runFilter(filter, m_view, KisOperationConfiguration()); 0028 } 0029 0030 void KisSelectionExtras::shrink(qint32 xradius, qint32 yradius, bool edge_lock) 0031 { 0032 KisSelectionFilter *filter = new KisShrinkSelectionFilter(xradius, yradius, edge_lock); 0033 KisFilterSelectionOperation opr("shrink-oper"); 0034 opr.runFilter(filter, m_view, KisOperationConfiguration()); 0035 } 0036 0037 void KisSelectionExtras::border(qint32 xradius, qint32 yradius) 0038 { 0039 KisSelectionFilter *filter = new KisBorderSelectionFilter(xradius, yradius, true); 0040 KisFilterSelectionOperation opr("border-oper"); 0041 opr.runFilter(filter, m_view, KisOperationConfiguration()); 0042 } 0043 0044 void KisSelectionExtras::feather(qint32 radius) 0045 { 0046 KisSelectionFilter *filter = new KisFeatherSelectionFilter(radius); 0047 KisFilterSelectionOperation opr("feather-oper"); 0048 opr.runFilter(filter, m_view, KisOperationConfiguration()); 0049 }