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_GRADIENTBEVELFILTER_H
00020 #define GNASH_GRADIENTBEVELFILTER_H
00021
00022 #include "BitmapFilter.h"
00023
00024 #include <vector>
00025 #include <boost/cstdint.hpp>
00026
00027 namespace gnash {
00028
00029
00030 class GradientBevelFilter : public BitmapFilter
00031 {
00032 public:
00033 typedef enum
00034 {
00035 INNER_BEVEL = 2,
00036 OUTER_BEVEL = 1,
00037 FULL_BEVEL = 3
00038 } glow_types;
00039
00040
00041 virtual bool read(SWFStream& in);
00042
00043 virtual ~GradientBevelFilter() { return; }
00044
00045 GradientBevelFilter() :
00046 m_distance(0.0f), m_angle(0.0f), m_colors(), m_alphas(), m_ratios(),
00047 m_blurX(0.0f), m_blurY(0.0f), m_strength(0.0f), m_quality(0),
00048 m_type(INNER_BEVEL), m_knockout(false)
00049 { return; }
00050
00051 GradientBevelFilter(float distance, float angle,
00052 std::vector<boost::uint32_t> colors,
00053 std::vector<boost::uint8_t> alphas,
00054 std::vector<boost::uint8_t> ratios,
00055 float blurX, float blurY, float strength,
00056 boost::uint8_t quality, glow_types type, bool knockout) :
00057 m_distance(distance), m_angle(angle),
00058 m_colors(colors), m_alphas(alphas), m_ratios(ratios),
00059 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_GRADIENTBEVELFILTER_H