diff options
author | Carl Worth <cworth@cworth.org> | 2003-07-30 08:30:50 +0000 |
---|---|---|
committer | Carl Worth <cworth@cworth.org> | 2003-07-30 08:30:50 +0000 |
commit | e97cfd5eae9874cd665646403a6f8e5fbdf5621e (patch) | |
tree | 080fbedc4a063487200229bdadab179ebf19004c /src/cairo-color.c | |
parent | 2026b1c44aeeb09e7015efadd508aeec28d778fa (diff) | |
download | cairo-e97cfd5eae9874cd665646403a6f8e5fbdf5621e.tar.gz |
Made all changes necessary to abandon the Xc library, (sucking the functionality up into cairo_surface_t instead). Eliminated most of the remaining X datatypes (XFixed, XPointFixed, XLineFixed, XTrapezoid). Fixed some numerical problems relating to pen initialization and intersection calculation.
Diffstat (limited to 'src/cairo-color.c')
-rw-r--r-- | src/cairo-color.c | 38 |
1 files changed, 21 insertions, 17 deletions
diff --git a/src/cairo-color.c b/src/cairo-color.c index dab09ad27..9ba5846dc 100644 --- a/src/cairo-color.c +++ b/src/cairo-color.c @@ -27,10 +27,13 @@ #include "cairoint.h" -static cairo_color_t CAIRO_COLOR_DEFAULT = { 1.0, 1.0, 1.0, 1.0, {0xffff, 0xffff, 0xffff, 0xffff}}; +static cairo_color_t CAIRO_COLOR_DEFAULT = { + 1.0, 1.0, 1.0, 1.0, + 0xffff, 0xffff, 0xffff, 0xffff +}; static void -_cairo_color_compute_xc_color (cairo_color_t *color); +_cairo_color_compute_shorts (cairo_color_t *color); void _cairo_color_init (cairo_color_t *color) @@ -44,31 +47,22 @@ _cairo_color_fini (cairo_color_t *color) /* Nothing to do here */ } -static void -_cairo_color_compute_xc_color (cairo_color_t *color) -{ - color->xc_color.red = color->red * color->alpha * 0xffff; - color->xc_color.green = color->green * color->alpha * 0xffff; - color->xc_color.blue = color->blue * color->alpha * 0xffff; - color->xc_color.alpha = color->alpha * 0xffff; -} - void _cairo_color_set_rgb (cairo_color_t *color, double red, double green, double blue) { - color->red = red; + color->red = red; color->green = green; - color->blue = blue; + color->blue = blue; - _cairo_color_compute_xc_color (color); + _cairo_color_compute_shorts (color); } void _cairo_color_get_rgb (cairo_color_t *color, double *red, double *green, double *blue) { - *red = color->red; + *red = color->red; *green = color->green; - *blue = color->blue; + *blue = color->blue; } void @@ -76,5 +70,15 @@ _cairo_color_set_alpha (cairo_color_t *color, double alpha) { color->alpha = alpha; - _cairo_color_compute_xc_color (color); + _cairo_color_compute_shorts (color); } + +static void +_cairo_color_compute_shorts (cairo_color_t *color) +{ + color->red_short = (color->red * color->alpha) * 0xffff; + color->green_short = (color->green * color->alpha) * 0xffff; + color->blue_short = (color->blue * color->alpha) * 0xffff; + color->alpha_short = color->alpha * 0xffff; +} + |