Go to the documentation of this file.
20 #ifndef GNASH_FILL_STYLE_H
21 #define GNASH_FILL_STYLE_H
23 #include <boost/variant.hpp>
26 #include <boost/intrusive_ptr.hpp>
34 class movie_definition;
123 return _smoothingPolicy;
138 SmoothingPolicy _smoothingPolicy;
143 mutable boost::intrusive_ptr<const CachedBitmap> _bitmapInfo;
199 assert(recs.size() > 1);
209 return _gradients.size();
216 assert(
i < _gradients.size());
217 return _gradients[
i];
223 void setFocalPoint(
double d);
264 _color =
lerp(
a.color(),
b.color(), ratio);
285 typedef boost::variant<BitmapFill, SolidFill, GradientFill>
Fill;
SpreadMode spreadMode
Definition: FillStyle.h:232
Type type() const
Get the Type of this BitmapFill.
Definition: FillStyle.h:117
BitmapFill(Type t, const CachedBitmap *bi, SWFMatrix m, SmoothingPolicy pol)
Construct a BitmapFill from arbitrary bitmap data.
Definition: FillStyle.cpp:103
@ RADIAL
Definition: FillStyle.h:162
void set_lerp(const SWFMatrix &m1, const SWFMatrix &m2, float t)
Set this SWFMatrix to a blend of m1 and m2, parameterized by t.
Definition: SWFMatrix.cpp:184
A SolidFill containing one color.
Definition: FillStyle.h:247
void setLerp(const GradientFill &a, const GradientFill &b, double ratio)
Set this fill to a lerp of two other GradientFills.
Definition: FillStyle.cpp:197
@ d
Definition: GnashKey.h:150
@ SMOOTHING_OFF
Definition: FillStyle.h:78
@ FILL_CLIPPED_BITMAP_HARD
swf8 (alexis is wrong), non-smoothed / hard edges
Definition: SWF.h:1533
@ T
Definition: GnashKey.h:132
SWFMatrix gradientMatrix(GradientFill::Type t, const SWFMatrix &m)
Definition: FillStyle.cpp:68
FillType
SWF fill style types. Symbolic names copied from Ming.
Definition: SWF.h:1521
@ i
Definition: GnashKey.h:155
@ REFLECT
Definition: FillStyle.h:168
A basic RGBA type.
Definition: RGBA.h:36
@ FILL_TILED_BITMAP
Definition: SWF.h:1526
FillStyle describes the various fill styles for shapes.
Definition: FillStyle.h:282
Anonymous namespace for callbacks, local functions, event handlers etc.
Definition: dbus_ext.cpp:41
@ FILL_CLIPPED_BITMAP
Definition: SWF.h:1527
BitmapFill & operator=(const BitmapFill &other)
Definition: FillStyle.cpp:170
void setLerp(const SolidFill &a, const SolidFill &b, double ratio)
Set this fill to a lerp of two other SolidFills.
Definition: FillStyle.h:263
Type
Whether the fill is tiled or clipped.
Definition: FillStyle.h:85
@ SMOOTHING_UNSPECIFIED
Definition: FillStyle.h:76
GradientRecord(std::uint8_t ratio, rgba color)
Definition: FillStyle.h:43
int frnd(float f)
Definition: GnashNumeric.h:91
~BitmapFill()
Destructor.
Definition: FillStyle.cpp:165
@ m
Definition: GnashKey.h:159
std::uint8_t ratio
Definition: FillStyle.h:50
double focalPoint() const
Get the focal point of this GradientFill.
Definition: FillStyle.h:228
SolidFill(const SolidFill &other)
Copy a SolidFill.
Definition: FillStyle.h:257
@ TILED
Definition: FillStyle.h:87
InterpolationMode
Definition: FillStyle.h:171
@ CLIPPED
Definition: FillStyle.h:86
virtual int get_version() const =0
Client program's interface to the definition of a movie or sprite.
Definition: movie_definition.h:96
const SWFMatrix & matrix() const
Definition: FillStyle.h:191
FillStyle(const T &f)
Construct a FillStyle from any Fill.
Definition: FillStyle.h:292
void set_translation(int x, int y)
Set x and y translation in TWIPS.
Definition: SWFMatrix.h:153
@ RGB
Definition: FillStyle.h:172
@ t
Definition: GnashKey.h:166
T lerp(T a, T b, T f)
Definition: GnashNumeric.h:85
VGPaint fill
Definition: testr_gtk.cpp:86
@ FILL_TILED_BITMAP_HARD
swf8 (alexis is wrong), non-smoothed / hard edges
Definition: SWF.h:1530
SolidFill(rgba c)
Construct a SolidFill.
Definition: FillStyle.h:251
@ a
Definition: GnashKey.h:147
rgba color
Definition: FillStyle.h:51
@ PAD
Definition: FillStyle.h:166
A GradientFill.
Definition: FillStyle.h:154
@ REPEAT
Definition: FillStyle.h:167
rgba color() const
Get the color of the fill.
Definition: FillStyle.h:268
void setFocalPoint(double d)
Set the focal point.
Definition: FillStyle.cpp:98
FillStyle(const FillStyle &other)
Definition: FillStyle.h:294
InterpolationMode interpolation
Definition: FillStyle.h:233
const GradientRecord & record(size_t i) const
Query the GradientRecord at the specified index.
Definition: FillStyle.h:215
boost::variant< BitmapFill, SolidFill, GradientFill > Fill
Definition: FillStyle.h:285
@ p
Definition: GnashKey.h:162
void setLerp(FillStyle &f, const FillStyle &a, const FillStyle &b, double t)
Set the FillStyle to a lerp of a and b.
Definition: FillStyle.cpp:221
const SWFMatrix & matrix() const
Get the matrix of this BitmapFill.
Definition: FillStyle.h:130
Type type() const
Definition: FillStyle.h:187
@ SMOOTHING_ON
Definition: FillStyle.h:77
std::vector< GradientRecord > GradientRecords
Definition: FillStyle.h:176
const GradientRecords & getRecords() const
Definition: FillStyle.h:203
Definition: SWFMatrix.h:54
SmoothingPolicy smoothingPolicy() const
Get the smoothing policy of this BitmapFill.
Definition: FillStyle.h:122
GradientFill(Type t, const SWFMatrix &m, const GradientRecords &=GradientRecords())
Construct a GradientFill.
Definition: FillStyle.cpp:84
Fill fill
Definition: FillStyle.h:299
void setLerp(const BitmapFill &a, const BitmapFill &b, double ratio)
Set this fill to a lerp of two other BitmapFills.
Definition: FillStyle.cpp:214
SpreadMode
Definition: FillStyle.h:165
@ f
Definition: GnashKey.h:152
@ LINEAR
Definition: FillStyle.h:161
const CachedBitmap * bitmap() const
Get the actual Bitmap data.
Definition: FillStyle.cpp:182
void concatenate(const SWFMatrix &m)
Concatenate m's transform onto ours.
Definition: SWFMatrix.cpp:148
A BitmapFill.
Definition: FillStyle.h:71
@ c
Definition: GnashKey.h:149
Definition: FillStyle.h:41
#define DSOEXPORT
Definition: dsodefs.h:55
void setRecords(const GradientRecords &recs)
Definition: FillStyle.h:198
virtual CachedBitmap * getBitmap(int) const
Get a bitmap from the bitmap dictionary.
Definition: movie_definition.h:329
void set_scale(double x_scale, double y_scale)
Set x and y scales, rotation is unchanged.
Definition: SWFMatrix.cpp:225
@ o
Definition: GnashKey.h:161
SmoothingPolicy
How to smooth the bitmap.
Definition: FillStyle.h:75
A CachedBitmap is created by the renderer in a format of its choosing.
Definition: CachedBitmap.h:38
@ b
Definition: GnashKey.h:148
@ e
Definition: GnashKey.h:151
size_t recordCount() const
Get the number of records in this GradientFill.
Definition: FillStyle.h:208
@ LINEAR_RGB
Definition: FillStyle.h:173
std::ostream & operator<<(std::ostream &o, const URL &u)
Definition: URL.cpp:447
Type
The type of GradientFill.
Definition: FillStyle.h:160