summaryrefslogtreecommitdiffstats
path: root/src/gui/painting/qimagescale.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/painting/qimagescale.cpp')
-rw-r--r--src/gui/painting/qimagescale.cpp44
1 files changed, 23 insertions, 21 deletions
diff --git a/src/gui/painting/qimagescale.cpp b/src/gui/painting/qimagescale.cpp
index 9ae95dff78..58e9112dd6 100644
--- a/src/gui/painting/qimagescale.cpp
+++ b/src/gui/painting/qimagescale.cpp
@@ -107,12 +107,12 @@ qt_qimageScaleFunc qt_qimageScaleRgb = qt_qimageScaleAARGB;
namespace QImageScale {
struct QImageScaleInfo {
int *xpoints;
- unsigned int **ypoints;
+ const unsigned int **ypoints;
int *xapoints, *yapoints;
int xup_yup;
};
- unsigned int** qimageCalcYPoints(unsigned int *src, int sw, int sh,
+ const unsigned int** qimageCalcYPoints(const unsigned int *src, int sw, int sh,
int dh);
int* qimageCalcXPoints(int sw, int dw);
int* qimageCalcApoints(int s, int d, int up);
@@ -139,10 +139,10 @@ using namespace QImageScale;
#define INV_YAP (256 - yapoints[dyy + y])
#define YAP (yapoints[dyy + y])
-unsigned int** QImageScale::qimageCalcYPoints(unsigned int *src,
+const unsigned int** QImageScale::qimageCalcYPoints(const unsigned int *src,
int sw, int sh, int dh)
{
- unsigned int **p;
+ const unsigned int **p;
int i, j = 0, rv = 0;
qint64 val, inc;
@@ -150,7 +150,7 @@ unsigned int** QImageScale::qimageCalcYPoints(unsigned int *src,
dh = -dh;
rv = 1;
}
- p = new unsigned int* [dh+1];
+ p = new const unsigned int* [dh+1];
int up = qAbs(dh) >= sh;
val = up ? 0x8000 * sh / dh - 0x8000 : 0;
@@ -161,7 +161,7 @@ unsigned int** QImageScale::qimageCalcYPoints(unsigned int *src,
}
if(rv){
for(i = dh / 2; --i >= 0; ){
- unsigned int *tmp = p[i];
+ const unsigned int *tmp = p[i];
p[i] = p[dh - i - 1];
p[dh - i - 1] = tmp;
}
@@ -282,7 +282,7 @@ QImageScaleInfo* QImageScale::qimageCalcScaleInfo(const QImage &img,
isi->xpoints = qimageCalcXPoints(img.width(), scw);
if(!isi->xpoints)
return(qimageFreeScaleInfo(isi));
- isi->ypoints = qimageCalcYPoints((unsigned int *)img.scanLine(0),
+ isi->ypoints = qimageCalcYPoints((const unsigned int *)img.scanLine(0),
img.bytesPerLine() / 4, img.height(), sch);
if (!isi->ypoints)
return(qimageFreeScaleInfo(isi));
@@ -304,9 +304,10 @@ static void qt_qimageScaleAARGBA(QImageScaleInfo *isi, unsigned int *dest,
int dxx, int dyy, int dx, int dy, int dw,
int dh, int dow, int sow)
{
- unsigned int *sptr, *dptr;
+ const unsigned int *sptr;
+ unsigned int *dptr;
int x, y, end;
- unsigned int **ypoints = isi->ypoints;
+ const unsigned int **ypoints = isi->ypoints;
int *xpoints = isi->xpoints;
int *xapoints = isi->xapoints;
int *yapoints = isi->yapoints;
@@ -323,7 +324,7 @@ static void qt_qimageScaleAARGBA(QImageScaleInfo *isi, unsigned int *dest,
for(x = dxx; x < end; x++){
int r, g, b, a;
int rr, gg, bb, aa;
- unsigned int *pix;
+ const unsigned int *pix;
if(XAP > 0){
pix = ypoints[dyy + y] + xpoints[x];
@@ -374,7 +375,7 @@ static void qt_qimageScaleAARGBA(QImageScaleInfo *isi, unsigned int *dest,
else{
for(x = dxx; x < end; x++){
int r, g, b, a;
- unsigned int *pix;
+ const unsigned int *pix;
if(XAP > 0){
pix = ypoints[dyy + y] + xpoints[x];
@@ -403,7 +404,7 @@ static void qt_qimageScaleAARGBA(QImageScaleInfo *isi, unsigned int *dest,
else if(isi->xup_yup == 1){
/*\ 'Correct' version, with math units prepared for MMXification \*/
int Cy, j;
- unsigned int *pix;
+ const unsigned int *pix;
int r, g, b, a, rr, gg, bb, aa;
int yap;
@@ -477,7 +478,7 @@ static void qt_qimageScaleAARGBA(QImageScaleInfo *isi, unsigned int *dest,
else if(isi->xup_yup == 2){
/*\ 'Correct' version, with math units prepared for MMXification \*/
int Cx, j;
- unsigned int *pix;
+ const unsigned int *pix;
int r, g, b, a, rr, gg, bb, aa;
int xap;
@@ -555,7 +556,7 @@ static void qt_qimageScaleAARGBA(QImageScaleInfo *isi, unsigned int *dest,
|*| psllw (16 - d), %mmb; pmulh %mmc, %mmb
\*/
int Cx, Cy, i, j;
- unsigned int *pix;
+ const unsigned int *pix;
int a, r, g, b, ax, rx, gx, bx;
int xap, yap;
@@ -663,9 +664,10 @@ static void qt_qimageScaleAARGB(QImageScaleInfo *isi, unsigned int *dest,
int dxx, int dyy, int dx, int dy, int dw,
int dh, int dow, int sow)
{
- unsigned int *sptr, *dptr;
+ const unsigned int *sptr;
+ unsigned int *dptr;
int x, y, end;
- unsigned int **ypoints = isi->ypoints;
+ const unsigned int **ypoints = isi->ypoints;
int *xpoints = isi->xpoints;
int *xapoints = isi->xapoints;
int *yapoints = isi->yapoints;
@@ -682,7 +684,7 @@ static void qt_qimageScaleAARGB(QImageScaleInfo *isi, unsigned int *dest,
for(x = dxx; x < end; x++){
int r = 0, g = 0, b = 0;
int rr = 0, gg = 0, bb = 0;
- unsigned int *pix;
+ const unsigned int *pix;
if(XAP > 0){
pix = ypoints[dyy + y] + xpoints[x];
@@ -725,7 +727,7 @@ static void qt_qimageScaleAARGB(QImageScaleInfo *isi, unsigned int *dest,
else{
for(x = dxx; x < end; x++){
int r = 0, g = 0, b = 0;
- unsigned int *pix;
+ const unsigned int *pix;
if(XAP > 0){
pix = ypoints[dyy + y] + xpoints[x];
@@ -751,7 +753,7 @@ static void qt_qimageScaleAARGB(QImageScaleInfo *isi, unsigned int *dest,
else if(isi->xup_yup == 1){
/*\ 'Correct' version, with math units prepared for MMXification \*/
int Cy, j;
- unsigned int *pix;
+ const unsigned int *pix;
int r, g, b, rr, gg, bb;
int yap;
@@ -816,7 +818,7 @@ static void qt_qimageScaleAARGB(QImageScaleInfo *isi, unsigned int *dest,
else if(isi->xup_yup == 2){
/*\ 'Correct' version, with math units prepared for MMXification \*/
int Cx, j;
- unsigned int *pix;
+ const unsigned int *pix;
int r, g, b, rr, gg, bb;
int xap;
@@ -882,7 +884,7 @@ static void qt_qimageScaleAARGB(QImageScaleInfo *isi, unsigned int *dest,
else{
/*\ 'Correct' version, with math units prepared for MMXification \*/
int Cx, Cy, i, j;
- unsigned int *pix;
+ const unsigned int *pix;
int r, g, b, rx, gx, bx;
int xap, yap;