66 lines
1.8 KiB
Ada
66 lines
1.8 KiB
Ada
private
|
|
with
|
|
openGL.Buffer.short_indices;
|
|
|
|
package openGL.Primitive.short_indexed
|
|
--
|
|
-- Provides a class for short indexed openGL primitives.
|
|
--
|
|
is
|
|
type Item is limited new Primitive.item with private;
|
|
subtype Class is Item'Class;
|
|
|
|
type View is access all Item'Class;
|
|
type Views is array (Index_t range <>) of View;
|
|
|
|
|
|
---------
|
|
-- Forge
|
|
--
|
|
|
|
function new_Primitive (Kind : in facet_Kind;
|
|
Indices : in openGL.short_Indices) return Primitive.short_indexed.view;
|
|
|
|
function new_Primitive (Kind : in facet_Kind;
|
|
Indices : in openGL.Indices) return Primitive.short_indexed.view;
|
|
|
|
function new_Primitive (Kind : in facet_Kind;
|
|
Indices : in openGL.long_Indices) return Primitive.short_indexed.view;
|
|
|
|
procedure define (Self : in out Item; Kind : in facet_Kind;
|
|
Indices : in openGL.short_Indices);
|
|
procedure define (Self : in out Item; Kind : in facet_Kind;
|
|
Indices : in openGL.Indices);
|
|
procedure define (Self : in out Item; Kind : in facet_Kind;
|
|
Indices : in openGL.long_Indices);
|
|
overriding
|
|
procedure destroy (Self : in out Item);
|
|
|
|
|
|
--------------
|
|
-- Attributes
|
|
--
|
|
|
|
procedure Indices_are (Self : in out Item; Now : in short_Indices);
|
|
procedure Indices_are (Self : in out Item; Now : in Indices);
|
|
procedure Indices_are (Self : in out Item; Now : in long_Indices);
|
|
|
|
|
|
--------------
|
|
-- Operations
|
|
--
|
|
|
|
overriding
|
|
procedure render (Self : in out Item);
|
|
|
|
|
|
|
|
private
|
|
|
|
type Item is limited new Primitive.item with
|
|
record
|
|
Indices : Buffer.short_indices.view;
|
|
end record;
|
|
|
|
end openGL.Primitive.short_indexed;
|