Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_ls_drop_shadow_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_DROP_SHADOW_FILTER_H
8#define KIS_LS_DROP_SHADOW_FILTER_H
9
10
12#include <kritaimage_export.h>
13
15
16
17class KRITAIMAGE_EXPORT KisLsDropShadowFilter : public KisLayerStyleFilter
18{
19public:
20
27
29
30 KisLayerStyleFilter* clone() const override;
31
35 const QRect &applyRect,
37 KisLayerStyleFilterEnvironment *env) const override;
38
39 QRect neededRect(const QRect & rect, KisPSDLayerStyleSP style, KisLayerStyleFilterEnvironment *env) const override;
40 QRect changedRect(const QRect & rect, KisPSDLayerStyleSP style, KisLayerStyleFilterEnvironment *env) const override;
41
42private:
44 const psd_layer_effects_shadow_base* getShadowStruct(KisPSDLayerStyleSP style) const;
45
46 void applyDropShadow(KisPaintDeviceSP srcDevice,
48 const QRect &applyRect,
49 const psd_layer_effects_context *context,
50 const psd_layer_effects_shadow_base *shadow, KisResourcesInterfaceSP resourcesInterface,
52
53private:
54 const Mode m_mode;
55};
56
57#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