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

Public Member Functions

 BevelEmbossRectCalculator (const QRect &applyRect, const psd_layer_effects_bevel_emboss *config)
 
QRect totalChangeRect (const QRect &applyRect, const psd_layer_effects_bevel_emboss *config)
 
QRect totalNeedRect (const QRect &applyRect, const psd_layer_effects_bevel_emboss *config)
 

Public Attributes

QRect applyBevelRect
 
QRect applyBumpmapRect
 
QRect applyContourRect
 
QRect applyGaussianRect
 
QRect applyGlossContourRect
 
QRect applyTextureRect
 
QRect initialFetchRect
 
QRect shadowHighlightsFinalRect
 

Private Member Functions

QRect calcBevelChangeRect (const QRect &applyRect, const psd_layer_effects_bevel_emboss *config)
 
QRect calcBevelNeedRect (const QRect &applyRect, const psd_layer_effects_bevel_emboss *config)
 

Detailed Description

Definition at line 184 of file kis_ls_bevel_emboss_filter.cpp.

Constructor & Destructor Documentation

◆ BevelEmbossRectCalculator()

BevelEmbossRectCalculator::BevelEmbossRectCalculator ( const QRect & applyRect,
const psd_layer_effects_bevel_emboss * config )
inline

Definition at line 186 of file kis_ls_bevel_emboss_filter.cpp.

187 {
188
189 shadowHighlightsFinalRect = applyRect;
197 }
T kisGrowRect(const T &rect, U offset)
Definition kis_global.h:186
QRect growRectFromRadius(const QRect &rc, int radius)
QRect calcBevelNeedRect(const QRect &applyRect, const psd_layer_effects_bevel_emboss *config)

References applyBevelRect, applyBumpmapRect, applyContourRect, applyGaussianRect, applyGlossContourRect, applyTextureRect, calcBevelNeedRect(), KisLsUtils::growRectFromRadius(), initialFetchRect, kisGrowRect(), shadowHighlightsFinalRect, and psd_layer_effects_bevel_emboss::soften().

Member Function Documentation

◆ calcBevelChangeRect()

QRect BevelEmbossRectCalculator::calcBevelChangeRect ( const QRect & applyRect,
const psd_layer_effects_bevel_emboss * config )
inlineprivate

Definition at line 224 of file kis_ls_bevel_emboss_filter.cpp.

224 {
225 const int size = config->size();
226 int limitingGrowSize = 0;
227
228 switch (config->style()) {
230 limitingGrowSize = size;
231 break;
233 limitingGrowSize = 0;
234 break;
235 case psd_bevel_emboss: {
236 const int initialSize = std::ceil(qreal(size) / 2.0);
237 limitingGrowSize = initialSize;
238 break;
239 }
241 const int halfSizeC = std::ceil(qreal(size) / 2.0);
242 limitingGrowSize = halfSizeC;
243 break;
244 }
246 warnKrita << "WARNING: Stroke Emboss style is not implemented yet!";
247 return applyRect;
248 }
249
250 return kisGrowRect(applyRect, limitingGrowSize);
251 }
qint32 size() const
Definition psd.h:306
#define warnKrita
Definition kis_debug.h:87
int size(const Forest< T > &forest)
Definition KisForest.h:1232
@ psd_bevel_pillow_emboss
Definition psd.h:138
@ psd_bevel_inner_bevel
Definition psd.h:136
@ psd_bevel_stroke_emboss
Definition psd.h:139
@ psd_bevel_outer_bevel
Definition psd.h:135
@ psd_bevel_emboss
Definition psd.h:137
psd_bevel_style style() const
Definition psd.h:721

References kisGrowRect(), psd_bevel_emboss, psd_bevel_inner_bevel, psd_bevel_outer_bevel, psd_bevel_pillow_emboss, psd_bevel_stroke_emboss, psd_layer_effects_shadow_base::size(), psd_layer_effects_bevel_emboss::style(), and warnKrita.

◆ calcBevelNeedRect()

QRect BevelEmbossRectCalculator::calcBevelNeedRect ( const QRect & applyRect,
const psd_layer_effects_bevel_emboss * config )
inlineprivate

Definition at line 253 of file kis_ls_bevel_emboss_filter.cpp.

253 {
254 const int size = config->size();
255 int limitingGrowSize = size;
256
257 return kisGrowRect(applyRect, limitingGrowSize);
258 }

References kisGrowRect(), and psd_layer_effects_shadow_base::size().

◆ totalChangeRect()

QRect BevelEmbossRectCalculator::totalChangeRect ( const QRect & applyRect,
const psd_layer_effects_bevel_emboss * config )
inline

Definition at line 199 of file kis_ls_bevel_emboss_filter.cpp.

199 {
200 QRect changeRect = calcBevelChangeRect(applyRect, config);
201 changeRect = kisGrowRect(changeRect, 1); // bumpmap method
202 changeRect = KisLsUtils::growRectFromRadius(changeRect, config->soften());
203 return changeRect;
204 }
QRect calcBevelChangeRect(const QRect &applyRect, const psd_layer_effects_bevel_emboss *config)

References calcBevelChangeRect(), KisLsUtils::growRectFromRadius(), kisGrowRect(), and psd_layer_effects_bevel_emboss::soften().

◆ totalNeedRect()

QRect BevelEmbossRectCalculator::totalNeedRect ( const QRect & applyRect,
const psd_layer_effects_bevel_emboss * config )
inline

Definition at line 206 of file kis_ls_bevel_emboss_filter.cpp.

206 {
207 QRect changeRect = applyRect;
208 changeRect = KisLsUtils::growRectFromRadius(changeRect, config->soften());
209 changeRect = kisGrowRect(changeRect, 1); // bumpmap method
210 changeRect = calcBevelNeedRect(applyRect, config);
211 return changeRect;
212 }

References calcBevelNeedRect(), KisLsUtils::growRectFromRadius(), kisGrowRect(), and psd_layer_effects_bevel_emboss::soften().

Member Data Documentation

◆ applyBevelRect

QRect BevelEmbossRectCalculator::applyBevelRect

Definition at line 215 of file kis_ls_bevel_emboss_filter.cpp.

◆ applyBumpmapRect

QRect BevelEmbossRectCalculator::applyBumpmapRect

Definition at line 218 of file kis_ls_bevel_emboss_filter.cpp.

◆ applyContourRect

QRect BevelEmbossRectCalculator::applyContourRect

Definition at line 217 of file kis_ls_bevel_emboss_filter.cpp.

◆ applyGaussianRect

QRect BevelEmbossRectCalculator::applyGaussianRect

Definition at line 220 of file kis_ls_bevel_emboss_filter.cpp.

◆ applyGlossContourRect

QRect BevelEmbossRectCalculator::applyGlossContourRect

Definition at line 219 of file kis_ls_bevel_emboss_filter.cpp.

◆ applyTextureRect

QRect BevelEmbossRectCalculator::applyTextureRect

Definition at line 216 of file kis_ls_bevel_emboss_filter.cpp.

◆ initialFetchRect

QRect BevelEmbossRectCalculator::initialFetchRect

Definition at line 214 of file kis_ls_bevel_emboss_filter.cpp.

◆ shadowHighlightsFinalRect

QRect BevelEmbossRectCalculator::shadowHighlightsFinalRect

Definition at line 221 of file kis_ls_bevel_emboss_filter.cpp.


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