hsba.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 PAPYRUSHSBA_H
00021 #define PAPYRUSHSBA_H
00022
00023 #include <cairomm/pattern.h>
00024
00025 namespace Papyrus {
00026
00027 class RGBA;
00028
00033 struct HSBA {
00034 HSBA(double h=0.0, double s=0.0, double b=0.0, double a=1.0);
00035
00036 HSBA(const RGBA& rgb);
00037
00038 double hue, saturation, brightness, alpha;
00039
00040 double operator[](unsigned index);
00041
00042 HSBA& operator=(const RGBA& rgb);
00043
00044 operator RGBA() const;
00045
00046 operator Cairo::RefPtr<Cairo::Pattern>();
00047
00048 };
00049
00050 void rgb_to_hsb(double rgb_r, double rgb_g, double rgb_b,
00051 double& hsb_h, double& hsb_s, double& hsb_b);
00052
00053 void hsb_to_rgb(double hsb_h, double hsb_s, double hsb_b,
00054 double& rgb_r, double& rgb_g, double& rgb_b);
00055
00056
00057 }
00058
00059 #endif