59 class Q_DECL_HIDDEN Args
69 DImg* orgImage =
nullptr;
70 DImg* destImage =
nullptr;
72 bool AntiAlias =
false;
74 bool Horizontal =
false;
75 bool Vertical =
false;
83 bool WavesType =
false;
84 bool FillSides =
false;
93 explicit DistortionFXFilter(QObject*
const parent =
nullptr);
94 explicit DistortionFXFilter(DImg*
const orgImage, QObject*
const parent =
nullptr,
int effectType=0,
95 int level=0,
int iteration=0,
bool antialiasing=
true);
97 ~DistortionFXFilter()
override;
101 return QLatin1String(
"digikam:DistortionFXFilter");
104 static QString DisplayableName();
108 return QList<int>() << 1;
118 return FilterIdentifier();
123 void readParameters(
const FilterAction& action)
override;
128 void filterImage()
override;
131 void fisheye(
DImg* orgImage,
DImg* destImage,
double Coeff,
bool AntiAlias =
true);
132 void fisheyeMultithreaded(
const Args& prm);
134 void twirl(
DImg* orgImage,
DImg* destImage,
int dist,
bool AntiAlias =
true);
135 void twirlMultithreaded(
const Args& prm);
137 void cilindrical(
DImg* orgImage,
DImg* destImage,
double Coeff,
138 bool Horizontal,
bool Vertical,
bool AntiAlias =
true);
139 void cilindricalMultithreaded(
const Args& prm);
141 void multipleCorners(
DImg* orgImage,
DImg* destImage,
int Factor,
bool AntiAlias =
true);
142 void multipleCornersMultithreaded(
const Args& prm);
144 void polarCoordinates(
DImg* orgImage,
DImg* destImage,
bool Type,
bool AntiAlias =
true);
145 void polarCoordinatesMultithreaded(
const Args& prm);
147 void circularWaves(
DImg* orgImage,
DImg* destImage,
int X,
int Y,
double Amplitude,
148 double Frequency,
double Phase,
bool WavesType,
bool AntiAlias =
true);
149 void circularWavesMultithreaded(
const Args& prm);
152 void waves(
DImg* orgImage,
DImg* destImage,
int Amplitude,
int Frequency,
153 bool FillSides,
bool Direction);
154 void wavesHorizontalMultithreaded(
const Args& prm);
155 void wavesVerticalMultithreaded(
const Args& prm);
157 void blockWaves(
DImg* orgImage,
DImg* destImage,
int Amplitude,
int Frequency,
bool Mode);
158 void blockWavesMultithreaded(
const Args& prm);
160 void tile(
DImg* orgImage,
DImg* destImage,
int WSize,
int HSize,
int Random);
161 void tileMultithreaded(
const Args& prm);
163 void setPixelFromOther(
int Width,
int Height,
bool sixteenBit,
int bytesDepth,
164 uchar* data, uchar* pResBits,
165 int w,
int h,
double nw,
double nh,
bool AntiAlias);
168 inline int Lim_Max(
int Now,
int Up,
int Max)
172 while (Now > Max - Up)
180 inline bool isInside (
int Width,
int Height,
int X,
int Y)
182 bool bIsWOk = ((
X < 0) ?
false : (
X >=
Width ) ? false : true);
183 bool bIsHOk = ((Y < 0) ?
false : (Y >=
Height) ? false : true);
185 return (bIsWOk && bIsHOk);
188 inline int getOffset(
int Width,
int X,
int Y,
int bytesDepth)
190 return (Y * Width * bytesDepth) + (
X * bytesDepth);
193 inline int getOffsetAdjusted(
int Width,
int Height,
int X,
int Y,
int bytesDepth)
198 return getOffset(Width,
X, Y, bytesDepth);
204 Private*
const d =
nullptr;
Definition dimgthreadedfilter.h:31
Definition distortionfxfilter.h:32
static int CurrentVersion()
Definition distortionfxfilter.h:111
static QList< int > SupportedVersions()
Definition distortionfxfilter.h:106
static QString FilterIdentifier()
Definition distortionfxfilter.h:99
QString filterIdentifier() const override
Definition distortionfxfilter.h:116
DistortionFXTypes
Definition distortionfxfilter.h:38
@ WavesVertical
Definition distortionfxfilter.h:47
@ PolarCoordinates
Definition distortionfxfilter.h:52
@ CircularWaves1
Definition distortionfxfilter.h:50
@ CircularWaves2
Definition distortionfxfilter.h:51
@ WavesHorizontal
Definition distortionfxfilter.h:46
@ BlockWaves2
Definition distortionfxfilter.h:49
@ MultipleCorners
Definition distortionfxfilter.h:45
@ CilindricalHor
Definition distortionfxfilter.h:41
@ Twirl
Definition distortionfxfilter.h:40
@ Caricature
Definition distortionfxfilter.h:44
@ BlockWaves1
Definition distortionfxfilter.h:48
@ CilindricalVert
Definition distortionfxfilter.h:42
@ CilindricalHV
Definition distortionfxfilter.h:43
@ UnpolarCoordinates
Definition distortionfxfilter.h:53
Definition filteraction.h:33
@ Width
Definition coredbfields.h:77
@ Height
Definition coredbfields.h:78
Definition datefolderview.cpp:34
Type
Definition gpsitemcontainer.h:36