diff options
Diffstat (limited to 'src/fltk-widgets-groups-color_choosers.ads')
-rw-r--r-- | src/fltk-widgets-groups-color_choosers.ads | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/fltk-widgets-groups-color_choosers.ads b/src/fltk-widgets-groups-color_choosers.ads index 3af3fa4..fa26c2d 100644 --- a/src/fltk-widgets-groups-color_choosers.ads +++ b/src/fltk-widgets-groups-color_choosers.ads @@ -5,6 +5,9 @@ package FLTK.Widgets.Groups.Color_Choosers is type Color_Chooser is new Group with private; + type Color_Chooser_Reference (Data : not null access Color_Chooser'Class) is + limited null record with Implicit_Dereference => Data; + type Color_Mode is (RGB, Byte, Hex, HSV); @@ -60,6 +63,17 @@ package FLTK.Widgets.Groups.Color_Choosers is + procedure HSV_To_RGB + (H, S, V : in Long_Float; + R, G, B : out Long_Float); + + procedure RGB_To_HSV + (R, G, B : in Long_Float; + H, S, V : out Long_Float); + + + + function Color_Was_Changed (This : in Color_Chooser) return Boolean; @@ -101,5 +115,35 @@ private (This : in out Color_Chooser); + + + pragma Inline (Get_Red); + pragma Inline (Get_Green); + pragma Inline (Get_Blue); + pragma Inline (Set_RGB); + + + pragma Inline (Get_Hue); + pragma Inline (Get_Saturation); + pragma Inline (Get_Value); + pragma Inline (Set_HSV); + + + pragma Inline (HSV_To_RGB); + pragma Inline (RGB_To_HSV); + + + pragma Inline (Color_Was_Changed); + pragma Inline (Clear_Changed); + + + pragma Inline (Get_Mode); + pragma Inline (Set_Mode); + + + pragma Inline (Draw); + pragma Inline (Handle); + + end FLTK.Widgets.Groups.Color_Choosers; |