-- part of OpenGLAda, (c) 2017 Felix Krause -- released under the terms of the MIT license, see the file "COPYING" with Interfaces.C.Pointers; package GL.Types.Colors is pragma Preelaborate; type Color_Index is (R, G, B, A); subtype Basic_Color_Index is Color_Index range R .. B; subtype Component is Single range 0.0 .. 1.0; type Color is array (Color_Index) of aliased Component; type Basic_Color is array (Basic_Color_Index) of Component; pragma Convention (C, Color); pragma Convention (C, Basic_Color); type Color_Array is array (Size range <>) of aliased Color; type Basic_Color_Array is array (Size range <>) of aliased Basic_Color; package Color_Pointers is new Interfaces.C.Pointers (Size, Color, Color_Array, Color'(others => 0.0)); package Basic_Color_Pointers is new Interfaces.C.Pointers (Size, Basic_Color, Basic_Color_Array, Basic_Color'(others => 0.0)); end GL.Types.Colors;