-- --
-- --
-- --
-- --
-- --
-- --
with Gdk.Color;
with Gdk.Drawable;
with Gtk.Extra.Plot;
with Gtk.Extra.Plot_Data;
package Gtk.Extra.Plot_3D is
type Gtk_Plot_3D_Record is new Gtk.Extra.Plot.Gtk_Plot_Record with private;
type Gtk_Plot_3D is access all Gtk_Plot_3D_Record'Class;
type Plot_Plane is new Integer;
Plot_Plane_Xy : constant Plot_Plane := 0;
Plot_Plane_Yx : constant Plot_Plane := 0;
Plot_Plane_Xz : constant Plot_Plane := 1;
Plot_Plane_Zx : constant Plot_Plane := 1;
Plot_Plane_Yz : constant Plot_Plane := 2;
Plot_Plane_Zy : constant Plot_Plane := 2;
type Plot_Side is mod 2 ** 32;
Plot_Side_Xy : constant Plot_Side := 2 ** 0;
Plot_Side_Xz : constant Plot_Side := 2 ** 1;
Plot_Side_Yx : constant Plot_Side := 2 ** 2;
Plot_Side_Yz : constant Plot_Side := 2 ** 3;
Plot_Side_Zx : constant Plot_Side := 2 ** 4;
Plot_Side_Zy : constant Plot_Side := 2 ** 5;
procedure Gtk_New
(Widget : out Gtk_Plot_3D;
Drawable : Gdk.Drawable.Gdk_Drawable;
Width, Height : Gdouble := 0.0);
procedure Initialize
(Widget : access Gtk_Plot_3D_Record'Class;
Drawable : Gdk.Drawable.Gdk_Drawable;
Width, Height : Gdouble);
function Get_Type return Gtk.Gtk_Type;
procedure Autoscale (Plot : access Gtk_Plot_3D_Record);
function Get_Xfactor (Plot : access Gtk_Plot_3D_Record) return Gdouble;
function Get_Yfactor (Plot : access Gtk_Plot_3D_Record) return Gdouble;
function Get_Zfactor (Plot : access Gtk_Plot_3D_Record) return Gdouble;
procedure Set_Xfactor (Plot : access Gtk_Plot_3D_Record; Xfactor : Gdouble);
procedure Set_Yfactor (Plot : access Gtk_Plot_3D_Record; Yfactor : Gdouble);
procedure Set_Zfactor (Plot : access Gtk_Plot_3D_Record; Zfactor : Gdouble);
procedure Set_Xrange (Plot : access Gtk_Plot_3D_Record; Min, Max : Gdouble);
procedure Set_Yrange (Plot : access Gtk_Plot_3D_Record; Min, Max : Gdouble);
procedure Set_Zrange (Plot : access Gtk_Plot_3D_Record; Min, Max : Gdouble);
procedure Show_Title
(Plot : access Gtk_Plot_3D_Record; Side : Plot_Side);
procedure Hide_Title
(Plot : access Gtk_Plot_3D_Record; Side : Plot_Side);
procedure Set_Major_Ticks
(Plot : access Gtk_Plot_3D_Record;
Axis : Gtk.Extra.Plot.Plot_Orientation;
Major_Step : Gdouble);
procedure Set_Minor_Ticks
(Plot : access Gtk_Plot_3D_Record;
Axis : Gtk.Extra.Plot.Plot_Orientation;
Nminor : Gint);
procedure Set_Ticks
(Plot : access Gtk_Plot_3D_Record;
Axis : Gtk.Extra.Plot.Plot_Orientation;
Major_Step : Gdouble;
Nminor : Gint);
procedure Set_Ticks_Length
(Plot : access Gtk_Plot_3D_Record;
Axis : Gtk.Extra.Plot.Plot_Orientation;
Length : Gint);
procedure Set_Ticks_Width
(Plot : access Gtk_Plot_3D_Record;
Axis : Gtk.Extra.Plot.Plot_Orientation;
Width : Gfloat);
procedure Show_Labels
(Plot : access Gtk_Plot_3D_Record;
Side : Plot_Side;
Label_Mask : Gint);
procedure Show_Ticks
(Plot : access Gtk_Plot_3D_Record;
Side : Plot_Side;
Major_Mask : Gtk.Extra.Plot.Plot_Ticks_Pos;
Minor_Mask : Gtk.Extra.Plot.Plot_Ticks_Pos);
function Get_Axis
(Plot : access Gtk_Plot_3D_Record;
Orientation : Gtk.Extra.Plot.Plot_Orientation)
return Gtk.Extra.Plot.Gtk_Plot_Axis;
function Get_Side
(Plot : access Gtk_Plot_3D_Record; Side : Plot_Side)
return Gtk.Extra.Plot.Gtk_Plot_Axis;
procedure Set_Scale
(Plot : access Gtk_Plot_3D_Record;
Axis : Gtk.Extra.Plot.Plot_Orientation;
Scale : Gtk.Extra.Plot_Data.Plot_Scale);
function Get_Scale
(Plot : access Gtk_Plot_3D_Record;
Axis : Gtk.Extra.Plot.Plot_Orientation)
return Gtk.Extra.Plot_Data.Plot_Scale;
procedure Major_Grids_Set_Visible
(Plot : access Gtk_Plot_3D_Record; X, Y, Z : Boolean);
procedure Major_Grids_Visible
(Plot : access Gtk_Plot_3D_Record; X, Y, Z : out Boolean);
procedure Minor_Grids_Set_Visible
(Plot : access Gtk_Plot_3D_Record; X, Y, Z : Boolean);
procedure Minor_Grids_Visible
(Plot : access Gtk_Plot_3D_Record; X, Y, Z : out Boolean);
procedure Major_Zgrid_Get_Attributes
(Plot : access Gtk_Plot_3D_Record;
Style : out Gtk.Extra.Plot_Data.Plot_Line_Style;
Width : out Gfloat;
Color : out Gdk.Color.Gdk_Color);
procedure Major_Zgrid_Set_Attributes
(Plot : access Gtk_Plot_3D_Record;
Style : Gtk.Extra.Plot_Data.Plot_Line_Style;
Width : Gfloat;
Color : Gdk.Color.Gdk_Color);
procedure Minor_Zgrid_Get_Attributes
(Plot : access Gtk_Plot_3D_Record;
Style : out Gtk.Extra.Plot_Data.Plot_Line_Style;
Width : out Gfloat;
Color : out Gdk.Color.Gdk_Color);
procedure Minor_Zgrid_Set_Attributes
(Plot : access Gtk_Plot_3D_Record;
Style : Gtk.Extra.Plot_Data.Plot_Line_Style;
Width : Gfloat;
Color : Gdk.Color.Gdk_Color);
procedure Reset_Angles (Plot : access Gtk_Plot_3D_Record);
procedure Rotate
(Plot : access Gtk_Plot_3D_Record;
Angle_X, Angle_Y, Angle_Z : Gdouble);
procedure Rotate_Vector
(Plot : access Gtk_Plot_3D_Record;
Vector : Gtk.Extra.Plot.Plot_Vector;
A1, A2, A3 : Gdouble);
procedure Rotate_X (Plot : access Gtk_Plot_3D_Record; Angle : Gdouble);
procedure Rotate_Y (Plot : access Gtk_Plot_3D_Record; Angle : Gdouble);
procedure Rotate_Z (Plot : access Gtk_Plot_3D_Record; Angle : Gdouble);
procedure Plane_Set_Color
(Plot : access Gtk_Plot_3D_Record;
Plane : Plot_Plane;
Color : Gdk.Color.Gdk_Color);
procedure Plane_Set_Visible
(Plot : access Gtk_Plot_3D_Record; Plane : Plot_Plane; Visible : Boolean);
function Plane_Visible
(Plot : access Gtk_Plot_3D_Record; Plane : Plot_Plane) return Boolean;
procedure Corner_Get_Attributes
(Plot : access Gtk_Plot_3D_Record;
Style : out Gtk.Extra.Plot_Data.Plot_Line_Style;
Width : out Gfloat;
Color : out Gdk.Color.Gdk_Color);
procedure Corner_Set_Attributes
(Plot : access Gtk_Plot_3D_Record;
Style : Gtk.Extra.Plot_Data.Plot_Line_Style;
Width : Gfloat;
Color : Gdk.Color.Gdk_Color);
procedure Corner_Set_Visible
(Plot : access Gtk_Plot_3D_Record; Visible : Boolean);
function Corner_Visible (Plot : access Gtk_Plot_3D_Record) return Boolean;
procedure Frame_Get_Attributes
(Plot : access Gtk_Plot_3D_Record;
Style : out Gtk.Extra.Plot_Data.Plot_Line_Style;
Width : out Gfloat;
Color : out Gdk.Color.Gdk_Color);
procedure Frame_Set_Attributes
(Plot : access Gtk_Plot_3D_Record;
Style : Gtk.Extra.Plot_Data.Plot_Line_Style;
Width : Gfloat;
Color : Gdk.Color.Gdk_Color);
procedure Get_Pixel
(Plot : access Gtk_Plot_3D_Record;
X, Y, Z : Gdouble;
Px, Py, Pz : out Gdouble);
function Get_Titles_Offset (Plot : access Gtk_Plot_3D_Record) return Gint;
procedure Set_Titles_Offset
(Plot : access Gtk_Plot_3D_Record; Offset : Gint);
private
type Gtk_Plot_3D_Record is new Gtk.Extra.Plot.Gtk_Plot_Record
with null record;
pragma Import (C, Get_Type, "gtk_plot3d_get_type");
end Gtk.Extra.Plot_3D;