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 }