Files
lace/3-mid/opengl/source/lean/geometry/opengl-primitive-short_indexed.ads
2022-07-31 17:34:54 +10:00

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;