1 #ifndef IMAGESOURCE_UTIL_H
2 #define IMAGESOURCE_UTIL_H
3 
4 #include "imagesource.h"
5 
6 enum IS_ScalingQuality
7 {
8 	IS_SCALING_AUTOMATIC,
9 	IS_SCALING_NEARESTNEIGHBOUR,
10 	IS_SCALING_BILINEAR,
11 	IS_SCALING_LANCZOSSINC,
12 	IS_SCALING_MAX,
13 	IS_SCALING_DOWNSAMPLE	// An extra entry used for high-quality image reduction.
14 };
15 
16 struct IS_ScalingQualityDescription
17 {
18 	const char *Name;
19 	const char *Description;
20 };
21 
22 
23 ImageSource *ISLoadImage(const char *filename);
24 ImageSource *ISScaleImageByResolution(ImageSource *source,double xres,double yres,IS_ScalingQuality quality=IS_SCALING_AUTOMATIC);
25 ImageSource *ISScaleImageBySize(ImageSource *source,int w,int h,IS_ScalingQuality quality=IS_SCALING_AUTOMATIC);
26 const IS_ScalingQualityDescription *DescribeScalingQuality(IS_ScalingQuality quality);
27 
28 #endif
29