From a4281a9d873c89ebffe0dbdd56320a36f12a9f9a Mon Sep 17 00:00:00 2001 From: Oliver Duis Date: Fri, 1 Jul 2011 14:49:15 +0200 Subject: [PATCH] Optimizations and cleanups (missing float conversion, defines, 1.0 vs 1.f etc.) --- rtengine/array2D.h | 3 + rtengine/demosaic_algos.cc | 116 ++++++++++++++++---------------- rtengine/dirpyrLab_equalizer.cc | 1 + rtengine/dirpyr_equalizer.cc | 8 +-- rtengine/expo_before_b.cc | 2 +- rtengine/fast_demo.cc | 19 +++--- rtengine/green_equil_RT.cc | 6 +- rtengine/rawimage.cc | 2 + rtengine/rawimagesource.cc | 20 +++--- rtengine/rawimagesource.h | 1 - rtengine/safegtk.cc | 2 +- rtengine/stdimagesource.cc | 112 ++---------------------------- rtengine/stdimagesource.h | 2 - rtengine/utils.cc | 28 ++++---- rtgui/dirbrowser.cc | 8 +-- rtgui/dirbrowser.h | 6 +- rtgui/editorpanel.cc | 8 +-- rtgui/filecatalog.cc | 8 +-- rtgui/filecatalog.h | 6 +- rtgui/imageareapanel.cc | 2 +- rtgui/main.cc | 4 +- rtgui/options.cc | 4 +- rtgui/preferences.cc | 10 +-- rtgui/splash.cc | 6 +- rtgui/thumbbrowserbase.cc | 2 +- 25 files changed, 143 insertions(+), 243 deletions(-) diff --git a/rtengine/array2D.h b/rtengine/array2D.h index 71e72e533..997a637ee 100644 --- a/rtengine/array2D.h +++ b/rtengine/array2D.h @@ -55,6 +55,8 @@ #ifndef ARRAY2D_H_ #define ARRAY2D_H_ #include // for raise() +#include + // flags for use #define ARRAY2D_LOCK_DATA 1 #define ARRAY2D_CLEAR_DATA 2 @@ -154,6 +156,7 @@ public: // use with indices T * operator[](size_t index) { + assert(index>=0 && index=0 && indx=0 && indx=0 && c<3); - bufferH[indx][c] = ( 4*bufferH[indx][1] + bufferH[indx][c] = ( 4.f * bufferH[indx][1] - bufferH[indx+u+1][1] - bufferH[indx+u-1][1] - bufferH[indx-u+1][1] - bufferH[indx-u-1][1] - + image[indx+u+1][c] + image[indx+u-1][c] + image[indx-u+1][c] + image[indx-u-1][c] ) * 0.25; - bufferV[indx][c] = ( 4*bufferV[indx][1] + + image[indx+u+1][c] + image[indx+u-1][c] + image[indx-u+1][c] + image[indx-u-1][c] ) * 0.25f; + bufferV[indx][c] = ( 4.f * bufferV[indx][1] - bufferV[indx+u+1][1] - bufferV[indx+u-1][1] - bufferV[indx-u+1][1] - bufferV[indx-u-1][1] - + image[indx+u+1][c] + image[indx+u-1][c] + image[indx-u+1][c] + image[indx-u-1][c] ) * 0.25; + + image[indx+u+1][c] + image[indx+u-1][c] + image[indx-u+1][c] + image[indx-u-1][c] ) * 0.25f; } // red or blue in green pixels for (int row=rowMin; row=0 && indx=0 && c<3 && d>=0 && d<3); - bufferH[indx][c] = ( image[indx+1][c] + image[indx-1][c]) * 0.5; - bufferH[indx][d] = (2*bufferH[indx][1] - bufferH[indx+u][1] - bufferH[indx-u][1] + image[indx+u][d] + image[indx-u][d]) * 0.5; - bufferV[indx][c] = (2*bufferV[indx][1] - bufferV[indx+1][1] - bufferV[indx-1][1] + image[indx+1][c] + image[indx-1][c]) * 0.5; - bufferV[indx][d] = (image[indx+u][d] + image[indx-u][d]) * 0.5; + bufferH[indx][c] = (image[indx+1][c] + image[indx-1][c]) * 0.5f; + bufferH[indx][d] = (2.f * bufferH[indx][1] - bufferH[indx+u][1] - bufferH[indx-u][1] + image[indx+u][d] + image[indx-u][d]) * 0.5f; + bufferV[indx][c] = (2.f * bufferV[indx][1] - bufferV[indx+1][1] - bufferV[indx-1][1] + image[indx+1][c] + image[indx-1][c]) * 0.5f; + bufferV[indx][d] = (image[indx+u][d] + image[indx-u][d]) * 0.5f; } // Decide green pixels @@ -1262,17 +1262,17 @@ void RawImageSource::dcb_color(float (*image)[4], int x0, int y0) for (int row=rowMin; row < rowMax; row++) for (int col=colMin+(FC(y0-TILEBORDER+row,x0-TILEBORDER+colMin) & 1), indx=row*CACHESIZE+col, c=2-FC(y0-TILEBORDER+row,x0-TILEBORDER+col); col < colMax; col+=2, indx+=2) { assert(indx>=0 && indx=0 && c<4); - image[indx][c] = ( 4.0 * image[indx][1] + image[indx][c] = ( 4.f * image[indx][1] - image[indx+u+1][1] - image[indx+u-1][1] - image[indx-u+1][1] - image[indx-u-1][1] - + image[indx+u+1][c] + image[indx+u-1][c] + image[indx-u+1][c] + image[indx-u-1][c] ) * 0.25; + + image[indx+u+1][c] + image[indx+u-1][c] + image[indx-u+1][c] + image[indx-u-1][c] ) * 0.25f; } // red or blue in green pixels for (int row=rowMin; row=0 && indx=0 && c<4); - image[indx][c] = (2.0 * image[indx][1] - image[indx+1][1] - image[indx-1][1] + image[indx+1][c] + image[indx-1][c]) * 0.5; - image[indx][d] = (2.0 * image[indx][1] - image[indx+u][1] - image[indx-u][1] + image[indx+u][d] + image[indx-u][d]) * 0.5; + image[indx][c] = (2.f * image[indx][1] - image[indx+1][1] - image[indx-1][1] + image[indx+1][c] + image[indx-1][c]) * 0.5f; + image[indx][d] = (2.f * image[indx][1] - image[indx+u][1] - image[indx-u][1] + image[indx+u][d] + image[indx-u][d]) * 0.5f; } } @@ -1286,8 +1286,8 @@ void RawImageSource::dcb_hid2(float (*image)[4], int x0, int y0) for (int row=rowMin; row < rowMax; row++) { for (int col = colMin+(FC(y0-TILEBORDER+row,x0-TILEBORDER+colMin)&1),indx=row*CACHESIZE+col,c=FC(y0-TILEBORDER+row,x0-TILEBORDER+col); col < colMax; col+=2, indx+=2) { assert(indx>=0 && indx=0 && indx=0 && indx=0 && indx=0 && indx=0 && c<2); chroma[indx][c]=(f[0]*g[0]+f[1]*g[1]+f[2]*g[2]+f[3]*g[3])/(f[0]+f[1]+f[2]+f[3]); @@ -1488,15 +1488,15 @@ void RawImageSource::dcb_color_full(float (*image)[4], int x0, int y0, float (*c for (int row=rowMin; row=0 && indx=0 && c<2); chroma[indx][c]=(f[0]*g[0]+f[1]*g[1]+f[2]*g[2]+f[3]*g[3])/(f[0]+f[1]+f[2]+f[3]); diff --git a/rtengine/dirpyrLab_equalizer.cc b/rtengine/dirpyrLab_equalizer.cc index b6e68854b..307ac341c 100644 --- a/rtengine/dirpyrLab_equalizer.cc +++ b/rtengine/dirpyrLab_equalizer.cc @@ -206,6 +206,7 @@ namespace rtengine { for (int i=0; iH; i++) for (int j=0; jW; j++) { + // TODO: Is integer cast necessary here? dst->L[i][j] = CLIP((int)( buffer[0][i][j] )); dst->a[i][j] = CLIPC((int)( buffer[1][i][j] )); dst->b[i][j] = CLIPC((int)( buffer[2][i][j] )); diff --git a/rtengine/dirpyr_equalizer.cc b/rtengine/dirpyr_equalizer.cc index 5f2d21450..aa45a902f 100644 --- a/rtengine/dirpyr_equalizer.cc +++ b/rtengine/dirpyr_equalizer.cc @@ -142,7 +142,7 @@ namespace rtengine { for (int i=0; i>2]; //store in rgb array the interpolated G value at R/B grid points using directional weighted average - green[i][j]=(int)((wtu*rawData[i-1][j]+wtd*rawData[i+1][j]+wtl*rawData[i][j-1]+wtr*rawData[i][j+1])/(wtu+wtd+wtl+wtr)); + green[i][j]=(wtu*rawData[i-1][j]+wtd*rawData[i+1][j]+wtl*rawData[i][j-1]+wtr*rawData[i][j+1]) / (wtu+wtd+wtl+wtr); //red[i][j] = green[i][j]; //blue[i][j] = green[i][j]; @@ -224,10 +225,10 @@ void RawImageSource::fast_demosaic(int winx, int winy, int winw, int winh) { if (c==0) {//R site red[i][j] = rawData[i][j]; - blue[i][j] = green[i][j] - 0.25*((green[i-1][j-1]+green[i-1][j+1]+green[i+1][j+1]+green[i+1][j-1]) - \ + blue[i][j] = green[i][j] - 0.25f*((green[i-1][j-1]+green[i-1][j+1]+green[i+1][j+1]+green[i+1][j-1]) - \ MIN(clip_pt,rawData[i-1][j-1]+rawData[i-1][j+1]+rawData[i+1][j+1]+rawData[i+1][j-1])); } else {//B site - red[i][j] = green[i][j] - 0.25*((green[i-1][j-1]+green[i-1][j+1]+green[i+1][j+1]+green[i+1][j-1]) - \ + red[i][j] = green[i][j] - 0.25f*((green[i-1][j-1]+green[i-1][j+1]+green[i+1][j+1]+green[i+1][j-1]) - \ MIN(clip_pt,rawData[i-1][j-1]+rawData[i-1][j+1]+rawData[i+1][j+1]+rawData[i+1][j-1])); blue[i][j] = rawData[i][j]; } @@ -246,9 +247,9 @@ void RawImageSource::fast_demosaic(int winx, int winy, int winw, int winh) { for (int j=bord+1-(FC(i,2)&1); j < W-bord; j+=2) { //interpolate R and B colors at G sites - red[i][j] = green[i][j] - 0.25*((green[i-1][j]-red[i-1][j])+(green[i+1][j]-red[i+1][j])+ \ + red[i][j] = green[i][j] - 0.25f*((green[i-1][j]-red[i-1][j])+(green[i+1][j]-red[i+1][j])+ \ (green[i][j-1]-red[i][j-1])+(green[i][j+1]-red[i][j+1])); - blue[i][j] = green[i][j] - 0.25*((green[i-1][j]-blue[i-1][j])+(green[i+1][j]-blue[i+1][j])+ \ + blue[i][j] = green[i][j] - 0.25f*((green[i-1][j]-blue[i-1][j])+(green[i+1][j]-blue[i+1][j])+ \ (green[i][j-1]-blue[i][j-1])+(green[i][j+1]-blue[i][j+1])); } progress+=(double)0.33/(H); diff --git a/rtengine/green_equil_RT.cc b/rtengine/green_equil_RT.cc index 651041934..4df153d1f 100644 --- a/rtengine/green_equil_RT.cc +++ b/rtengine/green_equil_RT.cc @@ -102,8 +102,8 @@ void RawImageSource::green_equilibrate(float thresh) o2_3=cfa[(rr)][cc-2]; o2_4=cfa[(rr)][cc+2]; - d1=(o1_1+o1_2+o1_3+o1_4)/4.0; - d2=(o2_1+o2_2+o2_3+o2_4)/4.0; + d1=(o1_1+o1_2+o1_3+o1_4)*0.25f; + d2=(o2_1+o2_2+o2_3+o2_4)*0.25f; c1=(fabs(o1_1-o1_2)+fabs(o1_1-o1_3)+fabs(o1_1-o1_4)+fabs(o1_2-o1_3)+fabs(o1_3-o1_4)+fabs(o1_2-o1_4))/6.0; c2=(fabs(o2_1-o2_2)+fabs(o2_1-o2_3)+fabs(o2_1-o2_4)+fabs(o2_2-o2_3)+fabs(o2_3-o2_4)+fabs(o2_2-o2_4))/6.0; @@ -131,7 +131,7 @@ void RawImageSource::green_equilibrate(float thresh) ginterp=(gse*wtse+gnw*wtnw+gne*wtne+gsw*wtsw)/(wtse+wtnw+wtne+wtsw); if ( ((ginterp-gin) < thresh*(ginterp+gin)) ) { - rawData[rr][cc]=0.5*(ginterp+gin); + rawData[rr][cc]=0.5f*(ginterp+gin); counter++; } diff --git a/rtengine/rawimage.cc b/rtengine/rawimage.cc index 8e8f9d5cf..53594942d 100644 --- a/rtengine/rawimage.cc +++ b/rtengine/rawimage.cc @@ -229,10 +229,12 @@ unsigned short** RawImage::compress_image() // copy pixel raw data: the compressed format earns space if (filters != 0) { + #pragma omp parallel for for (int row = 0; row < height; row++) for (int col = 0; col < width; col++) this->data[row][col] = image[row * width + col][FC(row, col)]; } else { + #pragma omp parallel for for (int row = 0; row < height; row++) for (int col = 0; col < width; col++) { this->data[row][3 * col + 0] = image[row * width + col][0]; diff --git a/rtengine/rawimagesource.cc b/rtengine/rawimagesource.cc index 6c7c4709c..d5191ad1d 100644 --- a/rtengine/rawimagesource.cc +++ b/rtengine/rawimagesource.cc @@ -704,20 +704,20 @@ void RawImageSource::transLine (float* red, float* green, float* blue, int i, Im if (i==1 || i==2) { // linear interpolation for (int j=0; jr[row][2*i-1] = (red[j] + image->r[row][2*i-2]) /2; - image->g[row][2*i-1] = (green[j] + image->g[row][2*i-2]) /2; - image->b[row][2*i-1] = (blue[j] + image->b[row][2*i-2]) /2; + image->r[row][2*i-1] = (red[j] + image->r[row][2*i-2]) * 0.5f; + image->g[row][2*i-1] = (green[j] + image->g[row][2*i-2]) * 0.5f; + image->b[row][2*i-1] = (blue[j] + image->b[row][2*i-2]) * 0.5f; } } else if (i==imheight-1) { for (int j=0; jr[row][2*i-1] = (red[j] + image->r[row][2*i-2]) /2; - image->g[row][2*i-1] = (green[j] + image->g[row][2*i-2]) /2; - image->b[row][2*i-1] = (blue[j] + image->b[row][2*i-2]) /2; - image->r[row][2*i-3] = (image->r[row][2*i-2] + image->r[row][2*i-4]) /2; - image->g[row][2*i-3] = (image->g[row][2*i-2] + image->g[row][2*i-4]) /2; - image->b[row][2*i-3] = (image->b[row][2*i-2] + image->b[row][2*i-4]) /2; + image->r[row][2*i-1] = (red[j] + image->r[row][2*i-2]) * 0.5f; + image->g[row][2*i-1] = (green[j] + image->g[row][2*i-2]) * 0.5f; + image->b[row][2*i-1] = (blue[j] + image->b[row][2*i-2]) * 0.5f; + image->r[row][2*i-3] = (image->r[row][2*i-2] + image->r[row][2*i-4]) * 0.5f; + image->g[row][2*i-3] = (image->g[row][2*i-2] + image->g[row][2*i-4]) * 0.5f; + image->b[row][2*i-3] = (image->b[row][2*i-2] + image->b[row][2*i-4]) * 0.5f; } } else if (i>0 && ir, tran, i, imwidth, imheight); diff --git a/rtengine/rawimagesource.h b/rtengine/rawimagesource.h index 7cb25eb54..d746e69f0 100644 --- a/rtengine/rawimagesource.h +++ b/rtengine/rawimagesource.h @@ -118,7 +118,6 @@ class RawImageSource : public ImageSource { void transformRect (PreviewProps pp, int tran, int &sx1, int &sy1, int &width, int &height, int &fw); void transformPosition (int x, int y, int tran, int& tx, int& ty); - void updateHLRecoveryMap (std::string method, double rm, double gm, double bm); void updateHLRecoveryMap_ColorPropagation (); void HLRecovery_ColorPropagation (float* red, float* green, float* blue, int i, int sx1, int width, int skip); unsigned FC(int row, int col){ return ri->FC(row,col); } diff --git a/rtengine/safegtk.cc b/rtengine/safegtk.cc index d9a66bd9c..dcc56696d 100644 --- a/rtengine/safegtk.cc +++ b/rtengine/safegtk.cc @@ -139,7 +139,7 @@ void safe_build_subdir_list (Glib::RefPtr &dir, std::vectorr[imheight-1-ix][imwidth-1-j] = GCLIP(rm*line_red[j])/65535.0; @@ -272,8 +269,6 @@ void StdImageSource::getImage (ColorTemp ctemp, int tran, Imagefloat* image, Pre t1.set (); -// if (hrp.enabled==true && hrmap[0]==NULL) -// updateHLRecoveryMap (); // the code will use OpenMP as of now. //Image16* tmpim = new Image16 (image->width,image->height); @@ -283,9 +278,9 @@ void StdImageSource::getImage (ColorTemp ctemp, int tran, Imagefloat* image, Pre for ( int h = 0; h < image->height; ++h ) for ( int w = 0; w < image->width; ++w ) { - image->r[h][w] *= 65535.0 ; - image->g[h][w] *= 65535.0 ; - image->b[h][w] *= 65535.0 ; + image->r[h][w] *= 65535.0f; + image->g[h][w] *= 65535.0f; + image->b[h][w] *= 65535.0f; //if (h==100 && w==100) printf("stdimsrc after R= %f G= %f B= %f \n",image->r[h][w],image->g[h][w],image->b[h][w]); } @@ -417,7 +412,7 @@ void StdImageSource::vflip (Imagefloat* image) { int width = image->width; int height = image->height; - register unsigned short tmp; + register float tmp; for (int i=0; ir[i][j]; @@ -431,106 +426,7 @@ void StdImageSource::vflip (Imagefloat* image) { image->b[height-1-i][j] = tmp; } } -/* -void hlRecovery (unsigned short* red, unsigned short* green, unsigned short* blue, int H, int W, int i, int sx1, int sx2, int skip, char** needhr, float** hrmap[3]); -void hlmultipliers (int** rec[3], int max[3], int dh, int dw); -void StdImageSource::updateHLRecoveryMap () { - - // detect maximal pixel values - int maxr = 0, maxg = 0, maxb = 0; - for (int i=32; iheight-32; i++) - for (int j=32; jwidth-32; j++) { - if (img->r[i][j] > maxr) maxr = img->r[i][j]; - if (img->g[i][j] > maxg) maxg = img->g[i][j]; - if (img->b[i][j] > maxb) maxb = img->b[i][j]; - } - - maxr = maxr * 19 / 20; - maxg = maxg * 19 / 20; - maxb = maxb * 19 / 20; - max[0] = maxr; - max[1] = maxg; - max[2] = maxb; - - // downscale image - int dw = img->width/HR_SCALE; - int dh = img->height/HR_SCALE; - Image16* ds = new Image16 (dw, dh); - - // overburnt areas - int** rec[3]; - for (int i=0; i<3; i++) - rec[i] = allocArray (dw, dh); - - if (needhr) - freeArray(needhr, img->height); - needhr = allocArray (img->width, img->height); - - for (int i=0; iheight; i++) - for (int j=0; jwidth; j++) - if (img->r[i][j]>=max[0] || img->g[i][j]>=max[1] || img->b[i][j]>=max[2]) - needhr[i][j] = 1; - else - needhr[i][j] = 0; - - - for (int i=0; iheight; i++) - for (int j=0; jwidth; j++) { - int sumr = 0; int cr = 0; - int sumg = 0; int cg = 0; - int sumb = 0; int cb = 0; - for (int x=0; xr[ix][jy]; - if (img->r[ix][jy] < maxr) cr++; - sumg += img->g[ix][jy]; - if (img->g[ix][jy] < maxg) cg++; - sumb += img->b[ix][jy]; - if (img->b[ix][jy] < maxb) cb++; - } - if (crr[i][j] = sumr / HR_SCALE/HR_SCALE; - ds->g[i][j] = sumg / HR_SCALE/HR_SCALE; - ds->b[i][j] = sumb / HR_SCALE/HR_SCALE; - - } - - hlmultipliers (rec, max, dh, dw); - - if (hrmap[0]!=NULL) { - freeArray (hrmap[0], dh); - freeArray (hrmap[1], dh); - freeArray (hrmap[2], dh); - } - - hrmap[0] = allocArray (dw, dh); - hrmap[1] = allocArray (dw, dh); - hrmap[2] = allocArray (dw, dh); - - for (int i=0; ir[i][j]>0 ? (double)rec[0][i][j] / ds->r[i][j] : 1.0; - hrmap[1][i][j] = ds->g[i][j]>0 ? (double)rec[1][i][j] / ds->g[i][j] : 1.0; - hrmap[2][i][j] = ds->b[i][j]>0 ? (double)rec[2][i][j] / ds->b[i][j] : 1.0; - } - - delete ds; - - freeArray (rec[0], dh); - freeArray (rec[1], dh); - freeArray (rec[2], dh); -} - -void StdImageSource::hlRecovery (unsigned short* red, unsigned short* green, unsigned short* blue, int i, int sx1, int sx2, int skip) { - - rtengine::hlRecovery (red, green, blue, img->height, img->width, i, sx1, sx2, skip, needhr, hrmap); -} -*/ void StdImageSource::getAutoExpHistogram (LUTu & histogram, int& histcompr) { histcompr = 3; diff --git a/rtengine/stdimagesource.h b/rtengine/stdimagesource.h index ae2d50f16..045d9f87b 100644 --- a/rtengine/stdimagesource.h +++ b/rtengine/stdimagesource.h @@ -34,8 +34,6 @@ class StdImageSource : public ImageSource { char** needhr; int max[3]; - void updateHLRecoveryMap (); - void hlRecovery (unsigned short* red, unsigned short* green, unsigned short* blue, int i, int sx1, int sx2, int skip); void transform (PreviewProps pp, int tran, int &sx1, int &sy1, int &sx2, int &sy2); void transformPixel (int x, int y, int tran, int& tx, int& ty); diff --git a/rtengine/utils.cc b/rtengine/utils.cc index a4d4da0ba..62de51a89 100644 --- a/rtengine/utils.cc +++ b/rtengine/utils.cc @@ -186,18 +186,18 @@ void hsv2rgb (float h, float s, float v, int &r, int &g, int &b) { float r1,g1,b1; if (i==0) {r1 = v; g1 = t; b1 = p;} - if (i==1) {r1 = q; g1 = v; b1 = p;} - if (i==2) {r1 = p; g1 = v; b1 = t;} - if (i==3) {r1 = p; g1 = q; b1 = v;} - if (i==4) {r1 = t; g1 = p; b1 = v;} - if (i==5) {r1 = v; g1 = p; b1 = q;} + else if (i==1) {r1 = q; g1 = v; b1 = p;} + else if (i==2) {r1 = p; g1 = v; b1 = t;} + else if (i==3) {r1 = p; g1 = q; b1 = v;} + else if (i==4) {r1 = t; g1 = p; b1 = v;} + else if (i==5) {r1 = v; g1 = p; b1 = q;} - r = (int)((r1)*65535); - g = (int)((g1)*65535); - b = (int)((b1)*65535); + r = (int)( r1 * 65535); + g = (int)( g1 * 65535); + b = (int)( b1 * 65535); } -// The same function but set float values intead if int +// The same function but set float values instead if int // Function copied for speed concerns void hsv2rgb (float h, float s, float v, float &r, float &g, float &b) { @@ -210,11 +210,11 @@ void hsv2rgb (float h, float s, float v, float &r, float &g, float &b) { float t = v * ( 1 - s * ( 1 - f ) ); if (i==0) {r = v; g = t; b = p;} - if (i==1) {r = q; g = v; b = p;} - if (i==2) {r = p; g = v; b = t;} - if (i==3) {r = p; g = q; b = v;} - if (i==4) {r = t; g = p; b = v;} - if (i==5) {r = v; g = p; b = q;} + else if (i==1) {r = q; g = v; b = p;} + else if (i==2) {r = p; g = v; b = t;} + else if (i==3) {r = p; g = q; b = v;} + else if (i==4) {r = t; g = p; b = v;} + else if (i==5) {r = v; g = p; b = q;} } } diff --git a/rtgui/dirbrowser.cc b/rtgui/dirbrowser.cc index cd1bf9190..4edb465d1 100644 --- a/rtgui/dirbrowser.cc +++ b/rtgui/dirbrowser.cc @@ -220,7 +220,7 @@ void DirBrowser::row_expanded (const Gtk::TreeModel::iterator& iter, const Gtk:: dirTreeModel->erase (iter->children().begin()); expandSuccess = true; } -#ifdef _WIN32 +#ifdef WIN32 Glib::RefPtr monitor = Glib::RefPtr(new WinDirMonitor (iter->get_value (dtColumns.dirname), this)); iter->set_value (dtColumns.monitor, monitor); #elif defined __APPLE__ @@ -293,7 +293,7 @@ Gtk::TreePath DirBrowser::expandToDir (const Glib::ustring& absDirPath) { int count = 0; expandSuccess = true; -#ifndef _WIN32 +#ifndef WIN32 Gtk::TreeModel::iterator j = dirTreeModel->get_iter (path); path.up (); path.append_index (0); @@ -303,7 +303,7 @@ Gtk::TreePath DirBrowser::expandToDir (const Glib::ustring& absDirPath) { while (dir) { Glib::ustring dirstr = dir; -#ifdef _WIN32 +#ifdef WIN32 if (count==0) dirstr = dirstr + "\\"; #endif @@ -312,7 +312,7 @@ Gtk::TreePath DirBrowser::expandToDir (const Glib::ustring& absDirPath) { while (i && expandSuccess) { Gtk::TreeModel::Row crow = *i; Glib::ustring str =crow[dtColumns.filename]; -#ifdef _WIN32 +#ifdef WIN32 if (str.casefold()==dirstr.casefold()) { #else if (str==dirstr) { diff --git a/rtgui/dirbrowser.h b/rtgui/dirbrowser.h index b71e2dcd3..2ecf5dbc3 100644 --- a/rtgui/dirbrowser.h +++ b/rtgui/dirbrowser.h @@ -21,14 +21,14 @@ #include #include -#ifdef _WIN32 +#ifdef WIN32 #include #endif #include #include class DirBrowser : public Gtk::VBox, public DirBrowserRemoteInterface -#ifdef _WIN32 +#ifdef WIN32 , public WinDirChangeListener #endif { @@ -43,7 +43,7 @@ class DirBrowser : public Gtk::VBox, public DirBrowserRemoteInterface Gtk::TreeModelColumn > icon1; Gtk::TreeModelColumn > icon2; Gtk::TreeModelColumn dirname; - #ifdef _WIN32 + #ifdef WIN32 Gtk::TreeModelColumn > monitor; #else Gtk::TreeModelColumn > monitor; diff --git a/rtgui/editorpanel.cc b/rtgui/editorpanel.cc index 2884e31bb..7862db91a 100644 --- a/rtgui/editorpanel.cc +++ b/rtgui/editorpanel.cc @@ -1138,7 +1138,7 @@ bool EditorPanel::idle_sentToGimp(ProgressConnector *pc,rtengine::IImage16* Glib::ustring executable; // start gimp if (options.editorToSendTo==1) { -#ifdef _WIN32 +#ifdef WIN32 executable = Glib::build_filename (Glib::build_filename(options.gimpDir,"bin"), "gimp-win-remote"); cmdLine = Glib::ustring("\"") + executable + Glib::ustring("\" gimp-2.4.exe ") + Glib::ustring("\"") + filename + Glib::ustring("\""); if ( safe_file_test(executable, (Glib::FILE_TEST_EXISTS|Glib::FILE_TEST_IS_EXECUTABLE)) ) { @@ -1149,7 +1149,7 @@ bool EditorPanel::idle_sentToGimp(ProgressConnector *pc,rtengine::IImage16* success = safe_spawn_command_line_async (cmdLine); #endif if (!success){ -#ifdef _WIN32 +#ifdef WIN32 int ver = 12; while (!success && ver) { executable = Glib::build_filename (Glib::build_filename(options.gimpDir,"bin"), Glib::ustring::compose(Glib::ustring("gimp-2.%1.exe"),ver)); @@ -1169,7 +1169,7 @@ bool EditorPanel::idle_sentToGimp(ProgressConnector *pc,rtengine::IImage16* } } else if (options.editorToSendTo==2) { -#ifdef _WIN32 +#ifdef WIN32 executable = Glib::build_filename(options.psDir,"Photoshop.exe"); if ( safe_file_test(executable, (Glib::FILE_TEST_EXISTS|Glib::FILE_TEST_IS_EXECUTABLE)) ) { cmdLine = Glib::ustring("\"") + executable + Glib::ustring("\" \"") + filename + Glib::ustring("\""); @@ -1185,7 +1185,7 @@ bool EditorPanel::idle_sentToGimp(ProgressConnector *pc,rtengine::IImage16* #endif } else if (options.editorToSendTo==3) { -#ifdef _WIN32 +#ifdef WIN32 if ( safe_file_test(options.customEditorProg, (Glib::FILE_TEST_EXISTS|Glib::FILE_TEST_IS_EXECUTABLE)) ) { cmdLine = Glib::ustring("\"") + options.customEditorProg + Glib::ustring("\" \"") + filename + Glib::ustring("\""); success = safe_spawn_command_line_async (cmdLine); diff --git a/rtgui/filecatalog.cc b/rtgui/filecatalog.cc index 92e7ac0d2..9418891f6 100644 --- a/rtgui/filecatalog.cc +++ b/rtgui/filecatalog.cc @@ -371,7 +371,7 @@ FileCatalog::FileCatalog (CoarsePanel* cp, ToolBar* tb, FilePanel* filepanel) : } selectedDirectory = ""; -#ifdef _WIN32 +#ifdef WIN32 wdMonitor = NULL; #endif } @@ -431,7 +431,7 @@ void FileCatalog::closeDir () { if (filterPanel) filterPanel->set_sensitive (false); -#ifndef _WIN32 +#ifndef WIN32 if (dirMonitor) dirMonitor->cancel (); #else @@ -497,7 +497,7 @@ void FileCatalog::dirSelected (const Glib::ustring& dirname, const Glib::ustring _refreshProgressBar (); filepanel->loadingThumbs(M("PROGRESSBAR_LOADINGTHUMBS"),0); -#ifdef _WIN32 +#ifdef WIN32 wdMonitor = new WinDirMonitor (selectedDirectory, this); #elif defined __APPLE__ printf("TODO fix dir->monitor_directory () for OSX\n"); @@ -1274,7 +1274,7 @@ int FileCatalog::reparseDirectory () { return 1; } -#ifdef _WIN32 +#ifdef WIN32 int winDirChangedUITread (void* cat) { gdk_threads_enter (); ((FileCatalog*)cat)->reparseDirectory (); diff --git a/rtgui/filecatalog.h b/rtgui/filecatalog.h index 152909dc3..ed65adf40 100644 --- a/rtgui/filecatalog.h +++ b/rtgui/filecatalog.h @@ -19,7 +19,7 @@ #ifndef _FILECATALOG_ #define _FILECATALOG_ -#ifdef _WIN32 +#ifdef WIN32 #include #endif #include @@ -54,7 +54,7 @@ class FileCatalog : public Gtk::VBox, public PreviewLoaderListener, public FilterPanelListener, public FileBrowserListener -#ifdef _WIN32 +#ifdef WIN32 , public WinDirChangeListener #endif { @@ -133,7 +133,7 @@ class FileCatalog : public Gtk::VBox, int previewsLoaded; -#ifdef _WIN32 +#ifdef WIN32 WinDirMonitor* wdMonitor; public: void winDirChanged (); diff --git a/rtgui/imageareapanel.cc b/rtgui/imageareapanel.cc index 8d343889e..2cff78e6b 100644 --- a/rtgui/imageareapanel.cc +++ b/rtgui/imageareapanel.cc @@ -124,7 +124,7 @@ void ImageAreaPanel::scrollChanged () { imageArea->setScrollPosition ((int)(hscroll->get_value()), (int)(vscroll->get_value())); imageArea->queue_draw (); -#ifdef _WIN32 +#ifdef WIN32 gdk_window_process_updates (get_window()->gobj(), true); #endif if (before && this==after) diff --git a/rtgui/main.cc b/rtgui/main.cc index 72a1f39ab..63bacf7e0 100644 --- a/rtgui/main.cc +++ b/rtgui/main.cc @@ -103,7 +103,7 @@ int main(int argc, char **argv) return ret; } -#ifndef _WIN32 +#ifndef WIN32 // Move the old path to the new one if the new does not exist if (safe_file_test(Glib::build_filename(options.rtdir,"cache"), Glib::FILE_TEST_IS_DIR) && !safe_file_test(options.cacheBaseDir, Glib::FILE_TEST_IS_DIR)) safe_g_rename(Glib::build_filename(options.rtdir,"cache"), options.cacheBaseDir); @@ -127,7 +127,7 @@ int main(int argc, char **argv) } Gtk::Main m(&argc, &argv); -#ifndef _WIN32 +#ifndef WIN32 // For an unknown reason, gtkmm 2.22 don't know the gtk-button-images property, while it exists in the documentation... // Anyway, the problem was Linux only static Glib::RefPtr settings = Gtk::Settings::get_default(); diff --git a/rtgui/options.cc b/rtgui/options.cc index e9208543d..3bd5caa29 100644 --- a/rtgui/options.cc +++ b/rtgui/options.cc @@ -568,7 +568,7 @@ void Options::load () { // Find the application data path -#ifdef _WIN32 +#ifdef WIN32 /* * If LOCALAPPDATA exists, RT run on a WinVista/7 system, so we use LOCALAPPDATA as is * otherwise RT run on a Win2000/XP system, so we rebuild the path like this: %USERPROFILE%\Local Settings\Application Data @@ -621,7 +621,7 @@ void Options::load () { options.saveToFile (rtdir + "/options"); } // Modify the path of the cache folder to the user's personal folder -#ifdef _WIN32 +#ifdef WIN32 cacheBaseDir = rtdir + "/cache"; #else cacheBaseDir = Glib::ustring(g_get_user_cache_dir()) + Glib::ustring("/") + Glib::ustring(CACHEFOLDERNAME); diff --git a/rtgui/preferences.cc b/rtgui/preferences.cc index 6b9455ea6..767146ca6 100644 --- a/rtgui/preferences.cc +++ b/rtgui/preferences.cc @@ -595,7 +595,7 @@ Gtk::Widget* Preferences::getGeneralPanel () { hb7b->pack_start (*psDir); dgvb->pack_start (*hb7b, Gtk::PACK_SHRINK, 4); edPS->set_group (ge); -#elif defined _WIN32 +#elif defined WIN32 Gtk::HBox* hb7 = Gtk::manage( new Gtk::HBox () ); edGimp = Gtk::manage( new Gtk::RadioButton (M("PREFERENCES_GIMPPATH")+":") ); hb7->pack_start (*edGimp, Gtk::PACK_SHRINK,4); @@ -930,7 +930,7 @@ void Preferences::storePreferences () { moptions.cutOverlayBrush[3]=butCropCol->get_alpha()/65535.0; moptions.font = fontbutton->get_font_name(); -#ifdef _WIN32 +#ifdef WIN32 moptions.gimpDir = gimpDir->get_filename (); moptions.psDir = psDir->get_filename (); #elif defined __APPLE__ @@ -939,7 +939,7 @@ void Preferences::storePreferences () { moptions.customEditorProg = editorToSendTo->get_text (); if (edGimp->get_active ()) moptions.editorToSendTo = 1; -#ifdef _WIN32 +#ifdef WIN32 else if (edPS->get_active ()) moptions.editorToSendTo = 2; #elif defined __APPLE__ @@ -1060,7 +1060,7 @@ void Preferences::fillPreferences () { edGimp->set_active (moptions.editorToSendTo==1); edOther->set_active (moptions.editorToSendTo==3); -#ifdef _WIN32 +#ifdef WIN32 edPS->set_active (moptions.editorToSendTo==2); if (safe_file_test (moptions.gimpDir, Glib::FILE_TEST_IS_DIR)) gimpDir->set_filename (moptions.gimpDir); @@ -1263,7 +1263,7 @@ void Preferences::switchThemeTo(Glib::ustring newTheme, bool slimInterface) { files.push_back (argv0+"/themes/slim"); Gtk::RC::set_default_files (files); -#ifndef _WIN32 +#ifndef WIN32 // For an unknown reason, gtkmm 2.22 don't know the gtk-button-images property, while it exists in the documentation... // Anyway, the problem was Linux only static Glib::RefPtr settings = Gtk::Settings::get_default(); diff --git a/rtgui/splash.cc b/rtgui/splash.cc index 5f6df525a..6ced387b7 100644 --- a/rtgui/splash.cc +++ b/rtgui/splash.cc @@ -86,7 +86,7 @@ Splash::Splash () { splashImage->show (); // Tab 2: the informations about the current version -#if defined _WIN32 || defined __APPLE__ +#if defined WIN32 || defined __APPLE__ std::string buildFileName = Glib::build_filename (argv0, "AboutThisBuild.txt"); #else std::string buildFileName = Glib::build_filename (CREDITS_SEARCH_PATH, "AboutThisBuild.txt"); @@ -113,7 +113,7 @@ Splash::Splash () { } // Tab 3: the credits -#if defined _WIN32 || defined __APPLE__ +#if defined WIN32 || defined __APPLE__ std::string creditsFileName = Glib::build_filename (argv0, "AUTHORS.txt"); #else std::string creditsFileName = Glib::build_filename (CREDITS_SEARCH_PATH, "AUTHORS.txt"); @@ -140,7 +140,7 @@ Splash::Splash () { } // Tab 4: the license -#if defined _WIN32 || defined __APPLE__ +#if defined WIN32 || defined __APPLE__ std::string licenseFileName = Glib::build_filename (argv0, "LICENSE.txt"); #else std::string licenseFileName = Glib::build_filename (LICENCE_SEARCH_PATH, "LICENSE.txt"); diff --git a/rtgui/thumbbrowserbase.cc b/rtgui/thumbbrowserbase.cc index 0fb2507ef..013e15965 100644 --- a/rtgui/thumbbrowserbase.cc +++ b/rtgui/thumbbrowserbase.cc @@ -525,7 +525,7 @@ void ThumbBrowserBase::zoomChanged (bool zoomIn) { } redraw (); -#ifdef _WIN32 +#ifdef WIN32 gdk_window_process_updates (get_window()->gobj(), true); #endif }