Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_ls_stroke_filter.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2014 Dmitry Kazakov <dimula73@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7#ifndef KIS_LS_STROKE_FILTER_H
8#define KIS_LS_STROKE_FILTER_H
9
10#include <kritaimage_export.h>
11
13#include "krita_utils.h"
14
16
17
18class KRITAIMAGE_EXPORT KisLsStrokeFilter : public KisLayerStyleFilter
19{
20public:
22
23 KisLayerStyleFilter* clone() const override;
24
28 const QRect &applyRect,
30 KisLayerStyleFilterEnvironment *env) const override;
31
32 QRect neededRect(const QRect & rect, KisPSDLayerStyleSP style, KisLayerStyleFilterEnvironment *env) const override;
33 QRect changedRect(const QRect & rect, KisPSDLayerStyleSP style, KisLayerStyleFilterEnvironment *env) const override;
34
35 KritaUtils::ThresholdMode sourcePlaneOpacityThresholdRequirement(KisPSDLayerStyleSP style) const;
36
37private:
39
40 void applyStroke(KisPaintDeviceSP srcDevice,
43 const QRect &applyRect,
44 const psd_layer_effects_stroke *config,
45 KisResourcesInterfaceSP resourcesInterface,
47};
48
49#endif
virtual KisLayerStyleFilter * clone() const =0
virtual QRect neededRect(const QRect &rect, KisPSDLayerStyleSP style, KisLayerStyleFilterEnvironment *env) const =0
virtual QRect changedRect(const QRect &rect, KisPSDLayerStyleSP style, KisLayerStyleFilterEnvironment *env) const =0
virtual void processDirectly(KisPaintDeviceSP src, KisMultipleProjection *dst, KisLayerStyleKnockoutBlower *blower, const QRect &applyRect, KisPSDLayerStyleSP style, KisLayerStyleFilterEnvironment *env) const =0