equal
  deleted
  inserted
  replaced
  
    
    
   221 				s->x = osax[osa_samp]/h + (Float)sx/h - (Float)w/h/2.0;  | 
   221 				s->x = osax[osa_samp]/h + (Float)sx/h - (Float)w/h/2.0;  | 
   222 				s->y = osay[osa_samp]/h + (Float)sy/h - 0.5;  | 
   222 				s->y = osay[osa_samp]/h + (Float)sy/h - 0.5;  | 
   223 			}  | 
   223 			}  | 
   224 			else  | 
   224 			else  | 
   225 			{ | 
   225 			{ | 
   226 				sx++;  | 
         | 
   227 				if (sx >= w)  | 
         | 
   228 				{ | 
         | 
   229 					sx = 0;  | 
         | 
   230 					sy++;  | 
         | 
   231 				}  | 
         | 
   232 				if (sy >= h)  | 
         | 
   233 					return false;  | 
         | 
   234   | 
         | 
   235 				if (subsample > 1)  | 
   226 				if (subsample > 1)  | 
   236 				{ | 
   227 				{ | 
   237 					// find next not interpolated pixel  | 
   228 					// find next not interpolated pixel  | 
   238 					while ( *(buffer + 3*(sy*w + sx)) >= 0. )  | 
   229 					do  | 
   239 					{ | 
   230 					{ | 
   240 						sx++;  | 
   231 						sx++;  | 
   241 						if (sx >= w)  | 
   232 						if (sx >= w)  | 
   242 						{ | 
   233 						{ | 
   243 							sx = 0;  | 
   234 							sx = 0;  | 
   244 							sy++;  | 
   235 							sy++;  | 
   245 						}  | 
   236 						}  | 
   246 						if (sy >= h)  | 
   237 						if (sy >= h)  | 
   247 							return false;  | 
   238 							return false;  | 
   248 					}  | 
   239 					}  | 
         | 
   240 					while ( *(buffer + 3*(sy*w + sx)) >= 0. );  | 
         | 
   241 				}  | 
         | 
   242 				else if (!oversample && !(w&1) && !(h&1))  | 
         | 
   243 				{ | 
         | 
   244 					// generate good raster for packet tracing  | 
         | 
   245 					const int j = ((sy&1)<<1) + (sx&1);  | 
         | 
   246 					switch (j)  | 
         | 
   247 					{ | 
         | 
   248 						case 0:  | 
         | 
   249 						case 2:  | 
         | 
   250 							sx++;  | 
         | 
   251 							break;  | 
         | 
   252 						case 1:  | 
         | 
   253 							sx--;  | 
         | 
   254 							sy++;  | 
         | 
   255 							break;  | 
         | 
   256 						case 3:  | 
         | 
   257 							sx++;  | 
         | 
   258 							if (sx >= w)  | 
         | 
   259 							{ | 
         | 
   260 								sx = 0;  | 
         | 
   261 								sy++;  | 
         | 
   262 							}  | 
         | 
   263 							else  | 
         | 
   264 								sy--;  | 
         | 
   265 							if (sy >= h)  | 
         | 
   266 								return false;  | 
         | 
   267 							break;  | 
         | 
   268 					}  | 
         | 
   269 				}  | 
         | 
   270 				else  | 
         | 
   271 				{ | 
         | 
   272 					sx++;  | 
         | 
   273 					if (sx >= w)  | 
         | 
   274 					{ | 
         | 
   275 						sx = 0;  | 
         | 
   276 						sy++;  | 
         | 
   277 					}  | 
         | 
   278 					if (sy >= h)  | 
         | 
   279 						return false;  | 
   249 				}  | 
   280 				}  | 
   250   | 
   281   | 
   251 				s->x = (Float)sx/h - (Float)w/h/2.0;  | 
   282 				s->x = (Float)sx/h - (Float)w/h/2.0;  | 
   252 				s->y = (Float)sy/h - 0.5;  | 
   283 				s->y = (Float)sy/h - 0.5;  | 
   253 				osa_samp = 0;  | 
   284 				osa_samp = 0;  |