00001 /* === S Y N F I G ========================================================= */ 00022 /* ========================================================================= */ 00023 00024 /* === S T A R T =========================================================== */ 00025 00026 #ifndef __SYNFIG_HALFTONE_H 00027 #define __SYNFIG_HALFTONE_H 00028 00029 /* === H E A D E R S ======================================================= */ 00030 00031 #include <synfig/vector.h> 00032 #include <synfig/angle.h> 00033 00034 /* === M A C R O S ========================================================= */ 00035 00036 #define TYPE_SYMMETRIC 0 00037 #define TYPE_DARKONLIGHT 1 00038 #define TYPE_LIGHTONDARK 2 00039 #define TYPE_DIAMOND 3 00040 #define TYPE_STRIPE 4 00041 00042 /* === T Y P E D E F S ===================================================== */ 00043 00044 /* === C L A S S E S & S T R U C T S ======================================= */ 00045 00046 class Halftone 00047 { 00048 public: 00049 00050 int type; 00051 synfig::Point origin; 00052 synfig::Vector size; 00053 synfig::Angle angle; 00054 00055 float mask(synfig::Point point)const; 00056 00057 float operator()(const synfig::Point &point, const float& intensity, float supersample=0)const; 00058 }; 00059 00060 /* === E N D =============================================================== */ 00061 00062 #endif