lossy.h
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 class LossyScaler : public Scaler {
00031
00032 public:
00033 LossyScaler();
00034 virtual ~LossyScaler();
00035
00036 virtual void set_scale_factor(float factor);
00037 virtual void set_original_dimensions(unsigned int width,
00038 unsigned int height);
00039 virtual void set_scaled_dimensions(unsigned int width,
00040 unsigned int height);
00041 virtual void set_original_buffer(unsigned char *buffer);
00042 virtual void set_scaled_buffer(unsigned char *buffer);
00043 virtual void scale();
00044 virtual unsigned int needed_scaled_width();
00045 virtual unsigned int needed_scaled_height();
00046 virtual float get_scale_factor();
00047
00048 private:
00049 unsigned int orig_width;
00050 unsigned int orig_height;
00051 unsigned char *orig_buffer;
00052
00053 unsigned int scal_width;
00054 unsigned int scal_height;
00055 unsigned char *scal_buffer;
00056
00057 float scale_factor;
00058
00059 };
00060
00061 #endif