File indexing completed on 2024-06-16 04:17:30

0001 /*
0002  *  SPDX-FileCopyrightText: 2022 Dmitry Kazakov <dimula73@gmail.com>
0003  *
0004  *  SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 #include "KisOpacityOption.h"
0007 
0008 #include <kis_painter.h>
0009 
0010 quint8 KisOpacityOption::apply(KisPainter* painter, const KisPaintInformation& info) const
0011 {
0012     if (!isChecked()) {
0013         return painter->opacity();
0014     }
0015     quint8 origOpacity = painter->opacity();
0016 
0017     qreal opacity = (qreal)(origOpacity * computeSizeLikeValue(info));
0018     quint8 opacity2 = (quint8)qRound(qBound<qreal>(OPACITY_TRANSPARENT_U8, opacity, OPACITY_OPAQUE_U8));
0019 
0020     painter->setOpacityUpdateAverage(opacity2);
0021     return origOpacity;
0022 }