30 lines
917 B
Ada
30 lines
917 B
Ada
with
|
|
glx.BufferSwapComplete,
|
|
glx.PbufferClobberEvent;
|
|
|
|
package glx.Event
|
|
is
|
|
type long_Array is array (C.size_t range <>) of aliased C.Long;
|
|
|
|
type Kind is (pBufferClobber,
|
|
BufferSwapComplete,
|
|
Pad);
|
|
|
|
type Item (Kind : Event.Kind := Event.Kind'First) is
|
|
record
|
|
case Kind is
|
|
when pBufferClobber => pBufferClobber : aliased glx.PBufferClobberEvent.item;
|
|
when BufferSwapComplete => BufferSwapComplete : aliased glx.BufferSwapComplete .item;
|
|
when Pad => Pad : aliased long_Array (0 .. 23);
|
|
end case;
|
|
end record
|
|
with unchecked_Union;
|
|
|
|
type Pointer is access all Item;
|
|
type Pointer_Pointer is access all Pointer;
|
|
|
|
type Items is array (C.size_t range <>) of aliased Item;
|
|
type Pointers is array (C.size_t range <>) of aliased Pointer;
|
|
|
|
end glx.Event;
|