00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef __FIREVISION_UTILS_SCALERS_LOSSY_H_
00026 #define __FIREVISION_UTILS_SCALERS_LOSSY_H_
00027
00028 #include <fvutils/scalers/scaler.h>
00029
00030 namespace firevision {
00031 #if 0
00032 }
00033 #endif
00034
00035 class LossyScaler : public Scaler {
00036
00037 public:
00038 LossyScaler();
00039 virtual ~LossyScaler();
00040
00041 virtual void set_scale_factor(float factor);
00042 virtual void set_original_dimensions(unsigned int width,
00043 unsigned int height);
00044 virtual void set_scaled_dimensions(unsigned int width,
00045 unsigned int height);
00046 virtual void set_original_buffer(unsigned char *buffer);
00047 virtual void set_scaled_buffer(unsigned char *buffer);
00048 virtual void scale();
00049 virtual unsigned int needed_scaled_width();
00050 virtual unsigned int needed_scaled_height();
00051 virtual float get_scale_factor();
00052
00053 private:
00054 unsigned int orig_width;
00055 unsigned int orig_height;
00056 unsigned char *orig_buffer;
00057
00058 unsigned int scal_width;
00059 unsigned int scal_height;
00060 unsigned char *scal_buffer;
00061
00062 float scale_factor;
00063
00064 };
00065
00066 }
00067
00068 #endif