#include <color.h>
Public Types | |
| enum | BlendMethod { BLEND_COMPOSITE = 0, BLEND_STRAIGHT = 1, BLEND_BRIGHTEN = 2, BLEND_DARKEN = 3, BLEND_ADD = 4, BLEND_SUBTRACT = 5, BLEND_MULTIPLY = 6, BLEND_DIVIDE = 7, BLEND_COLOR = 8, BLEND_HUE = 9, BLEND_SATURATION = 10, BLEND_LUMINANCE = 11, BLEND_BEHIND = 12, BLEND_ONTO = 13, BLEND_SCREEN = 16, BLEND_OVERLAY = 20, BLEND_DIFFERENCE = 18, BLEND_HARD_LIGHT = 17, BLEND_ALPHA_BRIGHTEN = 14, BLEND_ALPHA_DARKEN = 15, BLEND_ALPHA_OVER = 19, BLEND_STRAIGHT_ONTO = 21, BLEND_END = 22 } |
| typedef ColorReal | value_type |
Public Member Functions | |
| Color & | operator+= (const Color &rhs) |
| Color & | operator-= (const Color &rhs) |
| Color & | operator *= (const float &rhs) |
| Color & | operator/= (const float &rhs) |
| Color | operator+ (const Color &rhs) const |
| Color | operator- (const Color &rhs) const |
| Color | operator * (const float &rhs) const |
| Color | operator/ (const float &rhs) const |
| bool | operator== (const Color &rhs) const |
| bool | operator!= (const Color &rhs) const |
| Color | operator- () const |
| Color | operator~ () const |
| Effectively 1.0-color. | |
| bool | is_valid () const |
| Color | premult_alpha () const |
| Color | demult_alpha () const |
| Color () | |
| Color (const value_type &f) | |
| Color (int f) | |
| Color (const value_type &R, const value_type &G, const value_type &B, const value_type &A=1) | |
| Color (const Color &c, const value_type &A) | |
| Color (const Color &c) | |
| Copy constructor. | |
| const value_type & | get_r () const |
| Copy constructor. | |
| const value_type & | get_g () const |
| Returns the GREEN component. | |
| const value_type & | get_b () const |
| Returns the BLUE component. | |
| const value_type & | get_a () const |
| Returns the amount of opacity (alpha). | |
| const value_type & | get_alpha () const |
| Synonym for get_a(). | |
| const String & | get_hex () const |
| Returns the color as a 6 character hex sting. | |
| void | set_hex (String &hex) |
| Sets the color's R, G, and B from a 3 or 6 character hex string. | |
| Color & | set_r (const value_type &x) |
| Sets the RED component to x. | |
| Color & | set_g (const value_type &x) |
| Sets the GREEN component to x. | |
| Color & | set_b (const value_type &x) |
| Sets the BLUE component to x. | |
| Color & | set_a (const value_type &x) |
| Sets the opacity (alpha) to x. | |
| Color & | set_alpha (const value_type &x) |
| Synonym for set_a(). | |
| float | get_y () const |
| Returns color's luminance. | |
| float | get_u () const |
| Returns U component of chromanance. | |
| float | get_v () const |
| Returns V component of chromanance. | |
| float | get_s () const |
| Returns the color's saturation. | |
| Color & | set_yuv (const float &y, const float &u, const float &v) |
| Sets the luminance (y) and chromanance (u and v). | |
| Color & | set_y (const float &y) |
| Sets color luminance. | |
| Color & | set_u (const float &u) |
| Set U component of chromanance. | |
| Color & | set_v (const float &v) |
| Set V component of chromanance. | |
| Color & | set_uv (const float &u, const float &v) |
| Set the U and V components of chromanance. | |
| Color & | set_s (const float &x) |
| Sets the color's saturation. | |
| Angle | get_hue () const |
| Returns the hue of the chromanance. | |
| Angle | get_uv_angle () const |
| Synonym for get_hue(). | |
| Color & | set_hue (const Angle &theta) |
| Sets the color's hue. | |
| Color & | set_uv_angle (const Angle &theta) |
| Synonym for set_hue(). | |
| Color & | rotate_uv (const Angle &theta) |
| Rotates the chromanance vector by amount specified by theta. | |
| Color & | set_yuv (const float &y, const float &s, const Angle &theta) |
| Sets the luminance (y) and chromanance (s and theta). | |
| Color | clamped () const |
| Clamps a color so that its values are in range. Ignores attempting to visualize negative colors. | |
| Color | clamped_negative () const |
| Clamps a color so that its values are in range. | |
Static Public Member Functions | |
| static ColorReal | hex2real (String s) |
| Converts a 2 character hex string s (00-ff) into a ColorReal (0.0-1.0). | |
| static const String | real2hex (ColorReal c) |
| Converts a ColorReal c (0.0-1.0) into a 2 character hex string (00-ff). | |
| static Color | YUV (const float &y, const float &u, const float &v, const value_type &a=1) |
| YUV Color constructor. | |
| static Color | YUV (const float &y, const float &s, const Angle &theta, const value_type &a=1) |
| YUV color constructor where the chroma is in the saturation/hue form. | |
| static Color | blend (Color a, Color b, float amount, BlendMethod type=BLEND_COMPOSITE) |
| static bool | is_onto (BlendMethod x) |
| static Color | alpha () |
| Preset Color Constructors. | |
| static Color | black () |
| Preset Color Constructors. | |
| static Color | white () |
| Preset Color Constructors. | |
| static Color | gray () |
| Preset Color Constructors. | |
| static Color | magenta () |
| Preset Color Constructors. | |
| static Color | red () |
| Preset Color Constructors. | |
| static Color | green () |
| Preset Color Constructors. | |
| static Color | blue () |
| Preset Color Constructors. | |
| static Color | cyan () |
| Preset Color Constructors. | |
| static Color | yellow () |
| Preset Color Constructors. | |
| typedef ColorReal synfig::Color::value_type |
| BLEND_COMPOSITE | Color A is composited onto B (Taking into about A's alpha). |
| BLEND_STRAIGHT | Straight linear interpolation from A->B (Alpha ignored). |
| BLEND_BRIGHTEN | If composite is brighter than B, use composite. B otherwise. |
| BLEND_DARKEN | If composite is brighter than B, use composite. B otherwise. |
| BLEND_ADD | Simple A+B. |
| BLEND_SUBTRACT | Simple A-B. |
| BLEND_MULTIPLY | Simple A*B. |
| BLEND_DIVIDE | Simple B/A. |
| BLEND_COLOR | Preserves the U and V channels of color A. |
| BLEND_HUE | Preserves the angle of the UV vector of color A. |
| BLEND_SATURATION | Preserves the magnitude of the UV Vector of color A. |
| BLEND_LUMINANCE | Preserves the Y channel of color A. |
| BLEND_BEHIND | Similar to BLEND_COMPOSITE, except that B is composited onto A. |
| BLEND_ONTO | Similar to BLEND_COMPOSITE, except that B's alpha is maintained. |
| BLEND_SCREEN |
|
| BLEND_OVERLAY |
|
| BLEND_DIFFERENCE |
|
| BLEND_HARD_LIGHT |
|
| BLEND_ALPHA_BRIGHTEN |
Deprecated.
If A is less opaque than B, use A |
| BLEND_ALPHA_DARKEN | If A is more opaque than B, use B. |
| BLEND_ALPHA_OVER | multiply alphas and then straight blends that using the amount |
| BLEND_STRAIGHT_ONTO |
|
| BLEND_END |
For internal use only.
|
| synfig::Color::Color | ( | ) | [inline] |
| synfig::Color::Color | ( | const value_type & | f | ) | [inline] |
| synfig::Color::Color | ( | int | f | ) | [inline] |
| synfig::Color::Color | ( | const value_type & | R, | |
| const value_type & | G, | |||
| const value_type & | B, | |||
| const value_type & | A = 1 | |||
| ) | [inline] |
| R | Red | |
| G | Green | |
| B | Blue | |
| A | Opacity(alpha) |
| synfig::Color::Color | ( | const Color & | c, | |
| const value_type & | A | |||
| ) | [inline] |
| c | Source for color components | |
| A | Opacity(alpha) |
| synfig::Color::Color | ( | const Color & | c | ) | [inline] |
Copy constructor.
| Color& synfig::Color::operator *= | ( | const float & | rhs | ) | [inline] |
| Color& synfig::Color::operator/= | ( | const float & | rhs | ) | [inline] |
| Color synfig::Color::operator * | ( | const float & | rhs | ) | const [inline] |
| Color synfig::Color::operator/ | ( | const float & | rhs | ) | const [inline] |
| bool synfig::Color::operator== | ( | const Color & | rhs | ) | const [inline] |
| bool synfig::Color::operator!= | ( | const Color & | rhs | ) | const [inline] |
| Color synfig::Color::operator- | ( | ) | const [inline] |
| Color synfig::Color::operator~ | ( | ) | const [inline] |
Effectively 1.0-color.
| bool synfig::Color::is_valid | ( | ) | const [inline] |
| Color synfig::Color::premult_alpha | ( | ) | const [inline] |
| Color synfig::Color::demult_alpha | ( | ) | const [inline] |
| const value_type& synfig::Color::get_r | ( | ) | const [inline] |
Copy constructor.
Returns the RED component
| const value_type& synfig::Color::get_g | ( | ) | const [inline] |
Returns the GREEN component.
| const value_type& synfig::Color::get_b | ( | ) | const [inline] |
Returns the BLUE component.
| const value_type& synfig::Color::get_a | ( | ) | const [inline] |
Returns the amount of opacity (alpha).
| const value_type& synfig::Color::get_alpha | ( | ) | const [inline] |
Converts a 2 character hex string s (00-ff) into a ColorReal (0.0-1.0).
Converts a ColorReal c (0.0-1.0) into a 2 character hex string (00-ff).
| const String& synfig::Color::get_hex | ( | ) | const [inline] |
Returns the color as a 6 character hex sting.
| void Color::set_hex | ( | String & | hex | ) |
Sets the color's R, G, and B from a 3 or 6 character hex string.
| Color& synfig::Color::set_r | ( | const value_type & | x | ) | [inline] |
Sets the RED component to x.
| Color& synfig::Color::set_g | ( | const value_type & | x | ) | [inline] |
Sets the GREEN component to x.
| Color& synfig::Color::set_b | ( | const value_type & | x | ) | [inline] |
Sets the BLUE component to x.
| Color& synfig::Color::set_a | ( | const value_type & | x | ) | [inline] |
Sets the opacity (alpha) to x.
| Color& synfig::Color::set_alpha | ( | const value_type & | x | ) | [inline] |
| float synfig::Color::get_y | ( | ) | const [inline] |
Returns color's luminance.
| float synfig::Color::get_u | ( | ) | const [inline] |
Returns U component of chromanance.
| float synfig::Color::get_v | ( | ) | const [inline] |
Returns V component of chromanance.
| float synfig::Color::get_s | ( | ) | const [inline] |
Returns the color's saturation.
This is is the magnitude of the U and V components.
| Color& synfig::Color::set_yuv | ( | const float & | y, | |
| const float & | u, | |||
| const float & | v | |||
| ) | [inline] |
Sets the luminance (y) and chromanance (u and v).
| Color& synfig::Color::set_y | ( | const float & | y | ) | [inline] |
Sets color luminance.
| Color& synfig::Color::set_u | ( | const float & | u | ) | [inline] |
Set U component of chromanance.
| Color& synfig::Color::set_v | ( | const float & | v | ) | [inline] |
Set V component of chromanance.
| Color& synfig::Color::set_uv | ( | const float & | u, | |
| const float & | v | |||
| ) | [inline] |
Set the U and V components of chromanance.
| Color& synfig::Color::set_s | ( | const float & | x | ) | [inline] |
| static Color synfig::Color::YUV | ( | const float & | y, | |
| const float & | u, | |||
| const float & | v, | |||
| const value_type & | a = 1 | |||
| ) | [inline, static] |
YUV Color constructor.
| Angle synfig::Color::get_hue | ( | ) | const [inline] |
Rotates the chromanance vector by amount specified by theta.
Sets the luminance (y) and chromanance (s and theta).
| y | Luminance | |
| s | Saturation | |
| theta | Hue |
| static Color synfig::Color::YUV | ( | const float & | y, | |
| const float & | s, | |||
| const Angle & | theta, | |||
| const value_type & | a = 1 | |||
| ) | [inline, static] |
YUV color constructor where the chroma is in the saturation/hue form.
| y | Luminance | |
| s | Saturation | |
| theta | Hue | |
| a | Opacity (alpha) |
| Color Color::clamped | ( | ) | const |
Clamps a color so that its values are in range. Ignores attempting to visualize negative colors.
| Color Color::clamped_negative | ( | ) | const |
Clamps a color so that its values are in range.
| Color Color::blend | ( | Color | a, | |
| Color | b, | |||
| float | amount, | |||
| Color::BlendMethod | type = BLEND_COMPOSITE | |||
| ) | [static] |
| static bool synfig::Color::is_onto | ( | BlendMethod | x | ) | [inline, static] |
1.5.3