73 lines
1.3 KiB
Ada
73 lines
1.3 KiB
Ada
with
|
|
gtk.glArea;
|
|
|
|
private
|
|
with
|
|
gdk.glContext;
|
|
|
|
|
|
package gel.Window.gtk
|
|
--
|
|
-- Provides a GTK implementation of a window.
|
|
--
|
|
is
|
|
type Item is new gel.Window.item with private;
|
|
type View is access all Item'Class;
|
|
|
|
|
|
|
|
---------
|
|
--- Forge
|
|
--
|
|
|
|
procedure define (Self : access Item; Title : in String;
|
|
Width : in Natural;
|
|
Height : in Natural);
|
|
overriding
|
|
procedure destroy (Self : in out Item);
|
|
|
|
|
|
package Forge
|
|
is
|
|
function new_Window (Title : in String;
|
|
Width : in Natural;
|
|
Height : in Natural) return Window.gtk.view;
|
|
end Forge;
|
|
|
|
|
|
|
|
--------------
|
|
--- Attributes
|
|
--
|
|
|
|
package std_gtk renames standard.GTK;
|
|
|
|
function gl_Area (Self : in Item) return std_gtk.GLArea.Gtk_GLArea;
|
|
|
|
|
|
|
|
--------------
|
|
--- Operations
|
|
--
|
|
|
|
overriding
|
|
procedure enable_GL (Self : in Item);
|
|
overriding
|
|
procedure disable_GL (Self : in Item);
|
|
overriding
|
|
procedure swap_GL (Self : in out Item);
|
|
overriding
|
|
procedure freshen (Self : in Item);
|
|
|
|
|
|
|
|
private
|
|
|
|
type Item is new gel.Window.item with
|
|
record
|
|
gl_Area : std_gtk.glArea .gtk_glArea;
|
|
gl_Context : gdk.glContext.gdk_glContext;
|
|
end record;
|
|
|
|
end gel.Window.gtk;
|