Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef GNASH_GRADIENTGLOWFILTER_H
00020 #define GNASH_GRADIENTGLOWFILTER_H
00021
00022 #include "BitmapFilter.h"
00023
00024 #include <vector>
00025 #include <boost/cstdint.hpp>
00026
00027
00028 namespace gnash {
00029
00030
00031 class GradientGlowFilter : public BitmapFilter
00032 {
00033 public:
00034 typedef enum
00035 {
00036 INNER_GLOW = 2,
00037 OUTER_GLOW = 1,
00038 FULL_GLOW = 3
00039 } glow_types;
00040
00041
00042 virtual bool read(SWFStream& in);
00043
00044 virtual ~GradientGlowFilter() { return; }
00045
00046 GradientGlowFilter() :
00047 m_distance(0.0f), m_angle(0.0f), m_colors(), m_alphas(), m_ratios(),
00048 m_blurX(0.0f), m_blurY(0.0f), m_strength(0.0f), m_quality(0),
00049 m_type(INNER_GLOW), m_knockout(false)
00050 { return; }
00051
00052 GradientGlowFilter(float distance, float angle,
00053 std::vector<boost::uint32_t> colors,
00054 std::vector<boost::uint8_t> alphas,
00055 std::vector<boost::uint8_t> ratios,
00056 float blurX, float blurY, float strength,
00057 boost::uint8_t quality, glow_types type, bool knockout) :
00058 m_distance(distance), m_angle(angle), m_colors(colors), m_alphas(alphas),
00059 m_ratios(ratios), m_blurX(blurX), m_blurY(blurY), m_strength(strength),
00060 m_quality(quality), m_type(type), m_knockout(knockout)
00061 { return; }
00062
00063 float m_distance;
00064 float m_angle;
00065 std::vector<boost::uint32_t> m_colors;
00066 std::vector<boost::uint8_t> m_alphas;
00067 std::vector<boost::uint8_t> m_ratios;
00068 float m_blurX;
00069 float m_blurY;
00070 float m_strength;
00071 boost::uint8_t m_quality;
00072 glow_types m_type;
00073 bool m_knockout;
00074 };
00075
00076 }
00077
00078 #endif // GNASH_GRADIENTGLOWFILTER_H