## Documentation

Table of Contents
Class Inheritance Tree
Widget Screenshots
Package groups

1.     -----------------------------------------------------------------------

2.     --              GtkAda - Ada95 binding for Gtk+/Gnome                --

3.     --                                                                   --

4.     --                     Copyright (C) 2001-2006                       --

5.     --                         AdaCore                                   --

6.     --                                                                   --

7.     -- This library is free software; you can redistribute it and/or     --

8.     -- modify it under the terms of the GNU General Public               --

9.     -- License as published by the Free Software Foundation; either      --

10.     -- version 2 of the License, or (at your option) any later version.  --

11.     --                                                                   --

12.     -- This library is distributed in the hope that it will be useful,   --

13.     -- but WITHOUT ANY WARRANTY; without even the implied warranty of    --

14.     -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU --

15.     -- General Public License for more details.                          --

16.     --                                                                   --

17.     -- You should have received a copy of the GNU General Public         --

18.     -- License along with this library; if not, write to the             --

19.     -- Free Software Foundation, Inc., 59 Temple Place - Suite 330,      --

20.     -- Boston, MA 02111-1307, USA.                                       --

21.     --                                                                   --

22.     -- As a special exception, if other files instantiate generics from  --

23.     -- this unit, or you link this unit with other files to produce an   --

24.     -- executable, this  unit  does not  by itself cause  the resulting  --

25.     -- executable to be covered by the GNU General Public License. This  --

26.     -- exception does not however invalidate any other reasons why the   --

27.     -- executable file  might be covered by the  GNU Public License.     --

28.     -----------------------------------------------------------------------

30.     --  <description>

31.     --  A special kind of data set that stores three-dimensional data.

32.     --  </description>

33.     --  <c_version>gtkextra 2.1.1</c_version>

34.     --  <group>Plotting Data</group>

36.     with Gdk.ColorTo API docTo specTo body;

37.     with GtkTo API docTo spec;

38.     with Gtk.Extra.Plot_DataTo API docTo specTo body;    use Gtk.Extra.Plot_DataTo API docTo specTo body;

39.     with Gtk.Extra.PlotTo API docTo specTo body;

41.     package Gtk.Extra.Plot_SurfaceTo API docTo specTo body is

43.        type Gtk_Plot_Surface_RecordTo API docTo body is new Gtk.Extra.Plot_Data.Gtk_Plot_Data_RecordTo API docTo specTo body

44.          with private;

45.        type Gtk_Plot_Surface is access all Gtk_Plot_Surface_RecordTo API docTo specTo body'Class;

47.        type Gtk_Plot_Polygon is new Gdk.C_ProxyTo API docTo spec;

49.        procedure Gtk_NewTo API docTo body

50.          (Widget : out Gtk_Plot_SurfaceTo API docTo spec;

51.           Func   : Gtk.Extra.Plot.Plot3D_FunctionTo API docTo spec := null);

52.        --  Create a new surface.

53.        --  If Func is null, you have to explicitely specify the set of points

54.        --  found in the data set. Otherwise, the points will be generated

55.        --  automatically from Func.

57.        procedure InitializeTo API docTo body

58.          (Widget : access Gtk_Plot_Surface_RecordTo API docTo specTo body'Class;

59.           Func   : Gtk.Extra.Plot.Plot3D_FunctionTo API docTo spec := null);

60.        --  Internal initialization function.

61.        --  See the section "Creating your own widgets" in the documentation.

63.        function Get_TypeTo API docTo body return Gtk.Gtk_TypeTo API docTo spec;

64.        --  Return the internal value associated with this widget.

66.        function Get_Grid_VisibleTo API docTo body

67.          (Data : access Gtk_Plot_Surface_RecordTo API docTo specTo body) return Boolean;

68.        --  Return True if the grid is currently visible for this data set.

70.        procedure Set_Grid_VisibleTo API docTo body

71.          (Data : access Gtk_Plot_Surface_RecordTo API docTo specTo body; Visible : Boolean);

72.        --  Choose whether the grid should be visible

74.        function Get_Mesh_VisibleTo API docTo body

75.          (Data : access Gtk_Plot_Surface_RecordTo API docTo specTo body) return Boolean;

76.        --  Return True if the wireframe mesh should be drawn.

78.        procedure Set_Mesh_VisibleTo API docTo body

79.          (Data    : access Gtk_Plot_Surface_RecordTo API docTo specTo body; Visible : Boolean);

80.        --  Indicate whether the wireframe mesh should be visible.

82.        function Get_NxTo API docTo body (Data : access Gtk_Plot_Surface_RecordTo API docTo specTo body) return GintTo API docTo spec;

83.        function Get_NyTo API docTo body (Data : access Gtk_Plot_Surface_RecordTo API docTo specTo body) return GintTo API docTo spec;

84.        --  Return the number of points along each coordinate, when drawing a

85.        --  data set based on a function.

87.        procedure Set_NxTo API docTo body (Data : access Gtk_Plot_Surface_RecordTo API docTo specTo body; Nx : GintTo API docTo spec);

88.        procedure Set_NyTo API docTo body (Data : access Gtk_Plot_Surface_RecordTo API docTo specTo body; Ny : GintTo API docTo spec);

89.        --  Set the number of points along each coordinate

91.        procedure Set_PointsTo API docTo body

92.          (Data : access Gtk_Plot_Surface_RecordTo API docTo specTo body;

93.           X    : Gdouble_Array_AccessTo API docTo spec;

94.           Y    : Gdouble_Array_AccessTo API docTo spec;

95.           Z    : Gdouble_Array_AccessTo API docTo spec;

96.           Dx   : Gdouble_Array_AccessTo API docTo spec;

97.           Dy   : Gdouble_Array_AccessTo API docTo spec;

98.           Dz   : Gdouble_Array_AccessTo API docTo spec);

99.        --  Set all the values of the data set at once.

101.        procedure Get_PointsTo API docTo body

102.          (Data : access Gtk_Plot_Surface_RecordTo API docTo specTo body;

103.           XTo API docTo body    : out Points_ArrayTo API docTo spec;

104.           YTo API docTo body    : out Points_ArrayTo API docTo spec;

105.           ZTo API docTo body    : out Points_ArrayTo API docTo spec;

106.           DxTo API docTo body   : out Points_ArrayTo API docTo spec;

107.           DyTo API docTo body   : out Points_ArrayTo API docTo spec;

108.           DzTo API docTo body   : out Points_ArrayTo API docTo spec);

109.        --  Return the values contained in the data set.

111.        function Get_XTo API docTo body (Data : access Gtk_Plot_Surface_RecordTo API docTo specTo body) return Points_ArrayTo API docTo spec;

112.        function Get_YTo API docTo body (Data : access Gtk_Plot_Surface_RecordTo API docTo specTo body) return Points_ArrayTo API docTo spec;

113.        function Get_ZTo API docTo body (Data : access Gtk_Plot_Surface_RecordTo API docTo specTo body) return Points_ArrayTo API docTo spec;

114.        --  Return the values contained in the data set.

116.        function Get_XstepTo API docTo body (Data : access Gtk_Plot_Surface_RecordTo API docTo specTo body) return GdoubleTo API docTo spec;

117.        function Get_YstepTo API docTo body (Data : access Gtk_Plot_Surface_RecordTo API docTo specTo body) return GdoubleTo API docTo spec;

118.        --  Return the step between two points along one of the axis

120.        procedure Set_XstepTo API docTo body (Data : access Gtk_Plot_Surface_RecordTo API docTo specTo body; Step : GdoubleTo API docTo spec);

121.        procedure Set_YstepTo API docTo body (Data : access Gtk_Plot_Surface_RecordTo API docTo specTo body; Step : GdoubleTo API docTo spec);

122.        --  Set the step between two points along one of the axis

124.        procedure Set_ColorTo API docTo body

125.          (Data  : access Gtk_Plot_Surface_RecordTo API docTo specTo body; ColorTo API docTo body : Gdk.Color.Gdk_ColorTo API docTo specTo body);

126.        --  Set the color to use for the surface

128.        procedure Set_ShadowTo API docTo body

129.          (Data  : access Gtk_Plot_Surface_RecordTo API docTo specTo body; ColorTo API docTo body : Gdk.Color.Gdk_ColorTo API docTo specTo body);

130.        --  Set the color to use for the shadows.

132.        procedure Set_Grid_ForegroundTo API docTo body

133.          (Data       : access Gtk_Plot_Surface_RecordTo API docTo specTo body;

134.           ForegroundTo API docTo body : Gdk.Color.Gdk_ColorTo API docTo specTo body);

135.        --  Set the foreground color to use for the grid

137.        procedure Set_Grid_BackgroundTo API docTo body

138.          (Data       : access Gtk_Plot_Surface_RecordTo API docTo specTo body;

139.           BackgroundTo API docTo body : Gdk.Color.Gdk_ColorTo API docTo specTo body);

140.        --  Set the background color to use for the grid

142.        procedure Set_TransparentTo API docTo body

143.          (Data : access Gtk_Plot_Surface_RecordTo API docTo specTo body; Transparent : Boolean);

144.        --  Whether the plot is transparent. If Transparent is true, all background

145.        --  attributes are ignored

147.        procedure Build_MeshTo API docTo body (Data : access Gtk_Plot_Surface_RecordTo API docTo specTo body);

148.        --  ???

150.        procedure Recalc_NodesTo API docTo body (Data : access Gtk_Plot_Surface_RecordTo API docTo specTo body);

151.        --  ???

153.        ---------------------

154.        -- Lightning model --

155.        ---------------------

157.        procedure Set_AmbientTo API docTo body

158.          (Data : access Gtk_Plot_Surface_RecordTo API docTo specTo body; Ambient : GdoubleTo API docTo spec);

159.        --  Set the ambient

161.        procedure Set_LightTo API docTo body

162.          (Data : access Gtk_Plot_Surface_RecordTo API docTo specTo body; X, Y, Z : GdoubleTo API docTo spec);

163.        --  Set the orientation of the light vector

165.        procedure Use_Height_GradientTo API docTo body

166.          (Data : access Gtk_Plot_Surface_RecordTo API docTo specTo body; Use_Gradient : Boolean);

167.        --  ???

169.        procedure Use_AmplitudTo API docTo body

170.          (Data : access Gtk_Plot_Surface_RecordTo API docTo specTo body; Amplitud : Boolean);

172.        -------------

173.        -- Signals --

174.        -------------

176.        --  <signals>

177.        --  The following new signals are defined for this widget:

178.        --  </signals>

180.     private

181.        type Gtk_Plot_Surface_RecordTo API docTo spec is new Gtk.Extra.Plot_Data.Gtk_Plot_Data_RecordTo API docTo specTo body

182.          with null record;

183.        pragma Import (C, Get_TypeTo API docTo spec, "gtk_plot_surface_get_type");

185.        --  Not bound, since these duplicates exactly functions from

186.        --  Gtk.Extra.Plot_Data:

187.        --     gtk_plot_surface_set_x

188.        --     gtk_plot_surface_set_y

189.        --     gtk_plot_surface_set_z

190.        --     gtk_plot_surface_set_dx

191.        --     gtk_plot_surface_set_dy

192.        --     gtk_plot_surface_set_dz

193.        --     gtk_plot_surface_get_dx

194.        --     gtk_plot_surface_get_dy

195.        --     gtk_plot_surface_get_dz

196.        --  </doc_ignore>

198.     end Gtk.Extra.Plot_SurfaceTo API docTo specTo body;