| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- /**
- * PANDA 3D SOFTWARE
- * Copyright (c) Carnegie Mellon University. All rights reserved.
- *
- * All use of this software is subject to the terms of the revised BSD
- * license. You should have received a copy of this license along
- * with this source code in a file named "LICENSE."
- *
- * @file fltPackedColor.I
- * @author drose
- * @date 2000-08-25
- */
- INLINE std::ostream &
- operator << (std::ostream &out, const FltPackedColor &color) {
- color.output(out);
- return out;
- }
- /**
- *
- */
- INLINE FltPackedColor::
- FltPackedColor() {
- _a = 0;
- _b = 0;
- _g = 0;
- _r = 0;
- }
- /**
- * Returns the four-component color as a LColor, where each component is in
- * the range [0, 1].
- */
- INLINE LColor FltPackedColor::
- get_color() const {
- return LColor(_r / 255.0, _g / 255.0, _b / 255.0, _a / 255.0);
- }
- /**
- * Returns the three-component color as an LRGBColor (ignoring the alpha
- * component), where each component is in the range [0, 1].
- */
- INLINE LRGBColor FltPackedColor::
- get_rgb() const {
- return LRGBColor(_r / 255.0, _g / 255.0, _b / 255.0);
- }
- /**
- * Sets the color according to the indicated four-component LColor value
- * (including alpha).
- */
- INLINE void FltPackedColor::
- set_color(const LColor &color) {
- _r = (int)floor(color[0] * 255.0);
- _g = (int)floor(color[1] * 255.0);
- _b = (int)floor(color[2] * 255.0);
- _a = (int)floor(color[3] * 255.0);
- }
- /**
- * Sets the color according to the indicated three-component LRGBColor value,
- * and set the alpha to 1.0.
- */
- INLINE void FltPackedColor::
- set_rgb(const LRGBColor &color) {
- _r = (int)floor(color[0] * 255.0);
- _g = (int)floor(color[1] * 255.0);
- _b = (int)floor(color[2] * 255.0);
- _a = 255;
- }
|