hsla.h
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
00020 #ifndef PAPYRUSHSLA_H
00021 #define PAPYRUSHSLA_H
00022
00023 namespace Papyrus
00024 {
00025
00026 struct RGBA;
00027
00031 struct HSLA
00032 {
00033 HSLA(double h=0.0, double s=0.0, double l=0.0, double a=0.0);
00034
00035 HSLA(const RGBA& rgb);
00036
00037 double hue, saturation, lightness, alpha;
00038
00039 double operator[](unsigned index);
00040
00041 HSLA& operator=(const RGBA& rgb);
00042
00043 operator RGBA();
00044
00045 };
00046
00051 void rgb_to_hsl(double rgb_r, double rgb_g, double rgb_b,
00052 double& h, double& s, double& l);
00053
00058 void hsl_to_rgb(double hsl_h, double hsl_s, double hsl_l,
00059 double& rgb_r, double& rgb_g, double& rgb_b);
00060
00061 }
00062
00063 #endif