Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_round_corners_filter.cpp File Reference
#include "kis_round_corners_filter.h"
#include <stdlib.h>
#include <vector>
#include <math.h>
#include <QPoint>
#include <klocalizedstring.h>
#include <kpluginfactory.h>
#include <KoUpdater.h>
#include <kis_debug.h>
#include <KisDocument.h>
#include <filter/kis_filter_registry.h>
#include <kis_global.h>
#include <kis_image.h>
#include <kis_layer.h>
#include <widgets/kis_multi_integer_filter_widget.h>
#include <kis_selection.h>
#include <filter/kis_filter_category_ids.h>
#include <filter/kis_filter_configuration.h>
#include <kis_processing_information.h>
#include <kis_types.h>
#include <KisSequentialIteratorProgress.h>
#include <kis_algebra_2d.h>
#include <KoProgressUpdater.h>

Go to the source code of this file.

Functions

void fadeOneCorner (KisPaintDeviceSP device, const QPoint &basePoint, const QRect &processRect, const qreal thresholdSq, KoUpdater *progressUpdater)
 

Function Documentation

◆ fadeOneCorner()

void fadeOneCorner ( KisPaintDeviceSP device,
const QPoint & basePoint,
const QRect & processRect,
const qreal thresholdSq,
KoUpdater * progressUpdater )

Definition at line 48 of file kis_round_corners_filter.cpp.

53{
54 const KoColorSpace *cs = device->colorSpace();
55 KisSequentialIteratorProgress dstIt(device, processRect, progressUpdater);
56
57 while (dstIt.nextPixel()) {
58 const QPointF point(dstIt.x(), dstIt.y());
59
60 const qreal distanceSq = kisSquareDistance(point, basePoint);
61 if (distanceSq >= thresholdSq) {
62 cs->setOpacity(dstIt.rawData(), OPACITY_TRANSPARENT_U8, 1);
63 }
64 }
65}
const quint8 OPACITY_TRANSPARENT_U8
const KoColorSpace * colorSpace() const
virtual void setOpacity(quint8 *pixels, quint8 alpha, qint32 nPixels) const =0
qreal kisSquareDistance(const QPointF &pt1, const QPointF &pt2)
Definition kis_global.h:194

References KisPaintDevice::colorSpace(), kisSquareDistance(), KisSequentialIteratorBase< IteratorPolicy, SourcePolicy, ProgressPolicy >::nextPixel(), OPACITY_TRANSPARENT_U8, KisSequentialIteratorBase< IteratorPolicy, SourcePolicy, ProgressPolicy >::rawData(), KoColorSpace::setOpacity(), KisSequentialIteratorBase< IteratorPolicy, SourcePolicy, ProgressPolicy >::x(), and KisSequentialIteratorBase< IteratorPolicy, SourcePolicy, ProgressPolicy >::y().