Krita Source Code Documentation
Loading...
Searching...
No Matches
ShadowRectsData Struct Reference

Public Types

enum  Direction { NEED_RECT , CHANGE_RECT }
 

Public Member Functions

QRect finalChangeRect () const
 
QRect finalNeedRect () const
 
 ShadowRectsData (const QRect &applyRect, const psd_layer_effects_context *context, const psd_layer_effects_shadow_base *shadow, Direction direction)
 

Public Attributes

qint32 blur_size
 
QRect blurNeedRect
 
QRect dstRect
 
QRect noiseNeedRect
 
QPoint offset
 
qint32 spread_size
 
QRect spreadNeedRect
 
QRect srcRect
 

Detailed Description

Definition at line 52 of file kis_ls_drop_shadow_filter.cpp.

Member Enumeration Documentation

◆ Direction

Enumerator
NEED_RECT 
CHANGE_RECT 

Definition at line 54 of file kis_ls_drop_shadow_filter.cpp.

Constructor & Destructor Documentation

◆ ShadowRectsData()

ShadowRectsData::ShadowRectsData ( const QRect & applyRect,
const psd_layer_effects_context * context,
const psd_layer_effects_shadow_base * shadow,
Direction direction )
inline

Definition at line 59 of file kis_ls_drop_shadow_filter.cpp.

63 {
64 spread_size = (shadow->spread() * shadow->size() + 50) / 100;
65 blur_size = shadow->size() - spread_size;
66 offset = shadow->calculateOffset(context);
67
68 // need rect calculation in reverse order
69 dstRect = applyRect;
70
71 const int directionCoeff = direction == NEED_RECT ? -1 : 1;
72 srcRect = dstRect.translated(directionCoeff * offset);
73
74 noiseNeedRect = shadow->noise() > 0 ?
76
79
82
83 // dbgKrita << ppVar(dstRect);
84 // dbgKrita << ppVar(srcRect);
85 // dbgKrita << ppVar(noiseNeedRect);
86 // dbgKrita << ppVar(blurNeedRect);
87 // dbgKrita << ppVar(spreadNeedRect);
88 }
qint32 spread() const
Definition psd.h:301
qint32 noise() const
Definition psd.h:321
QPoint calculateOffset(const psd_layer_effects_context *context) const
Definition psd.cpp:243
qint32 size() const
Definition psd.h:306
T kisGrowRect(const T &rect, U offset)
Definition kis_global.h:186
const int noiseNeedBorder
QRect growRectFromRadius(const QRect &rc, int radius)

References blur_size, blurNeedRect, psd_layer_effects_shadow_base::calculateOffset(), dstRect, KisLsUtils::growRectFromRadius(), kisGrowRect(), NEED_RECT, psd_layer_effects_shadow_base::noise(), KisLsUtils::noiseNeedBorder, noiseNeedRect, offset, psd_layer_effects_shadow_base::size(), psd_layer_effects_shadow_base::spread(), spread_size, spreadNeedRect, and srcRect.

Member Function Documentation

◆ finalChangeRect()

QRect ShadowRectsData::finalChangeRect ( ) const
inline

Definition at line 94 of file kis_ls_drop_shadow_filter.cpp.

94 {
95 // TODO: is it correct?
96 return spreadNeedRect;
97 }

References spreadNeedRect.

◆ finalNeedRect()

QRect ShadowRectsData::finalNeedRect ( ) const
inline

Definition at line 90 of file kis_ls_drop_shadow_filter.cpp.

90 {
91 return spreadNeedRect;
92 }

References spreadNeedRect.

Member Data Documentation

◆ blur_size

qint32 ShadowRectsData::blur_size

Definition at line 100 of file kis_ls_drop_shadow_filter.cpp.

◆ blurNeedRect

QRect ShadowRectsData::blurNeedRect

Definition at line 106 of file kis_ls_drop_shadow_filter.cpp.

◆ dstRect

QRect ShadowRectsData::dstRect

Definition at line 104 of file kis_ls_drop_shadow_filter.cpp.

◆ noiseNeedRect

QRect ShadowRectsData::noiseNeedRect

Definition at line 105 of file kis_ls_drop_shadow_filter.cpp.

◆ offset

QPoint ShadowRectsData::offset

Definition at line 101 of file kis_ls_drop_shadow_filter.cpp.

◆ spread_size

qint32 ShadowRectsData::spread_size

Definition at line 99 of file kis_ls_drop_shadow_filter.cpp.

◆ spreadNeedRect

QRect ShadowRectsData::spreadNeedRect

Definition at line 107 of file kis_ls_drop_shadow_filter.cpp.

◆ srcRect

QRect ShadowRectsData::srcRect

Definition at line 103 of file kis_ls_drop_shadow_filter.cpp.


The documentation for this struct was generated from the following file: