00001
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00033
00034 #ifndef GROOVX_VISX_GABOR_H_UTC20050626084016_DEFINED
00035 #define GROOVX_VISX_GABOR_H_UTC20050626084016_DEFINED
00036
00037 namespace media
00038 {
00039 class bmap_data;
00040 }
00041
00042 #include "gfx/gbcolor.h"
00043 #include "gfx/gxshapekit.h"
00044
00046
00053
00054
00055 class Gabor : public GxShapeKit
00056 {
00057 protected:
00059 Gabor();
00060
00061 public:
00063 static Gabor* make();
00064
00066 virtual ~Gabor() throw();
00067
00069 static const FieldMap& classFields();
00070
00071 virtual io::version_id class_version_id() const;
00072 virtual void read_from(io::reader& reader);
00073 virtual void write_to(io::writer& writer) const;
00074
00078 typedef int ColorMode;
00079
00083 static const ColorMode GRAYSCALE = 1;
00084
00087 static const ColorMode COLOR_INDEX = 2;
00088
00091 static const ColorMode BW_DITHER_POINT = 3;
00092
00096 static const ColorMode BW_DITHER_RECT = 4;
00097
00100 void setLogContrast(double logContrast);
00101
00103 double getLogContrast() const;
00104
00106 void getBmapData(media::bmap_data& bmap) const;
00107
00109 void saveImage(const char* filename) const;
00110
00111 private:
00113 ColorMode itsColorMode;
00114
00116 double itsContrast;
00117
00119 double itsSpatialFreq;
00120
00122 unsigned int itsPhase;
00123
00126 unsigned int itsDrift;
00127
00130 mutable unsigned int itsDrawnPhase;
00131
00133 double itsSigma;
00134
00136 double itsAspectRatio;
00137
00139 int itsOrientation;
00140
00143 int itsResolution;
00144
00147 int itsPointSize;
00148
00150 GbColor itsFgTint;
00151
00153 GbColor itsBgTint;
00154
00155 protected:
00156 virtual void grGetBoundingBox(Gfx::Bbox& bbox) const;
00157
00158 virtual void grRender(Gfx::Canvas& canvas) const;
00159 };
00160
00161 static const char __attribute__((used)) vcid_groovx_visx_gabor_h_utc20050626084016[] = "$Id: gabor.h 10065 2007-04-12 05:54:56Z rjpeters $ $HeadURL: file:
00162 #endif // !GROOVX_VISX_GABOR_H_UTC20050626084016_DEFINED