-- SPDX-License-Identifier: Apache-2.0 -- -- Copyright (c) 2014 Felix Krause -- Copyright (c) 2016 onox -- -- Licensed under the Apache License, Version 2.0 (the "License"); -- you may not use this file except in compliance with the License. -- You may obtain a copy of the License at -- -- http://www.apache.org/licenses/LICENSE-2.0 -- -- Unless required by applicable law or agreed to in writing, software -- distributed under the License is distributed on an "AS IS" BASIS, -- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -- See the License for the specific language governing permissions and -- limitations under the License. with Interfaces.C.Pointers; package GL.Types.Pointers is pragma Preelaborate; -- Pointer types (for use with data transfer functions) package Byte_Pointers is new Interfaces.C.Pointers (Size, Orka.Integer_8, Orka.Integer_8_Array, Orka.Integer_8'Last); package Short_Pointers is new Interfaces.C.Pointers (Size, Orka.Integer_16, Orka.Integer_16_Array, Orka.Integer_16'Last); package Int_Pointers is new Interfaces.C.Pointers (Size, Orka.Integer_32, Orka.Integer_32_Array, Orka.Integer_32'Last); package UByte_Pointers is new Interfaces.C.Pointers (Size, Orka.Unsigned_8, Orka.Unsigned_8_Array, Orka.Unsigned_8'Last); package UShort_Pointers is new Interfaces.C.Pointers (Size, Orka.Unsigned_16, Orka.Unsigned_16_Array, Orka.Unsigned_16'Last); package UInt_Pointers is new Interfaces.C.Pointers (Size, Orka.Unsigned_32, Orka.Unsigned_32_Array, Orka.Unsigned_32'Last); package Half_Pointers is new Interfaces.C.Pointers (Size, Orka.Float_16, Orka.Float_16_Array, 0); package Single_Pointers is new Interfaces.C.Pointers (Size, Orka.Float_32, Orka.Float_32_Array, 0.0); package Double_Pointers is new Interfaces.C.Pointers (Size, Orka.Float_64, Orka.Float_64_Array, 0.0); type String_Access is not null access constant String; type String_Array is array (Positive range <>) of String_Access; type UByte_Array_Access is access UByte_Array; end GL.Types.Pointers;